Härtung eines Heimservers

Härtung eines Heimservers

Ich denke darüber nach, einen bescheidenen Webserver mit alter Hardware und Ubuntu 12.04 oder Debian 6 einzurichten. Mir ist bewusst, dass ich durch die Offenlegung einer Maschine in meinem LAN gegenüber der Außenwelt anfällig für Sicherheitsverletzungen und Angriffe werde. Da ich daher kaum Erfahrung mit der Sicherung von Computern unter Linux habe, würde ich gerne um einige Empfehlungen bitten, was ich zur Sicherung dieses Webservers tun sollte, insbesondere da es in meinem Heim-LAN noch andere Computer gibt, die vertrauliche Informationen enthalten (über Home-Banking-Konten und dergleichen). Vielen Dank.

Antwort1

Erstens, Sie sind sich dessen wahrscheinlich bewusst, aber wenn Sie eine dynamische IP haben, benötigen Sie einen dynamischen DNS wie DynDNS oderDNS-Exit.

Was die Sicherung angeht, denke ich, dass die Verwendung iptableseiner Firewall-GUI wieFeueranzünderWenn Sie dies bevorzugen, reicht es für einen Heimserver aus, nur Port 80 für eingehende Verbindungen zu öffnen, wenn Sie den SSH-Port (Port 22) oder FTP-Port (21) nicht öffnen müssen und keinen Mailserver installieren.

Wenn Ihre Site eine Anmeldeseite hat oder Sie SSH, FTP oder SMTP öffnen müssen, würde ich empfehlen, zumindest etwas wieFehler2Banum IPs zu sperren, die erfolglos Verbindungsversuche unternehmen, damit sie es nicht ewig versuchen.

Eine wichtige Sache zu beachten ist, dass Sie einen Blick auf Ihre Protokolle haben müssen, um ein Auge auf sie leicht installierenlogwatch(sollte in Ihren Standard-Repositorys unter Debian und Ubuntu vorhanden sein), um Sie täglich oder wöchentlich per E-Mail zu benachrichtigen. Durch häufiges Lesen lernen Sie schnell, den Fehler zu finden.

Wenn Sie zur Verwaltung des Servers eine Verbindung von außen benötigen, verwenden Sie ein VPN und halten Sie das Betriebssystem auf jeden Fall immer auf dem neuesten Stand!

Update: Für SSH und SFTP denke ich, dass fail2ban + nur SSH-Schlüssel (oder Schlüssel + Passwort, aber nicht nur Passwort) das Minimum ist, das Sie benötigen (und keinen Root-Zugriff zulassen).

Wenn die Maschinen, die Sie zum Verbinden verwenden, über eine feste IP-Adresse verfügen, öffnen Sie die Firewall nur für diese eingehende IP-Adresse.

Ein verschlüsseltes VPN (ich verwendeOpenVPN) hilft auch sehr, Ihren Zugang zu sichern.
Schauen Sie hier für die'schnelles' offizielles Tutorial, in 15-30 Minuten haben Sie einen funktionierenden VPN-Server für einen Client - einen Server. Für eine bessere Einrichtungmit Client-Zertifikat-Authentifizierung und einer CA(deine kostenlose eigene CA) musst du dir noch ein paar Minuten Zeit nehmen :D

Wenn Ihre Sites MySQL erfordern oder Sie MySQL (oder eine andere Datenbank) aus einem anderen Grund über das Internet verwalten müssen, verwenden Sie, wenn Sie kein VPN verwenden, einen SSH-Tunnel, sodass Sie eine Verbindung zu einem lokalen Port auf Ihrem Computer herstellen und der Tunnel die Verbindung zum Server verschlüsselt, sodass Sie den Datenbankport nicht öffnen müssen. Sehen Sie sich die -Lund -DArgumente in an man ssh.
Ich würde phpmyadmin nicht installieren, um auf einer öffentlichen IP zu lauschen, da dies Ihre Datenbank für die Welt öffnet. Bei Bedarf kann ich hier ein Beispielskript für einen Tunnel einfügen.

verwandte Informationen