it-swarm.com.de

Wie "schließen" Sie offene Ports?

Vor ein paar Tagen begann ich mich sehr um meine Datensicherheit zu kümmern. Am Ende nmap beschäftige ich mich mit: nmap 127.0.0.1

Überraschung, Überraschung, ich habe viele aktive Dienste, die localhost hören:

$ nmap 127.0.0.1
Starting Nmap 5.21 ( http://nmap.org ) at 2013-05-05 00:19 WEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00025s latency).
Not shown: 993 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
111/tcp open  rpcbind
139/tcp open  netbios-ssn
445/tcp open  Microsoft-ds
631/tcp open  ipp

Nmap done: 1 IP address (1 Host up) scanned in 0.05 seconds

Die einzige, die ich könnte verwenden, ist ssh (obwohl es wahrscheinlich nicht gut konfiguriert ist, werde ich diese Angelegenheit auf eine andere Frage beschränken).

Soweit ich weiß, wird das Protokoll ipp von CUPS verwendet, um meine Drucker freizugeben. Ich muss sie nicht freigeben, sondern nur von einem Server aus auf Drucker zugreifen.

Dies ist die Ausgabe von netstat -lntup Durch den Root-Benutzer, wobei die lokalen Hostadressen entfernt werden:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      497/sshd        
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2217/dropbox    
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:50022           0.0.0.0:*               LISTEN      1021/rpc.statd  
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      892/smbd        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      906/rpcbind     
tcp6       0      0 :::22                   :::*                    LISTEN      497/sshd        
tcp6       0      0 :::42712                :::*                    LISTEN      1021/rpc.statd  
tcp6       0      0 :::445                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::139                  :::*                    LISTEN      892/smbd        
tcp6       0      0 :::111                  :::*                    LISTEN      906/rpcbind     
udp        0      0 0.0.0.0:51566           0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:68              0.0.0.0:*                           7362/dhclient   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           906/rpcbind     
udp        0      0 192.168.1.255:137       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:137        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:137             0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.255:138       0.0.0.0:*                           1782/nmbd       
udp        0      0 192.168.1.67:138        0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:138             0.0.0.0:*                           1782/nmbd       
udp        0      0 0.0.0.0:655             0.0.0.0:*                           906/rpcbind     
udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2217/dropbox    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           615/avahi-daemon: r
udp        0      0 0.0.0.0:34805           0.0.0.0:*                           1021/rpc.statd  
udp6       0      0 :::40192                :::*                                1021/rpc.statd  
udp6       0      0 :::111                  :::*                                906/rpcbind     
udp6       0      0 :::655                  :::*                                906/rpcbind     
udp6       0      0 :::5353                 :::*                                615/avahi-daemon: r
udp6       0      0 :::42629                :::*                                615/avahi-daemon: r

Wie konfiguriere ich diese Dienste so, dass sie nur dann auf die Außenwelt hören, wenn ich sie tatsächlich verwende?

22
RSFalcon7

127.0.0.1 ist nicht die "Außenwelt", sie schaut sich im Haus um.

Überprüfen Sie Ihre Firewall-Konfiguration (iptables unter Linux heute). Die meisten von ihnen sollten nicht von außen zugänglich sein.

Führen Sie keine Dienste aus, die Sie nicht benötigen. Deinstallieren Sie alle nicht benötigten Software.

Ändern Sie Passwörter , um stärker zu sein. Überprüfen Sie Ihre Nutzung des Systems und jagen Sie keine zufällige Website nach dem Zufallsprinzip. Überprüfen Sie die Konfiguration des Browsers gegen Phising, Anti-Skripte usw. Überarbeiten Sie die Verwendung von SSH und su/Sudo.

Vor allem aber ist übermäßige Paranoia kontraproduktiv. Lass dich nicht vom Glitzer der Technologie fangen.

12
vonbrand

Während Sie einzelne Dienste "schließen" können, ist es möglicherweise einfacher, eine Firewall einzurichten. Fast alle gängigen Distributionen (Ubuntu, Debian, Centos usw.) unterstützen integrierte Iptables.

Ein einfacher Regelsatz für den Einstieg: (Sie können diese einfach an einer Eingabeaufforderung eingeben. Um sie dauerhaft zu machen, fügen Sie sie Ihren Startskripten hinzu oder teilen Sie uns mit, welche Distribution Sie verwenden. Auf Centos zum Beispiel: system-config -firewall ist eine gute Benutzeroberfläche zum Konfigurieren von iptables-Regeln.

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

Grundsätzlich - ssh eingehend zulassen; alles andere fallen lassen.

Ihre INPUT-Kette sieht jetzt so aus:

  • Wenn ein Paket für 'ssh' auf meinen Computer kommt, lassen Sie es zu
  • Wenn ein Paket keiner der vorherigen Regeln entspricht, werfen Sie es einfach weg.

Angenommen, Sie möchten zu einem späteren Zeitpunkt 'samba' (Windows-Dateifreigabe) zulassen: Sie können ausgeführt werden

iptables -I INPUT-p tcp --dport 465 -j ACCEPT

Das -I stellt die Liste voran und regiert sie; -A fügt eine Regel hinzu. Ihre Kette sieht jetzt so aus:

  • Wenn ein Paket für 'Samba' auf meinen Computer kommt, lassen Sie es zu
  • Wenn ein Paket für 'ssh' auf meinen Computer kommt, lassen Sie es zu
  • Wenn ein Paket keiner der vorherigen Regeln entspricht, werfen Sie es einfach weg.

Die Kette INPUT bezieht sich auf Pakete, die für Ihr System bestimmt sind. Andere Ketten sind OUTPUT für Pakete von Ihrem Computer, die ins Internet gehen, und FORWARD für Pakete, die über Ihren Computer geleitet werden (dh Pakete, die Ihren Computer wie den Transitbereich eines Flughafens "durchqueren") - Dinge, die nicht INPUT sind, weil sie nicht in Ihren Computer gelangen).

Zum Abschied: nmap'ing 127.0.0.1 ist nicht sehr nützlich; Viele Dienste sind nur über 127.0.0.1 und keine andere Adresse zugänglich. Wenn Sie keinen anderen Computer haben, auf dem Sie nmap ausführen können, verwenden Sie Gibson Research 'Shields UP! ( https://www.grc.com/shieldsup ) - Dies ist eine kostenlose Online-nmap-Lite. Oder füge einen Kommentar mit deiner IP/E-Mail hinzu und ich werde dich nmap :)

3
Grynn