ltcp/bericht/bs/bs-ssh.tex

47 lines
1.9 KiB
TeX

\subsection{SSH-Server}
\label{sub:ssh_server}
Wir haben uns für \emph{OpenSSH} als SSH-Server entschieden. Diesen haben wir mit folgenden Shell-Befehl installiert:
\shellcmd{pacman -S openssh}
Desweiteren wurden in \emph{/etc/ssh/sshd\_config} (siehe \emph{aufgabe2.3/sshd\_config}) folgende Zeilen verändert, um den ''root-Account'' zu deaktivieren und den passwortlosen Zugriff zu aktivieren:
\begin{lstlisting}
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
\end{lstlisting}
\subsubsection{iptables}
Um den Zugriff auf das universitätsinterne Netz zu beschränken wurde ein
Filter-Chain \emph{uni} zur \emph{iptables.rules} unter \emph{/etc/iptables}
(siehe \emph{aufgabe2.3/iptables.rules}) hinzugefügt, der nur IP-Adressen aus
den Bereichen 141.30.0.0/16 und 141.76.0.0/16 akzeptiert und die Zugriffe auf
den SSH-Port 22 beschränkt.
\subsubsection{Absicherung für externen Zugriff}
Um den Zugriff aus einem externen Netz abzusichern, gibt es verschiedene
Möglichkeiten
\begin{enumerate}
\item den externen SSH-Port auf einen anderen Port als 22 legen, so dass
dieser nicht zu leicht erraten werden kann
\item per \emph{Fail2ban} IPs, die z.B. per
Bruteforce zu häufig versuchen sich einzuloggen, aussperren
\item den externen SSH-Port erst per Port-Knocking freischalten, bei dem
der Client z.B. mit einem Script erst an mehrere Ports »klopfen« muss, bevor
er sich verbinden kann
\item den Login auf bestimmte Benutzer begrenzen
\end{enumerate}
\subsubsection{Automatisierung für neue Nutzer}
Das automatisierte Hinzufügen neuer Nutzer haben wir über ein Script
\texttt{newuser} (siehe \emph{aufgabe2.3/newuser}) gelöst. Dieses Script legt
einen neuen Benutzer an, erstellt dessen Home-Verzeichnis, generiert ein neues
Public-Private-Key-Paar für SSH und trägt den eigenen Public-Key in die
\emph{authorized\_keys} ein und ermöglich den Zugriff auf das git-Repository.