application and os security
parent
61a2727495
commit
9177a6e624
|
|
@ -412,9 +412,10 @@ stages:
|
|||
\item Konfigurationseinstellungen
|
||||
\item Betriebssystemeinstellungen
|
||||
\end{itemize}
|
||||
Innerhalb der Anwendungseinstellungen können Push-Regeln festgelegt werden, sodass unverifizierte Nutzer keinen Code hochladen können. Es kann sichergestellt werden, dass geheime Dateien nicht versehentlich gepusht werden. Ebenso sollen projektspezifische Keys/Schlüssel für Deployment-Prozesse eingerichtet werden. Die Sichtbarkeit von Gruppen, Snippets und Projekten soll als \textit{privat} gesetzt werden. Benutzer können gezwungen werden komplexere Passwörter für ihren GitLab Account zu wählen. Eine 2-Faktor Authentifizierung kann eingerichtet werden. Die Kommunikation mit aussenstehenden Systemen kann konkret festgelegt werden, indem externe Systeme zuerst anhand ihrer IP-Adresse für ausgehende anfragen in GitLab eingetragen werden müssen. Für die GitLab-Instanz kann ein Rate-Limit, mit Ausnahmen für bestimmte Nutzer, eingestellt werden \cite{gitlab_gitlab_nodate}.\\\\
|
||||
Für \acs{CI}/\acs{CD}-Pipelines besteht die Möglichkeit sensitive Daten wie bspw. Passwörter oder Tokens in Form von \textit{Secrets} zu speichern. \textit{Secrets} werden durch externe Dienstleister gespeichert. Neben \textit{Secrets} besteht die weniger empfohlene Variante Daten in Form von \textit{CI/CD Variablen} zu speichern. Eine solche Variable kann maskiert werden und wird damit in Logs durch einen definierten Platzhalter ersetzt. Zusätzlich zu einer Maskierung erlaubt GitLab \textit{CI/CD Variablen} verstecken. Die Variable wird nicht mehr auf der Einstellungsseite für \acs{CI}/\acs{CD} angezeigt. Ebenso kann eine Variable geschützt werden, sodass nur auf geschützten Branches Zugriff besteht \cite{gitlab_gitlab_nodate}.\\\\
|
||||
|
||||
Innerhalb der Anwendungseinstellungen können Push-Regeln festgelegt werden, sodass unverifizierte Nutzer keinen Code hochladen können. Es kann sichergestellt werden, dass geheime Dateien nicht versehentlich gepusht werden. Ebenso sollen projektspezifische Keys/Schlüssel für Deployment-Prozesse eingerichtet werden. Die Sichtbarkeit von Gruppen, Snippets und Projekten soll als \textit{privat} gesetzt werden. Benutzer können gezwungen werden komplexere Passwörter für ihren GitLab Account zu wählen. Eine 2-Faktor Authentifizierung kann eingerichtet werden. Die Kommunikation mit aussenstehenden Systemen kann konkret festgelegt werden, indem externe Systeme zuerst anhand ihrer IP-Adresse für ausgehende anfragen in GitLab eingetragen werden müssen. Für die GitLab-Instanz kann ein Rate-Limit, mit Ausnahmen für bestimmte Nutzer, eingestellt werden \cite{gitlab_gitlab_nodate}.\\
|
||||
Für \acs{CI}/\acs{CD}-Pipelines besteht die Möglichkeit sensitive Daten wie bspw. Passwörter oder Tokens in Form von \textit{Secrets} zu speichern. \textit{Secrets} werden durch externe Dienstleister gespeichert. Neben \textit{Secrets} besteht die weniger empfohlene Variante Daten in Form von \textit{CI/CD Variablen} zu speichern. Eine solche Variable kann maskiert werden und wird damit in Logs durch einen definierten Platzhalter ersetzt. Zusätzlich zu einer Maskierung erlaubt GitLab \textit{CI/CD Variablen} verstecken. Die Variable wird nicht mehr auf der Einstellungsseite für \acs{CI}/\acs{CD} angezeigt. Ebenso kann eine Variable geschützt werden, sodass nur auf geschützten Branches Zugriff besteht \cite{gitlab_gitlab_nodate}.\\
|
||||
Eine GitLab-Instanz kann konfiguriert werden, sodass Nutzer per \ac{SSH} oder über \ac{HTTPS} zugreifen können \cite{gitlab_gitlab_nodate}. Ein Zugang kann auf eine der beiden Protokolle beschränkt werden. \ac{HTTPS} ist meist zugänglicher für Nutzer, da wenig Konfiguration vorgenommen werden muss. Allerdings wird die Authentifizierung per Nutzername und \textit{Access Token} oder Passwort vorgenommen, welche häufig erneut abgefragt werden. \ac{SSH} bietet eine höhere Sicherheit. Es ist sichergestellt, dass keine Daten während der Übertragung unbemerkt verändert werden. Die Konfiguration ist komplexer. \ac{SSH} basiert auf einer \textit{Public-Key}-Infrastruktur, wobei der öffentliche Schlüssel auf GitLab zuvor hinterlegt werden muss \cite{marijanSSHVsHTTPS2025}. GitLab kann ebenso E-Mails versenden und empfangen. Versendete E-mails können mit \ac{S/MIME} versendet signiert werden, um deren Legitimität zu sichern \cite{gitlab_gitlab_nodate}. \ac{S/MIME} ist ein Verschlüsselungsstandard für E-Mails.\\
|
||||
Die GitLab-Dokumentation bietet zusätzlich Konfigurationen für das unterliegende Betriebssystem, wie \ac{SSH}-Konfiguration, Firewall Einstellungen und Änderungen am Kernel \cite{gitlab_gitlab_nodate}.
|
||||
|
||||
\subsection{Kompatibilität}
|
||||
|
||||
|
|
@ -538,6 +539,9 @@ stages:
|
|||
\acro{NIST}{National Institute of Standards and Technology}
|
||||
\acro{ISO}{Internationale Organisation für Normung}
|
||||
\acro{IEC}{International Electrotechnical Commission}
|
||||
\acro{HTTPS}{Hypertext Transfer Protocol Secure}
|
||||
\acro{SSH}{Secure Shell}
|
||||
\acro{S/MIME}{Secure/Multipurpose Internet Mail Extensions}
|
||||
\end{acronym}
|
||||
|
||||
\printbibliography
|
||||
|
|
|
|||
|
|
@ -6,6 +6,16 @@
|
|||
file = {C:\Users\Roman\Zotero\storage\29SDLBQ5\2025.html}
|
||||
}
|
||||
|
||||
@misc{AdvantagesSSHGit,
|
||||
title = {Advantages of {{SSH}} for {{Git}} Operations},
|
||||
journal = {GitLab, Inc.},
|
||||
urldate = {2026-06-09},
|
||||
abstract = {Advantages of SSH for Git operationsOverviewGitLab supports performing Git operations using both HTTPS and SSH. There are many advantages of using SSH instead of HTTPS, particularly in relation to ...},
|
||||
howpublished = {https://support.gitlab.com/hc/en-us/articles/21476152234524-Advantages-of-SSH-for-Git-operations},
|
||||
langid = {american},
|
||||
file = {C:\Users\Roman\Zotero\storage\8YRVJ3L5\21476152234524-Advantages-of-SSH-for-Git-operations.html}
|
||||
}
|
||||
|
||||
@article{arefeen_continuous_2019,
|
||||
title = {Continuous {{Integration Using Gitlab}}},
|
||||
author = {Arefeen, Mohammed Shamsul and Schiller, Michael},
|
||||
|
|
@ -253,6 +263,19 @@
|
|||
isbn = {978-3-96009-199-8}
|
||||
}
|
||||
|
||||
@misc{marijanSSHVsHTTPS2025,
|
||||
title = {{{SSH}} vs. {{HTTPS}} for {{Git}}: {{Which One Should You Use}}?},
|
||||
shorttitle = {{{SSH}} vs. {{HTTPS}} for {{Git}}},
|
||||
author = {Marijan, Bosko},
|
||||
year = 2025,
|
||||
month = dec,
|
||||
journal = {Knowledge Base by phoenixNAP},
|
||||
urldate = {2026-06-09},
|
||||
abstract = {SSH and HTTPS are network protocols that secure the connection to a remote Git repository. Learn the difference and choose the one for you.},
|
||||
langid = {american},
|
||||
file = {C:\Users\Roman\Zotero\storage\7U225IS9\git-ssh-vs-https.html}
|
||||
}
|
||||
|
||||
@book{newman_building_2021,
|
||||
title = {Building Microservices: {{Designing}} Fine-Grained Systems},
|
||||
shorttitle = {Building Microservices},
|
||||
|
|
|
|||
Loading…
Reference in New Issue