Gefördert vom BMBF Logo

Einführung und Ziele

Das Projekt "Dynamische und sichere industrielle Vernetzung (SDN)" soll im Projekt IUNO Insec die Lösung, aus dem Vorläufer Projekt IUNO, weiterentwickeln oder anpassen, damit es den Anforderungen von KMUs an Industrie 4.0 genügt.

1. Was ist die IUNO Insec - Sichere Fernwartungslösung?

  • Die Fernwartungslösung ermöglicht den Zugang zu Endpunkten in SDN basierten Unternehmensnetzen aus dem Internet, über verschlüsselte Verbindungen mit einer automatisierten Zugangskontrolle

  • Sie dient zur Demonstration der technischen Umsetzung von sicheren Industrie 4.0 Prozessen

  • Die Lösung dient zur Orientierung für Dritte und kann als Startpunkt für den weiteren Ausbau einer solchen Lösung genutzt werden

  • Ziel ist nicht ein umfangreicher Funktionsumfang, sondern ein minimaler Funktionsumfang der eine auf IT-Sicherheit fokussierte implementierung demonstriert und sich an den Anforderungen von KMUs orientiert

2. Wesentliche Features:

  • Implementierung aller Software-Elemente, die von allen Parteien erforderlich sind, und die Voraussetzungen zu erfüllen für eine sichere Durchführung des Industrie 4.0 Prozesses - Fernwartung

  • Zusammen mit der Umsetzung Industrie 4.0 wird modernste IT-Infrastruktur erwartet. Dies beeinflusst die Auswahl der einzusetzenden Technologien (siehe SDN und wireguard)

  • Die Lösung soll KMU freundlich sein, oder IT-Integrator/IT-Dienstleitser freundlich. Die IT-Architektur und Software Auswahl nutzt deshalb einen modularer Aufbau und Open-Source technologie

  • Mögliche Integration mit weiteren IT-Sicherheitslösungen und Strategien soll verfolgt werden, deshalb wird mt Standardschnittstellen entwickelt

2.1. Qualitätsziele

Die folgende Tabelle beschreibt die Qualitätsziele bei der Entwicklung der Lösung. Die Reihenfolge macht keine Aussage über die Priorität.

Table 1. Qualitätsziele
Qualitätsziel Motivation und Erläuterung

Für Industrie 4.0-Prozesse

Folgt einer Beschreibung wie eine Fernwartung für Industrie 4.0 aussehen könnte

Verbessert die IT-Sicherheit

IT-Sicherheit ist zentrale Voraussetzung für Industrie 4.0

KMU kompatibel

Technologieauswahl, Komplexität, Kompatibilität, Lizenz, Integrierbarkeit, Kosten sind eine Auswahl an Kriterien, die wichtig sind bei Software für KMUs

Kombinierbar bar mit anderen Insec Lösungen

Die IT-Sicherheit in KUMs lässt sich weiter steigern, wenn diese Lösung mit weiteren IUNO Insec lösungen oder Drittanbietern

2.2. Stakeholder

Tabelle mit Rollen- oder Personennamen, sowie deren Erwartungshaltung bezüglich der Architektur und deren Dokumentation.

Role/Name Expectations

axxessio

Fähigkeit zur Entwicklung von IT-Sicherheitssensitiver Software

IUNO Insec

Demonstrator

Fraunhofer AISEC (orga.)

Abschlussbericht

BMBF/VDI

IT-Sicherheits-Software für KMUs um Industrie 4.0 weiter zu bewerben

KMUs

Eine funktionierende Lösung zu minimalen Kosten

KMU-IT-Dienstleister

Software die sich einfach integrieren, warten, anpassen lässt

3. Randbedingungen

3.1. Technische Randbedingung

ID Randbedingung Beschreibung

Randbedingungen für die Software

TR1

Basiert auf dem SDN-Controller Faucet

  • Faucet wurde ausgewählt, nach ausführlicher Recherche und Tests mehrerer OpenSource SDN-Controller

TR2

Programmiersprache ist Python und bash-script

  • Python ist für alle zu Entwickelnden Softwarebestandteile geeignet

  • Faucet ist in Python programmiert

  • Pyhton ist eine sehr zugängliche, moderne und weit verbreitete Programmiersprache

  • bash-script wird für OS nahe Konfiguration verwendet

TR3

Für das Frontend werden Web-Technologien eingesetzt

  • Web-Technologien sind bestandteil der Industrie 4.0-Strategie und Prozessen

  • Es erlaubt ein konsolidiertes Frontend für jeden Stakeholder des Fernwartungsprozesses

  • Es existieren Open-Source Lösungen in Python, die den Anforderungen des Projektes genügen.

Operating System Constraints

TR4

Ziel-Betriebsystem ist Linux

  • Linux ist das Betriebssysem für Faucet.

  • Linux erfüllt die geforderten Anforderungen für dieses Projekt und KMUs

  • Der Einsatz unterschiedlicher Technologien soll miniert werden

  • Windows als Endpunkt ist nicht ausgeschlossen.

Hardware

TR5

Switch

  • Es besteht freie Wahl an Switchen die das Protokoll OpenFlow version 1.3 unterstützen

  • Oder es kann eine eigene Lösung eingesetzt werden basieren auf white box switches oder standard server Hardware.

TR6

Faucet

  • Faucet läuft auf standard Hardware und hat selbst keine besonderen Performanceanforderungen

  • Faucet ermöglicht geringe Investitionskosten beim Aufbau von SDN Netzwerken für KMUs

3.2. Organisatorische Randbedingungen

ID Randbedingung Beschreibung

Organisatorische Randbedingungen für die KMU

OR1

Zugangsdaten

Mit Zugangsdaten, insbesondere Passwörter muss sicher umgegangen werden

OR2

Administration

Maschinen und Benutzer der Lösung müssen eingerichtet werden

OR3

IT-Dienstleister

Für die Installation und den laufenden Betrieb wird ein IT-Dienstleister mit passendem Know-How benötigt

Organisatorische Randbedingungen für den IT-Dienstleister der KMU

OR4

Know-How

Zum Anpassen und Updaten, muss der IT-Dienstleister das passende Know-How haben, um die IT-Sicherheit zu gewährleisten

Organisatorische Randbedingungen für den Fernwartungsanbieter

OR5

VPN

Ein Tool, dass Mitarbeiter beim Aufbau der VPN-Verbindung unterstützt ist Teil dieser Softwarelösung

OR6

Fernwartungsplanung

Zur Planung und Berechtigung einer Wartungssitzung wird das Webfrontend eingesetzt

4. Kontextabgrenzung

4.1. Fachlicher Kontext

Diagram
Figure 1. Geschäftskonext
Minimaler geschäftlicher Kontext

Die IUNO Insec Fernwartungslösung wird von der KMU als Zugang zu den Maschinen angeboten. Der Maschinendienstleister baut die Verbindung über diese technische Lösung zu den Maschinen auf. Ein IT-Dienstleister der KMU integriert und wartet die IUNO Insec Fernwartungslösung.

KMU

Eine KMU möchte die Fernwartungsmöglichkeiten seiner Maschinen nutzen. Die gestellten Anforderungen hierfür sind IT-Sicherheit und Industrie 4.0

(Industrie 4.0 erwartet moderne Dienstleistungen und Infrastruktur, die fähig ist sich einem dynamischen Umfeld anzupassen, es macht keinen Unterschied, ob die Anpassungen manuell oder automatisiert sind. Im Kontext von Unternehmensnetzwerken erwarten wir hier deshalb vorrausschauend den Einsatz von SDN)

(Fokus auf IT-Sicherheit. Der Einsatz von Fernwartung soll die IT-Sicherheit des Unternehmens nicht schwächen. Daraus folgt, dass die Datenflüsse für die Fernwartung begrenzt sein müssen auf Maschine und Dienstleister. Im Kontrast hierzu, wird bei traditionellen Ansätzen eine Verbindung zwischen Dienstleister und dem Unternehmensnetz hergestellt. Was das vertrauenswürdige Unternehmensnetz damit auf das Unternehmensnetz des Dienstleister ausweitet.)

Maschinendienstleister

Der Maschinenhersteller oder ein anderer Dienstleister möchte eine Fernwartungsdienstleistung anbieten, für die in der KMU eingesetzten Maschinen. Zugang soll über das Internet erfolgen.

IT-Dienstleister

Der IT-Dienstleister der KMU möchte eine Lösung anbieten können, welche der KMU Sichere Fernwartung für ihre Maschinen ermöglicht.

Diagram
Figure 2. Use case diagram: IUNO Insec Ticket System

4.2. Technischer Kontext

Diagram
Figure 3. v3

5. Lösungsstrategie

5.1. Einstieg

Table 2. Qualitätsziele
Qualitätsziel Motivation und Erläuterung

Für Industrie 4.0-Prozesse * Verwendung von SDN * Orientierung an Web-Technologien * Vernetzung kleiner spezialisierter Services, statt monolitischer Lösungen * OpenSource

Verbessert die IT-Sicherheit * Verbindungen müssen autorisiert werden * Datenflüsse sind begrenzt auf die Prozessteilnehmer * Verbindungen sind gegenüber dritten verschlüsselt * Es können weitere IT-Sicherheitslösungen kombiniert werden

KMU kompatibel

  • Auswahl weit verbreiteter Technologien

  • Lösung besteht aus kleinteiligen, einfach konstruierten Lösungen

  • Es werden standard Schnittstellen verwendet, für gute Integrierbarkeit

  • Wenn immer möglich, wird auf vorhandene Lösungen und Technologien aufgebaut, um Kosten, Entwicklungs- und Wartungsaufwand zu minimieren

  • Es wird ausschließlich OpenSource verwendet, aus Qualitäts- und Sicherheitsgründen und um die Zukunftsfähigkeit und Unabhängigkeit zu gewährleisten. Das nimmt Hürden für die übernahme und verwendung der Lösung.

Kombinierbar mit anderen Lösungen

Die IT-Sicherheit in KUMs lässt sich weiter steigern, wenn diese Lösung mit weiteren IUNO Insec lösungen oder Drittanbietern kombiniert wird

5.2. Technologien

Python
  • Weit verbreitete Programmiersprache

  • Besonders geeignet für die gestellten Aufgaben

  • Python wird von anderen Projekten für derartige Lösungen gerne verwendet

  • Viele potenziell notwendige funktionen sind in ausgereiften Bibliotheken/Paketen zu finden

  • Der SDN-Controller wird ebenfalls in python geschrieben

  • Es gibt ein Ticketing System, dass in python geschrieben wurde und von uns verwendet wird

  • Alle selbst zu entwickelnden Komponenten des Systems können in python geschrieben werden

  • Der Einsatz von python und einer passenden Entwicklungsumgebung ist mit open-source Mitteln möglich. Es gibt hierfür eine große Auswahl

Wireguard
  • Es ist eine relativ neue Lösung für VPN

  • Das Projekt hat mit dem Design auf Sicherheit, Leistung und Kompatibilität mit aktueller Software gesetzt

  • Wireguard wird aktuell mit hoher geschwindigkeit von relevanten Projekten aufgenommen.

  • Weitere Punkte auf der Webseite

Faucet
  • Nach ausgiebiger evaluierung ist es das einzige open-souce Projekt, deren Lösung funktioniert, aktiv weiter entwickelt wird, ?(und eine gute Softwarearchitektur aufweist)

  • Ist in python geschrieben TODO:Warum ist das ein Vorteil?

6. Glossar

Begriff Definition

<Begriff-1>

<Definition-1>

<Begriff-2

<Definition-2>

FAUCET

7. Install Faucet

use APT on Ubuntu

with Package faucet-all-in-one

sudo apt-get install faucet-all-in-one
check installed version number of faucet
apt list -a faucet

8. Prometheus

Path config file prometheus.yml
/etc/default/prometheus/prometheus.yml
apply changes by restarting prometheus
sudo systemctl restart prometheus
Name:   Prometheus
Type:   Prometheus

9. Grafana

start on boot and start
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Login: admin admin

10. Faucet

Path to config file
/etc/faucet/faucet.yaml
always check edited config file
check_faucet_config faucet.yaml
apply new config file in faucet by reloading
sudo systemctl reload faucet
Path to log file
/var/log/faucet/faucet.log
Path to environment variables
/etc/default/faucet

11. Gauge

Path to config file
/etc/faucet/gauge.yaml
restart gauge to apply new faucet config
sudo systemctl restart gauge

Maintenance Manager

Firstname Lastname <author@asciidoctor.org> 3.0, July 29, 2022: AsciiDoc article template :toc: left :sectnums: :source-highlighter: highlight.js

12. Setup on AWS EC2 Ubuntu 20 LTS

13. SSH into EC2 instance

To connect using your instance’s public DNS name, enter the following command.
ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name
example
ssh -i /home/username/.ssh/keypairfile.pem ubuntu@ec2-18-192-22-216.eu-central-1.compute.amazonaws.com

14. Update distro packages

update distro packages
sudo apt update
sudo apt upgrade
check for python3, should be 3.8 or higher
python3 -V
install necessary python packages
sudo apt install python3-pip
check for virtualenv
virtualenv --version
install virtualenv with pip (if you dont use sudo virtualenv can not be added to PATH)
sudo pip install virtualenv

15. Install MM

create folder
sudo mkdir /mm
create python virtual environment
cd mm
virtualenv venv
Caution
use rsync instead
get Maintenance Manager files on EC2 Instance

download tar/zip of the repository. Pay attention to use the right branch. Then copy it over with scp…​

We have to do it this way because the EC2 instance has no VPN access to axxessios gitlab

scp -F /home/[local-user]/.ssh/config iuno-insec-sdn-ticket-system-SD_dev.tar [hostname-in-ssh-configfile]:~/mm/
unpack file
tar -xvf [filename]
activate virtualenv
source venv/bin/activate
go to mm folder
.../mm/iuno-insec-sdn-ticket-system-mm_ec2
install requirements.txt
pip3 install -r requirements.txt
Create the configuration json file
python3 -m scripts.create_json

choose option 1 for SQL Lite

database name: flicket.db

Upgrade the database using manage.py from the command line:
python3 manage.py db upgrade
Run the set-up script:. This is required to create the Admin user and site url defaults. These can be changed again via the admin panel once you log in:

on AWS EC2 use private IP of the instance

python3 manage.py run_set_up
Base URL muss die domain sein die auch für bei Letsencrypt angegeben wird
Base url> https://mm.axxessio.com
edit manage.py file to update ip for host = "IP"

on AWS EC2 use private IP of the instance manager.add_command('runserver', Server( host="192.168.56.7", port=5001,

Running development server for testing:
python3 manage.py runserver
When using SSH keep server running, even after closing ssh session
nohup python3 manage.py runserver

16. Install nginx

install nginx
sudo apt install nginx
test nginx
http://[IP]:80
Disable the default virtual host, that is pre-configured when Nginx is installed via Ubuntu’s packet manager apt:
sudo unlink /etc/nginx/sites-enabled/default
create nginx conf file
cd /etc/nginx/sites-available
sudo touch mm
edit mm conf file and update path uwsgi_pass unix:…​
server {
        server_name maintenancemanager.axxessio.com mm.axxessio.com;

        access_log /var/log/nginx/reverse-access.log;
        error_log /var/log/nginx/reverse-error.log;


        location /doku {
                root /var/www;
                index index.html;
        }


<font color="#00ACC1"># timeout</font>
        proxy_read_timeout 120;
        proxy_connect_timeout 120;
        proxy_send_timeout 120;

        location / {
            client_max_body_size 0;
            gzip off;
            proxy_redirect          off;
            proxy_http_version 1.1;
            proxy_set_header    Host                $http_host;
            proxy_set_header    X-Real-IP           $remote_addr;
            proxy_set_header    X-Forwarded-Ssl     on;
            proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
            proxy_set_header    X-Forwarded-Proto   $scheme;
            proxy_pass http://localhost:5001;
        }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/maintenancemanager.axxessio.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/maintenancemanager.axxessio.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot



}

server {
    if ($host = mm.axxessio.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = maintenancemanager.axxessio.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen [::]:80;
        server_name maintenancemanager.axxessio.com mm.axxessio.com;
    return 404; # managed by Certboot

}
link the config file to the sites-enabled folder, instead of copying
sudo ln -s /etc/nginx/sites-available/mm /etc/nginx/sites-enabled/mm
Test the Nginx configuration file
sudo nginx -t
restart nginx
sudo systemctl restart nginx
Tip
if Bad Gateway Error: recheck all paths in all config files

17. Letsencrypt

Domains:

maintenancemanager.axxessio.com mm.axxessio.com

domain der nginx config hinzufügen
server {
       listen 80;
       listen [::]:80;
       server_name [DOMAIN] [2ndDOMAIN];

       access_log /var/log/nginx/reverse-access.log;
       error_log /var/log/nginx/reverse-error.log;

       location / {
               include uwsgi_params;
               uwsgi_pass unix:/home/[username]/mm/iuno-insec-sdn-ticketsystem-SD_dev/mm.sock;
       }
}
certbot installieren
sudo apt install certbot python3-certbot-nginx
create certificate
sudo certbot --nginx --expand -d [DOMAIN] -d[2te DOMAIN]
example installing and updating the certificates for MM
sudo certbot --nginx --expand -d maintenance.manageri.fi,maintenancemanager.axxessio.com,mm.axxessio.com

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/maintenance.manageri.fi/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/maintenance.manageri.fi/privkey.pem Your cert will expire on 2022-01-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew all of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le

18. Update MM

copy with rsync

rsync -haxHAX <quelle> <user@host:/pfad>

sync MM with rsync
rsync -haxHAX --info=progress2 /home/udel/PycharmProjects/iuno-insec-sdn-ticket-system/  mmec2:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2
sync MM with rsync aber DB Datei ausschließen
rsync -haxHAX --info=progress2 --exclude 'flicket.db' /home/udel/PycharmProjects/iuno-insec-sdn-ticket-system/  mmec2:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2
and don’f forget to restart flicket
mit htop
nohup python3 manage.py runserver

19. gunicorn

sync MM with rsync
rsync -haxHAX --info=progress2 /home/udel/PycharmProjects/iuno-insec-sdn-ticket-system/  mmec2:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2
sync MM with rsync aber DB Datei ausschließen
rsync -haxHAX --info=progress2 --exclude 'flicket.db' /home/udel/PycharmProjects/iuno-insec-sdn-ticket-system/  mmec2:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2
and don’f forget to restart flicket
mit htop
nohup python3 manage.py runserver
start gunicorn with socket
unicorn --bind unix:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2/mm.sock manage:app
start gunicorn with proxy
gunicorn --bind 0.0.0.0:5001 manage:app
nginx configuration
server {
        server_name maintenance.manageri.fi maintenancemanager.axxessio.com mm.axxessio.com;

        access_log /var/log/nginx/reverse-access.log;
        error_log /var/log/nginx/reverse-error.log;

# gunicorn config
        location / {
                include proxy_params;
                proxy_pass http://unix:/home/ubuntu/mm/iuno-insec-sdn-ticket-system-mm_ec2/mm.sock;
        }

# using socket
#       location / {
#            client_max_body_size 0;
#            gzip off;
#            proxy_redirect          off;
#            proxy_http_version 1.1;
#            proxy_set_header    Host                $http_host;
#            proxy_set_header    X-Real-IP           $remote_addr;
#            proxy_set_header    X-Forwarded-Ssl     on;
#            proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
#            proxy_set_header    X-Forwarded-Proto   $scheme;
#            proxy_pass http://localhost:5001;
#        }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/maintenance.manageri.fi/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/maintenance.manageri.fi/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = mm.axxessio.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = maintenancemanager.axxessio.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = maintenance.manageri.fi) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        listen [::]:80;
        server_name maintenance.manageri.fi maintenancemanager.axxessio.com mm.axxessio.com;
    return 404; # managed by Certbot

}

20. Install uwsgi

if pcre support install necessary?
sudo apt install libpcre3 libpcre-dev
install uwsgi
pip install uwsgi
update path and ip in uwsgi.ini
[uwsgi]
;socket = 10.0.0.148:5001
socket = mm.sock
chmod-socket = 666
;http = 192.168.56.6:5001

chdir = ~/mm/iuno-insec-sdn-ticket-system-SD_dev
module = manage:app

processes = 4
threads = 2
virtualenv = ~/mm/venv

master = true
vacuum = true

die-on-term = true
start uwsgi server
uwsgi uwsgi.ini

IIII - IUNO Insec Intelligent Interface

21. Paket generierung

copy
cp iiii dpkg/iiii_0.1_all/usr/bin/
create package
dpkg-deb --build --root-owner-group dpkg/iiii_0.1_all
permissions für preinst und postinst
dpkg-deb: error: maintainer script 'preinst' has bad permissions 777 (must be >=0555 and <=0775)

21.1. Build script verwenden

einmalig Berechtigung zum Ausführen setzen
chmod +x build.sh
Ausführen
./build.sh

22. In-/Unstallation

install
sudo dpkg -i iiii_0.1_i386.deb
uninstall
sudo dpkg -r IIII

23. Download IIII

IIII steht immer als Download bei einem Ticket auf MM zur Verfügung.

download

24. Starten einer Fernwartungssitzung

24.1. Automatisch

Nach der installation von IIII, auf den START Button bei einem Ticket klicken. Die Fernwartungssitzung wird automatische für IIII konfiguriert und IIII wird gestartet, damit wird die Fernwartungssitzung automatisch gestartet.

24.2. Manuell

24.2.1. Konfigurieren

Im IIII Menü

  1. VPN Schlüsselpaar für wiregurad erzeugen Generate new VPN key

  2. API URL zu Maintenance Manager eintragen Change API URL

  3. Den Public-Key des VPN Schlüssels in den MM laden Upload key to Maintenance Manger

24.2.2. Starten

Die Konfigurationsdatei speichern. Im IIII Menü Start maintenance session auswählen, dann die Konfigurationsdatei laden.

25. Stoppen einer Fernwartungssitzung

Im IIII Menü End maintenance session auswählen

26. IIII - GUI Screen Shots

iiii

Datenflussdiagramme und Sequenzdiagramme der Sicherheitseigenschaften

27. Authentifikation von IIII bei Maintenance Manager

Diagram
Figure 4. Datenflussdiagramm
Diagram
Figure 5. Sequenzdiagramm

28. NAT Punshing

Diagram
Figure 6. Sequenzdiagramm

29. Portfreischaltung in Faucet

Diagram
Figure 7. Datenflussdiagramm
Diagram
Figure 8. Sequenzdiagramm

30. Aufbau des VPN Tunnels

Diagram
Figure 9. Datenflussdiagramm
Diagram
Figure 10. Sequenzdiagramm