IT-Management Oktober 2021
Homeoffice - Der neue Dauerbrenner Rechenzentrum der Zukunft - Alleskönner oder kritischer Erfolgsfaktor? DevSecOps - Everything-as-a-coder - Anything secure?
Homeoffice - Der neue Dauerbrenner
Rechenzentrum der Zukunft - Alleskönner oder kritischer Erfolgsfaktor?
DevSecOps - Everything-as-a-coder - Anything secure?
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
28 | <strong>IT</strong> INFRASTRUKTUR<br />
Der Aufbau unserer Lab Umgebung ist<br />
dabei wie folgt:<br />
GitLab Container<br />
GitLab Runner<br />
Sonarqube Container<br />
Für unser Demo-Lab verwenden wir exemplarisch<br />
ein Sourcecode <strong>Management</strong><br />
Tool sowie einen Sourcecode Scanner.<br />
Wir wählen in diesem Fall die Tools Git-<br />
Lab und SonarQube. GitLab ist in der<br />
Community Edition kostenfrei verfügbar<br />
und bringt von Haus aus nützliche Funktionalitäten<br />
wie zum Beispiel Continuous<br />
Integration (CI) ein. Auf diese Weise<br />
kann eine YAML-Datei im eigenen Projektordner<br />
abgelegt werden.<br />
SonarQube ist in der Community Edition<br />
ebenfalls ein frei verwendbares Tool und<br />
bietet eine große Diversität unterstützter<br />
Programmiersprachen.<br />
Out of Scope:<br />
- Application Hardening<br />
- Network Configuration<br />
(TLS)<br />
Out of Scope:<br />
- OS Hardening<br />
- Network Security<br />
System<br />
6GB RAM<br />
2 CPU Cores<br />
Ubuntu 18.04 LTS<br />
Docker<br />
Bild 2: Architekturdiagramm<br />
Docker CE<br />
Ubuntu 18.04 LTS<br />
Out of Scope:<br />
- Image Scanning<br />
- Image Hardening<br />
- Docker Configuration<br />
- Defense in Depth<br />
Der Scope<br />
Dieses Lab legt den Fokus sehr stark auf die<br />
automatisierte Überprüfung der Sicherheit<br />
von Sourcecode. Zur Vereinfachung werden<br />
folgende Themen nicht berücksichtigt<br />
(siehe auch Architektur-Diagramm):<br />
Gitlab Runner<br />
Starts<br />
SonarQube<br />
Scanner<br />
Push Results<br />
➤ OS Hardening<br />
➤ Network Hardening<br />
Feature Branch<br />
Merge Request<br />
Master Branch<br />
Merge<br />
No<br />
Security<br />
Vulnerabilities<br />
found?<br />
Yes<br />
SonarQube<br />
Server<br />
➤ Container Security<br />
Push Code<br />
➤ Application Security<br />
Report Back<br />
Das Deployment<br />
Für das Deployment der Artefakte des<br />
Labs wird Ansible verwendet. Hierzu<br />
wird ein Ansible Playbook erstellt, welches<br />
folgende Funktionen erfüllt:<br />
➤ Updaten des Systems<br />
➤ Entfernen der vorinstallierten Docker<br />
Version<br />
➤ Installieren der Docker Community<br />
Edition<br />
➤ Anlegen eines Docker Users<br />
➤ Kopieren von Bash-Scripten auf das<br />
Zielsystem<br />
Developer<br />
Bild 3: Flussdiagramm<br />
➤ Ändern der Berechtigung der Bash-<br />
Scripte<br />
Die Bash-Scripte erfüllen verschiedene<br />
Aufgaben im Zusammenspiel mit den Docker-Containern.<br />
Ein Script kopiert die aktuellsten<br />
Images, welche für das Lab benötigt<br />
werden, von Docker Hub: Dies sind<br />
zum einen GitLab, des Weiteren GitLab<br />
Runner sowie SonarQube Server. Ein vorheriges<br />
manuelles Herunterladen des SonarQube<br />
Scanners ist nicht erforderlich,<br />
da dies durch die CI-Funktionalität von<br />
GitLab automatisch durchgeführt wird.<br />
www.it-daily.net