Härten eines Home Servers

2278
NetStudent

Ich denke darüber nach, einen bescheidenen Webserver mit alter Hardware und Ubuntu 12.04 oder Debian 6 einzurichten. Ich bin mir bewusst, dass ich durch das Aussetzen eines Computers in meinem LAN der Außenwelt anfällig für Sicherheitsverletzungen und Angriffe werden kann. Da ich so gut wie keine Erfahrung mit der Sicherung von Computern mit Linux habe, möchte ich einige Empfehlungen dazu erhalten, wie ich diesen Webserver sichern sollte, zumal es in meinem Heim-LAN andere Computer gibt, die vertrauliche Informationen enthalten ( über Bankkonten und dergleichen). Vielen Dank.

5

1 Antwort auf die Frage

5
laurent

Zuerst wissen Sie das wahrscheinlich, aber wenn Sie über eine dynamische IP verfügen, benötigen Sie ein dynamisches DNS wie DynDNS oder DNSexit .

Ich denke, das Sichern von Port 80 für eingehende Verbindungen iptables(oder eine Firewall-GUI wie Firestarter, wenn Sie es vorziehen) ist für einen Home-Server ausreichend, wenn Sie nicht den SSH-Port (Port 22) oder FTP (21) öffnen müssen ) und Sie installieren keinen Mailserver.

Wenn Ihre Site über eine Anmeldeseite verfügt oder wenn Sie ssh, ftp oder smtp öffnen müssen, würde ich empfehlen, zumindest etwas wie fail2ban zu installieren, um IP zu verbieten, die Verbindungen ohne Erfolg versuchen, damit sie nicht ewig versuchen.

Eine wichtige Sache, die Sie beachten sollten, ist, dass Sie sich Ihre Protokolle ansehen müssen, um sie leicht im Auge zu behalten logwatch(sollte sich in Ihren Standard-Repositorys unter Debian und Ubuntu befinden), um Sie täglich oder wöchentlich per E-Mail zu benachrichtigen. Sie werden schnell herausfinden, was falsch ist, indem Sie sie häufig lesen.

Wenn Sie von außen eine Verbindung herstellen müssen, um den Server zu verwalten, verwenden Sie ein VPN, und halten Sie das Betriebssystem stets auf dem neuesten Stand!

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

Wenn die Maschinen, die Sie zum Verbinden verwenden, feste IP-Adressen haben, öffnen Sie die Firewall nur für diese eingehenden IP-Adressen.

Ein verschlüsseltes VPN (ich verwende openvpn ) hilft auch sehr, Ihren Zugang zu sichern.
Schauen Sie sich hier das 'schnelle' offizielle Tutorial an . In 15 bis 30 Minuten haben Sie einen funktionierenden VPN-Server für einen Client - einen Server. Für ein besseres Setup mit der Client-Zertifikatsauthentifizierung und einer Zertifizierungsstelle (Ihrer kostenlosen eigenen Zertifizierungsstelle ) müssen Sie einige Minuten warten: D

Wenn Ihre Sites MySQL benötigen oder aus anderen Gründen Sie MySQL (oder eine andere Datenbank) über das Internet verwalten müssen, wenn Sie kein VPN verwenden, verwenden Sie einen SSH-Tunnel, um eine Verbindung zu einem lokalen Port auf Ihrem Computer herzustellen und den Tunnel zu verschlüsseln die Verbindung zum Server, damit Sie den Datenbankport nicht öffnen müssen, schauen Sie sich die Argumente -Lund -Dan man ssh.
Ich würde phpmyadmin nicht installieren, um auf eine öffentliche IP-Adresse zu hören, da dadurch Ihre Datenbank für die Welt geöffnet wird. Wenn Sie möchten, kann ich hier ein Beispielskript für einen Tunnel einfügen.

Vielen Dank! Ja, das ist mir bewusst und ich denke, ich werde entweder NoIP oder DynDNs verwenden. Auf der anderen Seite muss ich wirklich SSH- und SFTP-Ports öffnen ... Was muss ich in diesem Fall tun? NetStudent vor 11 Jahren 0
Antwort bearbeitet für SSH und SFTP laurent vor 11 Jahren 1