mirror of
https://github.com/bolkedebruin/rdpgw.git
synced 2026-03-27 22:46:37 +00:00
Add more docs
This commit is contained in:
155
README.md
155
README.md
@@ -67,26 +67,137 @@ is a security risk.
|
||||
|
||||
### Mixing authentication mechanisms
|
||||
|
||||
RDPGW allows you to mix authentication mechanisms in case functionally possible. PAM and Kerberos can be used
|
||||
together, but OpenID Connect can only be used by itself.
|
||||
It is technically possible to mix authentication mechanisms. Currently, you can mix local and Kerberos. If you enable
|
||||
OpenID Connect it is not possible to mix it with local or Kerberos at the moment.
|
||||
|
||||
## How to build & install
|
||||
### Open ID Connect
|
||||

|
||||
|
||||
__NOTE__: a docker image is available on docker hub, which removes the need for building and installing go.
|
||||
To use OpenID Connect make sure you have properly configured your OpenID Connect provider, and you have a client id
|
||||
and secret. The client id and secret are used to authenticate the gateway to the OpenID Connect provider. The provider
|
||||
will then authenticate the user and provide the gateway with a token. The gateway will then use this token to generate
|
||||
a PAA token that is used to connect to the RDP host.
|
||||
|
||||
Ensure that you have `make` (comes with standard build tools, like `build-essential` on Debian), `go` (version 1.19 or above), and development files for PAM (`libpam0g-dev` on Debian) installed.
|
||||
To enable OpenID Connect make sure to set the following variables in the configuration file.
|
||||
|
||||
Then clone the repo and issues the following.
|
||||
|
||||
```bash
|
||||
cd rdpgw
|
||||
make
|
||||
make install
|
||||
```yaml
|
||||
Server:
|
||||
Authentication:
|
||||
- openid
|
||||
OpenId:
|
||||
ProviderUrl: http://<provider_url>
|
||||
ClientId: <your client id>
|
||||
ClientSecret: <your-secret>
|
||||
Caps:
|
||||
TokenAuth: true
|
||||
```
|
||||
|
||||
As you can see in the flow diagram when using OpenID Connect the user will use a browser to connect to the gateway first at
|
||||
https://your-gateway/connect. If authentication is successful the browser will download a RDP file with temporary credentials
|
||||
that allow the user to connect to the gateway by using a remote desktop client.
|
||||
|
||||
### Kerberos
|
||||

|
||||
|
||||
__NOTE__: Kerberos is heavily reliant on DNS (forward and reverse). Make sure that your DNS is properly configured.
|
||||
Next to that, its errors are not always very descriptive. It is beyond the scope of this project to provide a full
|
||||
Kerberos tutorial.
|
||||
|
||||
To use Kerberos make sure you have a keytab and krb5.conf file. The keytab is used to authenticate the gateway to the KDC
|
||||
and the krb5.conf file is used to configure the KDC. The keytab needs to contain a valid principal for the gateway.
|
||||
|
||||
Use `ktutil` or a similar tool provided by your Kerberos server to create a keytab file for the newly created service principal.
|
||||
Place this keytab file in a secure location on the server and make sure that the file is only readable by the user that runs
|
||||
the gateway.
|
||||
|
||||
```plaintext
|
||||
ktutil
|
||||
addent -password -p HTTP/rdpgw.example.com@YOUR.REALM -k 1 -e aes256-cts-hmac-sha1-96
|
||||
wkt rdpgw.keytab
|
||||
```
|
||||
|
||||
Then set the following in the configuration file.
|
||||
|
||||
```yaml
|
||||
Server:
|
||||
Authentication:
|
||||
- kerberos
|
||||
Kerberos:
|
||||
Keytab: /etc/keytabs/rdpgw.keytab
|
||||
Krb5conf: /etc/krb5.conf
|
||||
Caps:
|
||||
TokenAuth: false
|
||||
```
|
||||
|
||||
The client can then connect directly to the gateway without the need for a RDP file.
|
||||
|
||||
|
||||
### PAM / Local / Basic Auth
|
||||

|
||||
|
||||
The gateway can also support authentication against PAM. Sometimes this is referred to as local or passwd authentication,
|
||||
but it also supports LDAP authentication or even Active Directory if you have the correct modules installed. Typically
|
||||
(for passwd), PAM requires that it is accessed as root. Therefore, the gateway comes with a small helper program called
|
||||
`rdpgw-auth` that is used to authenticate the user. This program needs to be run as root or setuid.
|
||||
|
||||
__NOTE__: Using PAM for passwd (i.e. LDAP is fine) within a container is not recommended. It is better to use OpenID
|
||||
Connect or Kerberos. If you do want to use it within a container you can choose to run the helper program outside the
|
||||
container and have the socket available within. Alternatively, you can mount all what is needed into the container but
|
||||
PAM is quite sensitive to the environment.
|
||||
|
||||
Ensure you have a PAM service file for the gateway, `/etc/pam.d/rdpgw`. For authentication against local accounts on the
|
||||
host located in `/etc/passwd` and `/etc/shadow` you can use the following.
|
||||
|
||||
```plaintext
|
||||
auth required pam_unix.so
|
||||
account required pam_unix.so
|
||||
```
|
||||
|
||||
Then set the following in the configuration file.
|
||||
|
||||
```yaml
|
||||
Server:
|
||||
Authentication:
|
||||
- local
|
||||
AuthSocket: /tmp/rdpgw-auth.sock
|
||||
Caps:
|
||||
TokenAuth: false
|
||||
```
|
||||
|
||||
Make sure to run both the gateway and `rdpgw-auth`. The gateway will connect to the socket to authenticate the user.
|
||||
|
||||
```bash
|
||||
# ./rdpgw-auth -n rdpgw -s /tmp/rdpgw-auth.sock
|
||||
```
|
||||
|
||||
The client can then connect to the gateway directly by using a remote desktop client.
|
||||
|
||||
## Configuration
|
||||
By default the configuration is read from `rdpgw.yaml`. Below is a
|
||||
template.
|
||||
|
||||
By default the configuration is read from `rdpgw.yaml`. At the bottom of this README is an example configuration file.
|
||||
|
||||
### TLS
|
||||
|
||||
The gateway requires a valid TLS certificate. This means a certificate that is signed by a valid CA that is in the store
|
||||
of your clients. If this is not the case particularly Windows clients will fail to connect. You can either provide a
|
||||
certificate and key file or let the gateway obtain a certificate from letsencrypt. If you want to use letsencrypt make
|
||||
sure that the host is reachable on port 80 from the letsencrypt servers.
|
||||
|
||||
For letsencrypt:
|
||||
|
||||
```yaml
|
||||
Tls: auto
|
||||
```
|
||||
|
||||
for your own certificate:
|
||||
```yaml
|
||||
Tls: enable
|
||||
CertFile: server.pem
|
||||
KeyFile: key.pem
|
||||
```
|
||||
|
||||
__NOTE__: You can disable TLS on the gateway, but you will then need to make sure a proxy is run in front of it that does
|
||||
TLS termination.
|
||||
|
||||
```yaml
|
||||
# web server configuration.
|
||||
@@ -189,6 +300,21 @@ Security:
|
||||
# connection is opened.
|
||||
VerifyClientIp: true
|
||||
```
|
||||
|
||||
## How to build & install
|
||||
|
||||
__NOTE__: a docker image is available on docker hub, which removes the need for building and installing go.
|
||||
|
||||
Ensure that you have `make` (comes with standard build tools, like `build-essential` on Debian), `go` (version 1.19 or above), and development files for PAM (`libpam0g-dev` on Debian) installed.
|
||||
|
||||
Then clone the repo and issues the following.
|
||||
|
||||
```bash
|
||||
cd rdpgw
|
||||
make
|
||||
make install
|
||||
```
|
||||
|
||||
## Testing locally
|
||||
A convenience docker-compose allows you to test the RDPGW locally. It uses [Keycloak](http://www.keycloak.org)
|
||||
and [xrdp](http://www.xrdp.org) and exposes it services on port 443. You will need to allow your browser
|
||||
@@ -216,9 +342,6 @@ It will return 200 OK with the decrypted token.
|
||||
In this way you can integrate, for example, it with [pam-jwt](https://github.com/bolkedebruin/pam-jwt).
|
||||
|
||||
## TODO
|
||||
* Integrate Open Policy Agent
|
||||
* Integrate uber-go/zap
|
||||
* Research: TLS defragmentation
|
||||
* Improve Web Interface
|
||||
|
||||
|
||||
|
||||
271
docs/images/flow-auth.svg
Normal file
271
docs/images/flow-auth.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 60 KiB |
232
docs/images/flow-kerberos.svg
Normal file
232
docs/images/flow-kerberos.svg
Normal file
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="500"
|
||||
height="350"
|
||||
version="1.1"
|
||||
id="svg12"
|
||||
sodipodi:docname="flow-kerberos.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs12"><rect
|
||||
x="170.78426"
|
||||
y="222.01954"
|
||||
width="83.594403"
|
||||
height="14.381833"
|
||||
id="rect25" /><rect
|
||||
x="151.90811"
|
||||
y="181.57064"
|
||||
width="73.706893"
|
||||
height="19.77502"
|
||||
id="rect24" /><rect
|
||||
x="161.79562"
|
||||
y="151.00924"
|
||||
width="124.94217"
|
||||
height="19.77502"
|
||||
id="rect23" /><rect
|
||||
x="62.920519"
|
||||
y="159.99789"
|
||||
width="170.78426"
|
||||
height="27.864801"
|
||||
id="rect22" /><rect
|
||||
x="154.6047"
|
||||
y="70.111435"
|
||||
width="114.1558"
|
||||
height="14.381833"
|
||||
id="rect20" /><rect
|
||||
x="133.93082"
|
||||
y="257.97412"
|
||||
width="213.0309"
|
||||
height="26.067072"
|
||||
id="rect18" /><rect
|
||||
x="346.96173"
|
||||
y="155.50357"
|
||||
width="102.47056"
|
||||
height="28.763666"
|
||||
id="rect17" /><rect
|
||||
x="200.44679"
|
||||
y="197.7502"
|
||||
width="212.13203"
|
||||
height="20.673885"
|
||||
id="rect16" /><rect
|
||||
x="81.796677"
|
||||
y="164.4922"
|
||||
width="157.3013"
|
||||
height="16.179562"
|
||||
id="rect15" /><rect
|
||||
x="200.44679"
|
||||
y="108.76261"
|
||||
width="95.27964"
|
||||
height="19.775021"
|
||||
id="rect14" /><rect
|
||||
x="200.44679"
|
||||
y="197.7502"
|
||||
width="212.13203"
|
||||
height="20.673885"
|
||||
id="rect16-2" /><rect
|
||||
x="81.796677"
|
||||
y="164.4922"
|
||||
width="157.3013"
|
||||
height="16.179562"
|
||||
id="rect15-6" /></defs><sodipodi:namedview
|
||||
id="namedview12"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.1125147"
|
||||
inkscape:cx="521.34144"
|
||||
inkscape:cy="165.84051"
|
||||
inkscape:window-width="2400"
|
||||
inkscape:window-height="1274"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg12" /><!-- Rectangles --><!-- Text --><text
|
||||
x="61.016945"
|
||||
y="43.05085"
|
||||
font-family="Arial"
|
||||
font-size="16px"
|
||||
fill="#000000"
|
||||
id="text5"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan20"
|
||||
x="61.016945"
|
||||
y="43.05085">Kerberos</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="61.016945"
|
||||
y="63.05085"
|
||||
id="tspan22" /></text><!-- Lines --><line
|
||||
x1="134.4955"
|
||||
y1="87.286629"
|
||||
x2="288.42737"
|
||||
y2="87.286629"
|
||||
stroke="#000000"
|
||||
stroke-width="2.48139"
|
||||
id="line9" /><line
|
||||
x1="132.88857"
|
||||
y1="146.08278"
|
||||
x2="286.8204"
|
||||
y2="146.08278"
|
||||
stroke="#000000"
|
||||
stroke-width="2.48139"
|
||||
id="line9-49" /><line
|
||||
x1="132.17955"
|
||||
y1="216.35213"
|
||||
x2="286.11139"
|
||||
y2="216.35213"
|
||||
stroke="#000000"
|
||||
stroke-width="2.48139"
|
||||
id="line9-49-5" /><line
|
||||
x1="134.74902"
|
||||
y1="144.4328"
|
||||
x2="287.49759"
|
||||
y2="98.587257"
|
||||
stroke="#000000"
|
||||
stroke-width="2.37506"
|
||||
id="line9-4" /><line
|
||||
x1="134.23099"
|
||||
y1="215.71254"
|
||||
x2="286.97955"
|
||||
y2="169.86702"
|
||||
stroke="#000000"
|
||||
stroke-width="2.37506"
|
||||
id="line9-4-7" /><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g12"
|
||||
transform="matrix(0.06600417,0,0,0.05178799,19.223463,60.951852)"><path
|
||||
d="M 843.28296,870.11556 C 834.84444,729.6 738.98667,612.69333 609.37481,572.96593 687.88148,536.27259 742.4,456.53333 742.4,364.08889 c 0,-127.24148 -103.15852,-230.4 -230.4,-230.4 -127.24148,0 -230.4,103.15852 -230.4,230.4 0,92.44444 54.51852,172.1837 133.12,208.87704 C 285.10815,612.69333 189.25037,729.6 180.81185,870.11556 c -0.6637,10.9037 7.96445,20.19555 18.96297,20.19555 v 0 c 9.95555,0 18.29925,-7.77481 18.96296,-17.73037 C 227.74518,718.50667 355.65037,596.38518 512,596.38518 c 156.34963,0 284.25481,122.12149 293.35704,276.19556 0.56889,9.95556 8.91259,17.73037 18.96296,17.73037 10.99852,0 19.62667,-9.29185 18.96296,-20.19555 z M 319.52593,364.08889 c 0,-106.28741 86.18666,-192.47408 192.47407,-192.47408 106.28741,0 192.47407,86.18667 192.47407,192.47408 0,106.28741 -86.18666,192.47407 -192.47407,192.47407 -106.28741,0 -192.47407,-86.18666 -192.47407,-192.47407 z"
|
||||
id="path1" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g14"
|
||||
transform="matrix(0.04275091,0,0,0.04222869,292.71414,66.391967)"><path
|
||||
d="M 665.6,509.952 H 347.648 c -12.8,0 -21.504,8.704 -21.504,21.504 v 204.8 c 0,12.8 8.704,21.504 21.504,21.504 h 315.904 c 12.8,0 21.504,-8.704 21.504,-21.504 v -204.8 c 2.048,-12.8 -8.704,-21.504 -19.456,-21.504 z M 533.504,661.504 c 0,0 0,2.048 0,0 0,12.8 -8.704,23.552 -21.504,23.552 -12.8,0 -21.504,-8.704 -21.504,-21.504 v -2.048 c -12.8,-6.144 -21.504,-21.504 -21.504,-36.352 0,-23.552 19.456,-42.496 42.496,-42.496 23.04,0 42.496,19.456 42.496,42.496 0.512,14.848 -7.68,29.696 -20.48,36.352 z"
|
||||
fill="#ff6a00"
|
||||
id="path1-3" /><path
|
||||
d="M 981.504,492.544 C 970.752,243.2 763.904,44.544 512,44.544 c -251.904,0 -458.752,198.656 -469.504,448 v 31.744 C 48.64,778.24 256,983.04 512,983.04 c 256,0 462.848,-204.8 469.504,-458.752 z M 810.496,272.896 c -42.496,34.304 -91.648,51.2 -130.048,61.952 -23.552,-87.552 -64,-159.744 -108.544,-198.144 95.744,14.848 179.2,64 238.592,136.192 z M 452.096,136.704 C 409.6,175.104 369.152,247.296 345.6,332.8 307.2,322.048 260.096,305.152 217.6,270.848 275.456,198.656 358.4,151.552 452.096,136.704 Z M 825.344,733.696 C 808.448,718.848 786.944,706.048 765.44,693.248 735.744,678.4 720.384,708.096 748.544,720.896 768,729.6 786.944,742.4 805.888,757.248 743.936,832 656.384,881.152 556.032,891.904 c 21.504,-14.848 45.056,-40.448 64,-72.704 6.656,-16.896 -21.504,-27.648 -36.352,-2.048 -25.6,36.352 -51.2,57.344 -74.752,57.344 -21.504,0 -49.152,-21.504 -72.704,-55.296 -21.504,-31.744 -42.496,-14.848 -38.4,0 19.456,29.696 40.448,53.248 61.952,70.656 -98.304,-8.704 -183.296,-57.344 -243.2,-130.048 19.456,-14.848 38.4,-27.648 57.344,-36.352 27.648,-14.848 10.752,-42.496 -16.896,-27.648 -19.456,10.752 -40.448,23.552 -59.904,38.4 C 154.624,674.304 131.072,602.112 129.024,525.312 H 261.12 c 8.704,0 16.896,-6.656 16.896,-16.896 0,-10.24 -6.144,-16.896 -16.896,-16.896 H 130.048 c 4.096,-72.704 27.648,-140.8 68.096,-198.144 38.4,34.304 91.648,55.296 138.752,68.096 -4.096,21.504 -8.704,42.496 -10.752,66.048 0,19.456 32.256,19.456 32.256,0 16.896,-149.504 96.256,-283.648 153.6,-283.648 57.344,0 136.704,136.704 155.648,288.256 2.048,19.456 34.304,16.896 31.744,0 -2.048,-21.504 -6.656,-42.496 -10.752,-64 49.152,-12.8 102.4,-34.304 140.8,-68.096 38.4,55.296 61.952,123.904 66.048,194.048 H 763.392 c -8.704,0 -16.896,6.144 -16.896,16.896 0,10.752 6.144,16.896 16.896,16.896 H 896 c -2.048,75.776 -27.648,146.432 -70.656,205.824 z"
|
||||
fill="#ff6a00"
|
||||
id="path2-2" /><path
|
||||
d="m 512,317.952 c -59.904,0 -106.496,47.104 -106.496,106.496 v 31.744 H 448 v -31.744 c 0,-34.304 27.648,-64 64,-64 36.352,0 64,27.648 64,64 v 149.504 h 42.496 V 424.448 C 618.496,364.544 571.904,317.952 512,317.952 Z"
|
||||
fill="#ff6a00"
|
||||
id="path3-6" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g14-8"
|
||||
transform="matrix(0.04275091,0,0,0.04222869,291.65593,116.90534)"><path
|
||||
d="M 665.6,509.952 H 347.648 c -12.8,0 -21.504,8.704 -21.504,21.504 v 204.8 c 0,12.8 8.704,21.504 21.504,21.504 h 315.904 c 12.8,0 21.504,-8.704 21.504,-21.504 v -204.8 c 2.048,-12.8 -8.704,-21.504 -19.456,-21.504 z M 533.504,661.504 c 0,0 0,2.048 0,0 0,12.8 -8.704,23.552 -21.504,23.552 -12.8,0 -21.504,-8.704 -21.504,-21.504 v -2.048 c -12.8,-6.144 -21.504,-21.504 -21.504,-36.352 0,-23.552 19.456,-42.496 42.496,-42.496 23.04,0 42.496,19.456 42.496,42.496 0.512,14.848 -7.68,29.696 -20.48,36.352 z"
|
||||
fill="#ff6a00"
|
||||
id="path1-3-7" /><path
|
||||
d="M 981.504,492.544 C 970.752,243.2 763.904,44.544 512,44.544 c -251.904,0 -458.752,198.656 -469.504,448 v 31.744 C 48.64,778.24 256,983.04 512,983.04 c 256,0 462.848,-204.8 469.504,-458.752 z M 810.496,272.896 c -42.496,34.304 -91.648,51.2 -130.048,61.952 -23.552,-87.552 -64,-159.744 -108.544,-198.144 95.744,14.848 179.2,64 238.592,136.192 z M 452.096,136.704 C 409.6,175.104 369.152,247.296 345.6,332.8 307.2,322.048 260.096,305.152 217.6,270.848 275.456,198.656 358.4,151.552 452.096,136.704 Z M 825.344,733.696 C 808.448,718.848 786.944,706.048 765.44,693.248 735.744,678.4 720.384,708.096 748.544,720.896 768,729.6 786.944,742.4 805.888,757.248 743.936,832 656.384,881.152 556.032,891.904 c 21.504,-14.848 45.056,-40.448 64,-72.704 6.656,-16.896 -21.504,-27.648 -36.352,-2.048 -25.6,36.352 -51.2,57.344 -74.752,57.344 -21.504,0 -49.152,-21.504 -72.704,-55.296 -21.504,-31.744 -42.496,-14.848 -38.4,0 19.456,29.696 40.448,53.248 61.952,70.656 -98.304,-8.704 -183.296,-57.344 -243.2,-130.048 19.456,-14.848 38.4,-27.648 57.344,-36.352 27.648,-14.848 10.752,-42.496 -16.896,-27.648 -19.456,10.752 -40.448,23.552 -59.904,38.4 C 154.624,674.304 131.072,602.112 129.024,525.312 H 261.12 c 8.704,0 16.896,-6.656 16.896,-16.896 0,-10.24 -6.144,-16.896 -16.896,-16.896 H 130.048 c 4.096,-72.704 27.648,-140.8 68.096,-198.144 38.4,34.304 91.648,55.296 138.752,68.096 -4.096,21.504 -8.704,42.496 -10.752,66.048 0,19.456 32.256,19.456 32.256,0 16.896,-149.504 96.256,-283.648 153.6,-283.648 57.344,0 136.704,136.704 155.648,288.256 2.048,19.456 34.304,16.896 31.744,0 -2.048,-21.504 -6.656,-42.496 -10.752,-64 49.152,-12.8 102.4,-34.304 140.8,-68.096 38.4,55.296 61.952,123.904 66.048,194.048 H 763.392 c -8.704,0 -16.896,6.144 -16.896,16.896 0,10.752 6.144,16.896 16.896,16.896 H 896 c -2.048,75.776 -27.648,146.432 -70.656,205.824 z"
|
||||
fill="#ff6a00"
|
||||
id="path2-2-5" /><path
|
||||
d="m 512,317.952 c -59.904,0 -106.496,47.104 -106.496,106.496 v 31.744 H 448 v -31.744 c 0,-34.304 27.648,-64 64,-64 36.352,0 64,27.648 64,64 v 149.504 h 42.496 V 424.448 C 618.496,364.544 571.904,317.952 512,317.952 Z"
|
||||
fill="#ff6a00"
|
||||
id="path3-6-9" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g14-0-7"
|
||||
transform="matrix(0.04275091,0,0,0.04222869,290.08317,192.55758)"><path
|
||||
d="M 665.6,509.952 H 347.648 c -12.8,0 -21.504,8.704 -21.504,21.504 v 204.8 c 0,12.8 8.704,21.504 21.504,21.504 h 315.904 c 12.8,0 21.504,-8.704 21.504,-21.504 v -204.8 c 2.048,-12.8 -8.704,-21.504 -19.456,-21.504 z M 533.504,661.504 c 0,0 0,2.048 0,0 0,12.8 -8.704,23.552 -21.504,23.552 -12.8,0 -21.504,-8.704 -21.504,-21.504 v -2.048 c -12.8,-6.144 -21.504,-21.504 -21.504,-36.352 0,-23.552 19.456,-42.496 42.496,-42.496 23.04,0 42.496,19.456 42.496,42.496 0.512,14.848 -7.68,29.696 -20.48,36.352 z"
|
||||
fill="#ff6a00"
|
||||
id="path1-3-0-1" /><path
|
||||
d="M 981.504,492.544 C 970.752,243.2 763.904,44.544 512,44.544 c -251.904,0 -458.752,198.656 -469.504,448 v 31.744 C 48.64,778.24 256,983.04 512,983.04 c 256,0 462.848,-204.8 469.504,-458.752 z M 810.496,272.896 c -42.496,34.304 -91.648,51.2 -130.048,61.952 -23.552,-87.552 -64,-159.744 -108.544,-198.144 95.744,14.848 179.2,64 238.592,136.192 z M 452.096,136.704 C 409.6,175.104 369.152,247.296 345.6,332.8 307.2,322.048 260.096,305.152 217.6,270.848 275.456,198.656 358.4,151.552 452.096,136.704 Z M 825.344,733.696 C 808.448,718.848 786.944,706.048 765.44,693.248 735.744,678.4 720.384,708.096 748.544,720.896 768,729.6 786.944,742.4 805.888,757.248 743.936,832 656.384,881.152 556.032,891.904 c 21.504,-14.848 45.056,-40.448 64,-72.704 6.656,-16.896 -21.504,-27.648 -36.352,-2.048 -25.6,36.352 -51.2,57.344 -74.752,57.344 -21.504,0 -49.152,-21.504 -72.704,-55.296 -21.504,-31.744 -42.496,-14.848 -38.4,0 19.456,29.696 40.448,53.248 61.952,70.656 -98.304,-8.704 -183.296,-57.344 -243.2,-130.048 19.456,-14.848 38.4,-27.648 57.344,-36.352 27.648,-14.848 10.752,-42.496 -16.896,-27.648 -19.456,10.752 -40.448,23.552 -59.904,38.4 C 154.624,674.304 131.072,602.112 129.024,525.312 H 261.12 c 8.704,0 16.896,-6.656 16.896,-16.896 0,-10.24 -6.144,-16.896 -16.896,-16.896 H 130.048 c 4.096,-72.704 27.648,-140.8 68.096,-198.144 38.4,34.304 91.648,55.296 138.752,68.096 -4.096,21.504 -8.704,42.496 -10.752,66.048 0,19.456 32.256,19.456 32.256,0 16.896,-149.504 96.256,-283.648 153.6,-283.648 57.344,0 136.704,136.704 155.648,288.256 2.048,19.456 34.304,16.896 31.744,0 -2.048,-21.504 -6.656,-42.496 -10.752,-64 49.152,-12.8 102.4,-34.304 140.8,-68.096 38.4,55.296 61.952,123.904 66.048,194.048 H 763.392 c -8.704,0 -16.896,6.144 -16.896,16.896 0,10.752 6.144,16.896 16.896,16.896 H 896 c -2.048,75.776 -27.648,146.432 -70.656,205.824 z"
|
||||
fill="#ff6a00"
|
||||
id="path2-2-9-5" /><path
|
||||
d="m 512,317.952 c -59.904,0 -106.496,47.104 -106.496,106.496 v 31.744 H 448 v -31.744 c 0,-34.304 27.648,-64 64,-64 36.352,0 64,27.648 64,64 v 149.504 h 42.496 V 424.448 C 618.496,364.544 571.904,317.952 512,317.952 Z"
|
||||
fill="#ff6a00"
|
||||
id="path3-6-5-5" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g18"
|
||||
transform="matrix(0.02516607,0,0,0.02459152,94.079836,77.295599)"><path
|
||||
d="m 128,85.333333 c -46.933333,0 -85.333333,38.399997 -85.333333,85.333337 v 512 A 85.333333,85.333333 0 0 0 128,768 h 298.66667 v 85.33333 h -85.33334 v 85.33334 H 682.66667 V 853.33333 H 597.33333 V 768 H 896 c 46.93333,0 85.33333,-38.4 85.33333,-85.33333 v -512 c 0,-46.93334 -38.4,-85.333336 -85.33333,-85.333337 M 128,170.66667 h 768 v 512 H 128 M 640,213.33333 490.66667,362.66667 640,512 l 59.73333,-59.73333 -89.6,-89.6 89.6,-89.6 M 384,341.33333 l -59.73333,59.73334 89.6,89.6 -89.6,89.6 L 384,640 533.33333,490.66667"
|
||||
id="path1-8" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g19"
|
||||
transform="matrix(0.03266725,0,0,0.03617844,341.02251,197.20412)"><path
|
||||
d="M 0,139.392 409.42933,81.92 409.6,489.13067 0.384,491.52 Z M 409.30133,535.21067 409.6,942.08 0,884.18133 V 532.48 Z M 450.56,81.024 1024,0 V 487.12533 L 450.56,491.52 Z M 1024,533.33333 1023.872,1024 451.37067,944.72533 450.56,532.48 1024,533.376 Z"
|
||||
fill="#0078d7"
|
||||
id="path1-5" /></g><text
|
||||
xml:space="preserve"
|
||||
id="text20"
|
||||
style="white-space:pre;shape-inside:url(#rect20);display:inline;fill:#000000"
|
||||
transform="translate(17.078426,1.7977291)"><tspan
|
||||
x="154.60547"
|
||||
y="81.059292"
|
||||
id="tspan1">Authentication</tspan></text><path
|
||||
id="path5289"
|
||||
style="fill:#000000;stroke-width:0.110144"
|
||||
d="m 327.94236,132.02299 c 0.0606,0.0171 -3.71191,0.11032 -3.45946,5.43921 -1.81339,-0.4647 -4.67039,0.14458 -6.6981,2.42505 -2.05764,2.31413 -5.53002,3.06567 -7.03568,4.20321 0,0 0.82169,1.59402 1.5939,2.02394 0.20057,0.11165 0.4123,0.17508 0.62946,0.20238 l 0.67006,1.21071 0.0736,-1.17458 0.45687,0.8204 0.0634,-1.03363 c 0.0247,-0.009 0.0488,-0.0128 0.0736,-0.0216 l 0.39342,0.70113 0.0532,-0.88184 c 1.07968,-0.47773 2.17818,-1.2374 3.07114,-1.41671 1.59806,-0.32091 2.65787,0.33129 2.25636,4.24291 -3.06578,-2.0673 -5.34393,-1.5927 -7.31738,-0.40477 0,0 -0.50812,1.23953 0.3325,1.76369 3.50763,-1.83664 3.52516,0.94253 6.15491,1.1312 0.0221,-0.0241 0.0443,-0.0479 0.0661,-0.0723 1.97991,-2.22673 4.6186,-2.92005 6.54581,-2.62379 0.0456,-2.42769 0.95349,-3.87017 1.87063,-4.57175 0.75561,-0.56763 1.3864,-0.85491 2.0711,-0.78426 0.15219,0.041 0.2391,0.32129 0.32742,0.5132 0,1e-5 -0.0217,0.0573 -0.0279,0.0759 l 0.0279,0.003 c -0.0387,1.27274 -0.26338,2.51089 -0.27918,3.59232 -0.004,0.23655 0.002,0.4618 0.0178,0.67944 1.11291,-1.67183 2.29902,-3.14124 3.46712,-4.12725 -1.5352,-2.33582 -3.20478,-4.29403 -4.69809,-5.08499 -1.61033,-1.86095 -0.77262,-4.46043 -0.70051,-6.83055 z m 7.47734,4.76338 c 0.0721,2.37025 0.90985,4.96959 -0.70051,6.83054 -1.50705,0.79824 -3.19456,2.78545 -4.74119,5.15006 0.1149,0.47877 0.32471,0.92106 0.68528,1.3481 2.01177,1.11647 4.1666,4.00763 5.9824,7.15229 1.47575,-1.6174 3.49397,-2.45042 6.01534,-1.37701 4.15829,0.92235 3.54345,-3.12836 7.59909,-1.00471 0.84062,-0.52413 0.33503,-1.76369 0.33503,-1.76369 -1.97355,-1.18787 -4.25159,-1.6625 -7.31737,0.40476 -0.40149,-3.91156 0.65833,-4.56018 2.25636,-4.23935 0.89295,0.17931 1.99137,0.93536 3.07113,1.41316 l 0.0534,0.88183 0.39339,-0.70113 c 0.0248,0.009 0.0489,0.0132 0.0736,0.0217 l 0.0634,1.03362 0.45687,-0.81677 0.0736,1.17457 0.67006,-1.21071 c 0.21716,-0.0273 0.42889,-0.0944 0.62946,-0.20601 0.77224,-0.42989 1.5939,-2.02393 1.5939,-2.02393 -1.50566,-1.13745 -4.98052,-1.8854 -7.03815,-4.19953 -2.02773,-2.28049 -4.88223,-2.89336 -6.69553,-2.42861 0.25243,-5.32881 -3.5201,-5.42212 -3.45946,-5.43921 z m -12.94929,2.50812 0.0787,0.51681 c 0,0 -0.78651,0.48492 -1.35538,0.72281 0.0624,0.13017 0.0982,0.28584 0.0965,0.45538 -0.005,0.43746 -0.25624,0.78708 -0.56345,0.78064 -0.30723,-0.006 -0.55277,-0.36487 -0.54824,-0.80232 8.2e-4,-0.0748 0.0111,-0.1485 0.0253,-0.21683 -0.48125,0.0481 -0.94926,0.0542 -0.94926,0.0542 l -0.0787,-0.51681 c 0,0 1.14374,-0.0181 1.69544,-0.18432 0.5517,-0.16625 1.59898,-0.80955 1.59898,-0.80955 z m 7.26154,4.47422 c 0.0606,0.0171 -3.71441,0.11033 -3.46205,5.43921 -1.81339,-0.46469 -4.6678,0.14821 -6.69552,2.42861 -2.05765,2.31413 -5.53251,3.06212 -7.03817,4.19954 0,0 0.82169,1.59401 1.5939,2.02393 0.20058,0.11165 0.41229,0.17869 0.62947,0.206 l 0.67005,1.2107 0.0761,-1.17457 0.45687,0.81677 0.0634,-1.03362 c 0.0247,-0.009 0.0488,-0.0128 0.0736,-0.0216 l 0.39087,0.70112 0.0532,-0.88183 c 1.07967,-0.47773 2.17819,-1.23378 3.07113,-1.41316 1.59806,-0.3209 2.65789,0.33129 2.25637,4.2429 -3.06577,-2.0673 -5.34392,-1.59625 -7.31738,-0.40838 0,0 -0.50558,1.23953 0.33503,1.76369 4.05565,-2.12369 3.4409,1.92706 7.59909,1.00471 6.11014,-2.60131 9.27192,5.99647 8.89356,9.81945 l 8.83772,-4.79229 c 0.69424,-2.21832 -5.33784,-14.94256 -9.78973,-17.30046 -1.61033,-1.86096 -0.7701,-4.46042 -0.69799,-6.83054 z m 11.16043,0.28913 c 0,0 1.04729,0.64692 1.59899,0.81316 0.55171,0.16625 1.69294,0.18433 1.69294,0.18433 l -0.0762,0.51318 c 0,0 -0.46801,-0.006 -0.94925,-0.0542 0.0143,0.0683 0.0221,0.142 0.0229,0.21684 0.004,0.43746 -0.24102,0.79586 -0.54823,0.80231 -0.30722,0.007 -0.55638,-0.34317 -0.56093,-0.78063 -0.002,-0.16954 0.0341,-0.32521 0.0965,-0.45538 -0.56883,-0.23789 -1.35539,-0.72281 -1.35539,-0.72281 l 0.0787,-0.51681 z m -16.63497,6.98236 0.0787,0.5168 c 0,0 -0.784,0.48492 -1.35281,0.72281 0.0624,0.13018 0.0982,0.28584 0.0965,0.45538 -0.005,0.43746 -0.25623,0.78708 -0.56345,0.78063 -0.30722,-0.006 -0.55276,-0.36485 -0.54823,-0.80232 8.2e-4,-0.0748 0.009,-0.14849 0.0228,-0.21684 -0.48124,0.0481 -0.94677,0.0542 -0.94677,0.0542 l -0.0787,-0.5132 c 0,0 1.14373,-0.0181 1.69542,-0.18432 0.55171,-0.16625 1.59649,-0.81315 1.59649,-0.81315 z" /><text
|
||||
xml:space="preserve"
|
||||
id="text22"
|
||||
style="white-space:pre;shape-inside:url(#rect22);fill:#000000"
|
||||
transform="rotate(-14.400077,-58.773649,-265.80494)"><tspan
|
||||
x="62.919922"
|
||||
y="170.94601"
|
||||
id="tspan2">Auth: Negotiate</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text23"
|
||||
style="white-space:pre;shape-inside:url(#rect23);fill:#000000"
|
||||
transform="translate(-1.7977291,-1.7977291)"><tspan
|
||||
x="161.79492"
|
||||
y="161.95773"
|
||||
id="tspan3">Get TGT over proxy</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text24"
|
||||
style="white-space:pre;shape-inside:url(#rect24);fill:#000000"
|
||||
transform="rotate(-15.585876,175.24729,55.905131)"
|
||||
inkscape:transform-center-x="33.257988"
|
||||
inkscape:transform-center-y="3.5954582"><tspan
|
||||
x="151.9082"
|
||||
y="192.51828"
|
||||
id="tspan4">TGT</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text25"
|
||||
style="white-space:pre;shape-inside:url(#rect25);fill:#000000"
|
||||
transform="translate(22.471614,-2.6965937)"><tspan
|
||||
x="170.78516"
|
||||
y="232.9675"
|
||||
id="tspan5">Connect</tspan></text></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
271
docs/images/flow-openid.svg
Normal file
271
docs/images/flow-openid.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 60 KiB |
218
docs/images/flow-pam.svg
Normal file
218
docs/images/flow-pam.svg
Normal file
@@ -0,0 +1,218 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="500"
|
||||
height="250"
|
||||
version="1.1"
|
||||
id="svg12"
|
||||
sodipodi:docname="flow-pam.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs12"><rect
|
||||
x="168.98654"
|
||||
y="172.58199"
|
||||
width="111.4592"
|
||||
height="26.067072"
|
||||
id="rect29" /><rect
|
||||
x="341.56854"
|
||||
y="66.515976"
|
||||
width="62.021652"
|
||||
height="17.078426"
|
||||
id="rect28" /><rect
|
||||
x="376.62424"
|
||||
y="32.359123"
|
||||
width="96.178505"
|
||||
height="19.775021"
|
||||
id="rect27" /><rect
|
||||
x="170.78426"
|
||||
y="222.01955"
|
||||
width="83.594406"
|
||||
height="14.381833"
|
||||
id="rect25" /><rect
|
||||
x="151.90811"
|
||||
y="181.57063"
|
||||
width="73.706894"
|
||||
height="19.775021"
|
||||
id="rect24" /><rect
|
||||
x="161.79562"
|
||||
y="151.00925"
|
||||
width="124.94217"
|
||||
height="19.775021"
|
||||
id="rect23" /><rect
|
||||
x="62.920521"
|
||||
y="159.99789"
|
||||
width="170.78426"
|
||||
height="27.864801"
|
||||
id="rect22" /><rect
|
||||
x="154.60471"
|
||||
y="70.111435"
|
||||
width="114.1558"
|
||||
height="14.381833"
|
||||
id="rect20" /><rect
|
||||
x="133.93082"
|
||||
y="257.97412"
|
||||
width="213.0309"
|
||||
height="26.067072"
|
||||
id="rect18" /><rect
|
||||
x="346.96173"
|
||||
y="155.50357"
|
||||
width="102.47056"
|
||||
height="28.763666"
|
||||
id="rect17" /><rect
|
||||
x="200.44679"
|
||||
y="197.7502"
|
||||
width="212.13203"
|
||||
height="20.673885"
|
||||
id="rect16" /><rect
|
||||
x="81.796677"
|
||||
y="164.4922"
|
||||
width="157.3013"
|
||||
height="16.179562"
|
||||
id="rect15" /><rect
|
||||
x="200.44679"
|
||||
y="108.76261"
|
||||
width="95.27964"
|
||||
height="19.775021"
|
||||
id="rect14" /><rect
|
||||
x="200.44679"
|
||||
y="197.7502"
|
||||
width="212.13203"
|
||||
height="20.673885"
|
||||
id="rect16-2" /><rect
|
||||
x="81.796677"
|
||||
y="164.4922"
|
||||
width="157.3013"
|
||||
height="16.179562"
|
||||
id="rect15-6" /></defs><sodipodi:namedview
|
||||
id="namedview12"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.1125147"
|
||||
inkscape:cx="521.34144"
|
||||
inkscape:cy="165.84051"
|
||||
inkscape:window-width="2400"
|
||||
inkscape:window-height="1274"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg12" /><!-- Rectangles --><!-- Text --><text
|
||||
x="61.016945"
|
||||
y="43.05085"
|
||||
font-family="Arial"
|
||||
font-size="16px"
|
||||
fill="#000000"
|
||||
id="text5"><tspan
|
||||
sodipodi:role="line"
|
||||
x="61.016945"
|
||||
y="43.05085"
|
||||
id="tspan22">PAM(Basic/Local)</tspan></text><!-- Lines --><line
|
||||
x1="134.4955"
|
||||
y1="103.28663"
|
||||
x2="288.42737"
|
||||
y2="103.28663"
|
||||
stroke="#000000"
|
||||
stroke-width="2.48139"
|
||||
id="line9" /><line
|
||||
x1="342.65012"
|
||||
y1="104.55545"
|
||||
x2="403.99893"
|
||||
y2="104.55545"
|
||||
stroke="#000000"
|
||||
stroke-width="1.56651"
|
||||
id="line9-1" /><line
|
||||
x1="132.88857"
|
||||
y1="162.08278"
|
||||
x2="286.8204"
|
||||
y2="162.08278"
|
||||
stroke="#000000"
|
||||
stroke-width="2.48139"
|
||||
id="line9-49" /><line
|
||||
x1="134.74902"
|
||||
y1="160.4328"
|
||||
x2="287.49759"
|
||||
y2="114.58726"
|
||||
stroke="#000000"
|
||||
stroke-width="2.37506"
|
||||
id="line9-4" /><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g12"
|
||||
transform="matrix(0.06600417,0,0,0.05178799,19.223463,76.951852)"><path
|
||||
d="M 843.28296,870.11556 C 834.84444,729.6 738.98667,612.69333 609.37481,572.96593 687.88148,536.27259 742.4,456.53333 742.4,364.08889 c 0,-127.24148 -103.15852,-230.4 -230.4,-230.4 -127.24148,0 -230.4,103.15852 -230.4,230.4 0,92.44444 54.51852,172.1837 133.12,208.87704 C 285.10815,612.69333 189.25037,729.6 180.81185,870.11556 c -0.6637,10.9037 7.96445,20.19555 18.96297,20.19555 v 0 c 9.95555,0 18.29925,-7.77481 18.96296,-17.73037 C 227.74518,718.50667 355.65037,596.38518 512,596.38518 c 156.34963,0 284.25481,122.12149 293.35704,276.19556 0.56889,9.95556 8.91259,17.73037 18.96296,17.73037 10.99852,0 19.62667,-9.29185 18.96296,-20.19555 z M 319.52593,364.08889 c 0,-106.28741 86.18666,-192.47408 192.47407,-192.47408 106.28741,0 192.47407,86.18667 192.47407,192.47408 0,106.28741 -86.18666,192.47407 -192.47407,192.47407 -106.28741,0 -192.47407,-86.18666 -192.47407,-192.47407 z"
|
||||
id="path1" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g14"
|
||||
transform="matrix(0.04275091,0,0,0.04222869,292.71414,82.391967)"><path
|
||||
d="M 665.6,509.952 H 347.648 c -12.8,0 -21.504,8.704 -21.504,21.504 v 204.8 c 0,12.8 8.704,21.504 21.504,21.504 h 315.904 c 12.8,0 21.504,-8.704 21.504,-21.504 v -204.8 c 2.048,-12.8 -8.704,-21.504 -19.456,-21.504 z M 533.504,661.504 c 0,0 0,2.048 0,0 0,12.8 -8.704,23.552 -21.504,23.552 -12.8,0 -21.504,-8.704 -21.504,-21.504 v -2.048 c -12.8,-6.144 -21.504,-21.504 -21.504,-36.352 0,-23.552 19.456,-42.496 42.496,-42.496 23.04,0 42.496,19.456 42.496,42.496 0.512,14.848 -7.68,29.696 -20.48,36.352 z"
|
||||
fill="#ff6a00"
|
||||
id="path1-3" /><path
|
||||
d="M 981.504,492.544 C 970.752,243.2 763.904,44.544 512,44.544 c -251.904,0 -458.752,198.656 -469.504,448 v 31.744 C 48.64,778.24 256,983.04 512,983.04 c 256,0 462.848,-204.8 469.504,-458.752 z M 810.496,272.896 c -42.496,34.304 -91.648,51.2 -130.048,61.952 -23.552,-87.552 -64,-159.744 -108.544,-198.144 95.744,14.848 179.2,64 238.592,136.192 z M 452.096,136.704 C 409.6,175.104 369.152,247.296 345.6,332.8 307.2,322.048 260.096,305.152 217.6,270.848 275.456,198.656 358.4,151.552 452.096,136.704 Z M 825.344,733.696 C 808.448,718.848 786.944,706.048 765.44,693.248 735.744,678.4 720.384,708.096 748.544,720.896 768,729.6 786.944,742.4 805.888,757.248 743.936,832 656.384,881.152 556.032,891.904 c 21.504,-14.848 45.056,-40.448 64,-72.704 6.656,-16.896 -21.504,-27.648 -36.352,-2.048 -25.6,36.352 -51.2,57.344 -74.752,57.344 -21.504,0 -49.152,-21.504 -72.704,-55.296 -21.504,-31.744 -42.496,-14.848 -38.4,0 19.456,29.696 40.448,53.248 61.952,70.656 -98.304,-8.704 -183.296,-57.344 -243.2,-130.048 19.456,-14.848 38.4,-27.648 57.344,-36.352 27.648,-14.848 10.752,-42.496 -16.896,-27.648 -19.456,10.752 -40.448,23.552 -59.904,38.4 C 154.624,674.304 131.072,602.112 129.024,525.312 H 261.12 c 8.704,0 16.896,-6.656 16.896,-16.896 0,-10.24 -6.144,-16.896 -16.896,-16.896 H 130.048 c 4.096,-72.704 27.648,-140.8 68.096,-198.144 38.4,34.304 91.648,55.296 138.752,68.096 -4.096,21.504 -8.704,42.496 -10.752,66.048 0,19.456 32.256,19.456 32.256,0 16.896,-149.504 96.256,-283.648 153.6,-283.648 57.344,0 136.704,136.704 155.648,288.256 2.048,19.456 34.304,16.896 31.744,0 -2.048,-21.504 -6.656,-42.496 -10.752,-64 49.152,-12.8 102.4,-34.304 140.8,-68.096 38.4,55.296 61.952,123.904 66.048,194.048 H 763.392 c -8.704,0 -16.896,6.144 -16.896,16.896 0,10.752 6.144,16.896 16.896,16.896 H 896 c -2.048,75.776 -27.648,146.432 -70.656,205.824 z"
|
||||
fill="#ff6a00"
|
||||
id="path2-2" /><path
|
||||
d="m 512,317.952 c -59.904,0 -106.496,47.104 -106.496,106.496 v 31.744 H 448 v -31.744 c 0,-34.304 27.648,-64 64,-64 36.352,0 64,27.648 64,64 v 149.504 h 42.496 V 424.448 C 618.496,364.544 571.904,317.952 512,317.952 Z"
|
||||
fill="#ff6a00"
|
||||
id="path3-6" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g14-8"
|
||||
transform="matrix(0.04275091,0,0,0.04222869,292.55479,139.19739)"><path
|
||||
d="M 665.6,509.952 H 347.648 c -12.8,0 -21.504,8.704 -21.504,21.504 v 204.8 c 0,12.8 8.704,21.504 21.504,21.504 h 315.904 c 12.8,0 21.504,-8.704 21.504,-21.504 v -204.8 c 2.048,-12.8 -8.704,-21.504 -19.456,-21.504 z M 533.504,661.504 c 0,0 0,2.048 0,0 0,12.8 -8.704,23.552 -21.504,23.552 -12.8,0 -21.504,-8.704 -21.504,-21.504 v -2.048 c -12.8,-6.144 -21.504,-21.504 -21.504,-36.352 0,-23.552 19.456,-42.496 42.496,-42.496 23.04,0 42.496,19.456 42.496,42.496 0.512,14.848 -7.68,29.696 -20.48,36.352 z"
|
||||
fill="#ff6a00"
|
||||
id="path1-3-7" /><path
|
||||
d="M 981.504,492.544 C 970.752,243.2 763.904,44.544 512,44.544 c -251.904,0 -458.752,198.656 -469.504,448 v 31.744 C 48.64,778.24 256,983.04 512,983.04 c 256,0 462.848,-204.8 469.504,-458.752 z M 810.496,272.896 c -42.496,34.304 -91.648,51.2 -130.048,61.952 -23.552,-87.552 -64,-159.744 -108.544,-198.144 95.744,14.848 179.2,64 238.592,136.192 z M 452.096,136.704 C 409.6,175.104 369.152,247.296 345.6,332.8 307.2,322.048 260.096,305.152 217.6,270.848 275.456,198.656 358.4,151.552 452.096,136.704 Z M 825.344,733.696 C 808.448,718.848 786.944,706.048 765.44,693.248 735.744,678.4 720.384,708.096 748.544,720.896 768,729.6 786.944,742.4 805.888,757.248 743.936,832 656.384,881.152 556.032,891.904 c 21.504,-14.848 45.056,-40.448 64,-72.704 6.656,-16.896 -21.504,-27.648 -36.352,-2.048 -25.6,36.352 -51.2,57.344 -74.752,57.344 -21.504,0 -49.152,-21.504 -72.704,-55.296 -21.504,-31.744 -42.496,-14.848 -38.4,0 19.456,29.696 40.448,53.248 61.952,70.656 -98.304,-8.704 -183.296,-57.344 -243.2,-130.048 19.456,-14.848 38.4,-27.648 57.344,-36.352 27.648,-14.848 10.752,-42.496 -16.896,-27.648 -19.456,10.752 -40.448,23.552 -59.904,38.4 C 154.624,674.304 131.072,602.112 129.024,525.312 H 261.12 c 8.704,0 16.896,-6.656 16.896,-16.896 0,-10.24 -6.144,-16.896 -16.896,-16.896 H 130.048 c 4.096,-72.704 27.648,-140.8 68.096,-198.144 38.4,34.304 91.648,55.296 138.752,68.096 -4.096,21.504 -8.704,42.496 -10.752,66.048 0,19.456 32.256,19.456 32.256,0 16.896,-149.504 96.256,-283.648 153.6,-283.648 57.344,0 136.704,136.704 155.648,288.256 2.048,19.456 34.304,16.896 31.744,0 -2.048,-21.504 -6.656,-42.496 -10.752,-64 49.152,-12.8 102.4,-34.304 140.8,-68.096 38.4,55.296 61.952,123.904 66.048,194.048 H 763.392 c -8.704,0 -16.896,6.144 -16.896,16.896 0,10.752 6.144,16.896 16.896,16.896 H 896 c -2.048,75.776 -27.648,146.432 -70.656,205.824 z"
|
||||
fill="#ff6a00"
|
||||
id="path2-2-5" /><path
|
||||
d="m 512,317.952 c -59.904,0 -106.496,47.104 -106.496,106.496 v 31.744 H 448 v -31.744 c 0,-34.304 27.648,-64 64,-64 36.352,0 64,27.648 64,64 v 149.504 h 42.496 V 424.448 C 618.496,364.544 571.904,317.952 512,317.952 Z"
|
||||
fill="#ff6a00"
|
||||
id="path3-6-9" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g18"
|
||||
transform="matrix(0.02516607,0,0,0.02459152,94.079836,93.295599)"><path
|
||||
d="m 128,85.333333 c -46.933333,0 -85.333333,38.399997 -85.333333,85.333337 v 512 A 85.333333,85.333333 0 0 0 128,768 h 298.66667 v 85.33333 h -85.33334 v 85.33334 H 682.66667 V 853.33333 H 597.33333 V 768 H 896 c 46.93333,0 85.33333,-38.4 85.33333,-85.33333 v -512 c 0,-46.93334 -38.4,-85.333336 -85.33333,-85.333337 M 128,170.66667 h 768 v 512 H 128 M 640,213.33333 490.66667,362.66667 640,512 l 59.73333,-59.73333 -89.6,-89.6 89.6,-89.6 M 384,341.33333 l -59.73333,59.73334 89.6,89.6 -89.6,89.6 L 384,640 533.33333,490.66667"
|
||||
id="path1-8" /></g><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g19"
|
||||
transform="matrix(0.03266725,0,0,0.03617844,345.51683,142.19382)"><path
|
||||
d="M 0,139.392 409.42933,81.92 409.6,489.13067 0.384,491.52 Z M 409.30133,535.21067 409.6,942.08 0,884.18133 V 532.48 Z M 450.56,81.024 1024,0 V 487.12533 L 450.56,491.52 Z M 1024,533.33333 1023.872,1024 451.37067,944.72533 450.56,532.48 1024,533.376 Z"
|
||||
fill="#0078d7"
|
||||
id="path1-5" /></g><text
|
||||
xml:space="preserve"
|
||||
id="text20"
|
||||
style="white-space:pre;shape-inside:url(#rect20);display:inline;fill:#000000"
|
||||
transform="translate(17.078426,17.797729)"><tspan
|
||||
x="154.60547"
|
||||
y="81.059292"
|
||||
id="tspan1">Authentication</tspan></text><g
|
||||
style="overflow:hidden;fill:currentColor"
|
||||
id="g27"
|
||||
transform="matrix(0.04222519,0,0,0.03933851,410.28976,84.846267)"><path
|
||||
d="M 916.48,242.88 907.52,172.16 512,32 116.48,172.16 l -8.96,70.4 c -3.2,23.68 -68.48,578.88 365.12,736 L 512,992 551.04,977.92 C 983.36,822.4 919.68,266.56 916.48,242.88 Z m -154.88,147.2 -211.52,339.2 -2.88,4.48 A 86.4,86.4 0 0 1 428.48,761.28 87.68,87.68 0 0 1 405.12,739.84 L 268.48,557.76 A 64.03559,64.03559 0 0 1 359.04,467.2 L 459.2,544 659.2,315.2 a 64,64 0 0 1 102.72,76.16 z"
|
||||
fill="#231f20"
|
||||
id="path1-4" /></g><text
|
||||
xml:space="preserve"
|
||||
id="text27"
|
||||
style="white-space:pre;shape-inside:url(#rect27);display:inline;fill:#000000"
|
||||
transform="translate(21.572749,35.77502)"><tspan
|
||||
x="376.625"
|
||||
y="43.307339"
|
||||
id="tspan2">rdpgw-auth</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text28"
|
||||
style="white-space:pre;shape-inside:url(#rect28);display:inline;fill:#000000"
|
||||
transform="translate(11.685239,21.393187)"><tspan
|
||||
x="341.56836"
|
||||
y="77.463589"
|
||||
id="tspan3">socket</tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text29"
|
||||
style="white-space:pre;shape-inside:url(#rect29);display:inline;fill:#000000"
|
||||
transform="translate(23.370478,-8.089781)"><tspan
|
||||
x="168.98633"
|
||||
y="183.53"
|
||||
id="tspan4">connect</tspan></text></svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
22
docs/images/flow.svg
Normal file
22
docs/images/flow.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<svg width="500" height="300" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Rectangles -->
|
||||
<rect x="50" y="50" width="150" height="50" fill="lightblue" stroke="black" stroke-width="2"/>
|
||||
<rect x="200" y="50" width="150" height="50" fill="lightblue" stroke="black" stroke-width="2"/>
|
||||
<rect x="50" y="150" width="150" height="50" fill="lightblue" stroke="black" stroke-width="2"/>
|
||||
<rect x="200" y="150" width="150" height="50" fill="lightblue" stroke="black" stroke-width="2"/>
|
||||
<rect x="350" y="150" width="150" height="50" fill="lightblue" stroke="black" stroke-width="2"/>
|
||||
|
||||
<!-- Text -->
|
||||
<text x="75" y="85" font-family="Arial" font-size="16" fill="black">Client</text>
|
||||
<text x="235" y="85" font-family="Arial" font-size="16" fill="black">RDP Gateway</text>
|
||||
<text x="65" y="185" font-family="Arial" font-size="16" fill="black">RDP GW Auth</text>
|
||||
<text x="215" y="185" font-family="Arial" font-size="16" fill="black">PAM</text>
|
||||
<text x="365" y="185" font-family="Arial" font-size="16" fill="black">Passwd or LDAP</text>
|
||||
|
||||
<!-- Lines -->
|
||||
<line x1="100" y1="75" x2="200" y2="75" stroke="black" stroke-width="2"/>
|
||||
<line x1="200" y1="100" x2="100" y2="175" stroke="black" stroke-width="2"/>
|
||||
<line x1="100" y1="175" x2="200" y2="175" stroke="black" stroke-width="2"/>
|
||||
<line x1="200" y1="200" x2="350" y2="200" stroke="black" stroke-width="2"/>
|
||||
</svg>
|
||||
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
Reference in New Issue
Block a user