web-dev-qa-db-fra.com

Comment "fermer" les ports ouverts?

Il y a quelques jours, j'ai commencé à me soucier beaucoup de la sécurité de mes données, je me suis retrouvé avec nmap avec: nmap 127.0.0.1

Surprise, surprise, j'ai beaucoup de services actifs à écouter localhost:

$ 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

Le seul que je pourrais utiliser est ssh (bien qu'il ne soit probablement pas bien configuré, je vais garder cette question à une autre question) .

Autant que je sache, le protocole ipp est utilisé par CUPS pour partager mes imprimantes, je n'ai pas besoin de les partager, il suffit d'accéder aux imprimantes depuis un serveur.

Il s'agit de la sortie de netstat -lntup Par l'utilisateur root, en supprimant les adresses des hôtes locaux:

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

Comment configurer ces services pour qu'ils n'écoutent le monde extérieur que lorsque je les utilise?

22
RSFalcon7

127.0.0.1 n'est pas le "monde extérieur", il regarde à l'intérieur de la maison.

Vérifiez la configuration de votre pare-feu (iptables dans Linux aujourd'hui), la plupart d'entre eux ne devraient pas être accessibles depuis l'extérieur.

N'exécutez pas les services dont vous n'avez pas besoin. Désinstallez tous les logiciels non requis.

Changez mots de passe pour être plus fort. Vérifiez votre utilisation du système, ne cherchez pas au hasard un site Web intéressant. Vérifiez la configuration anti-phishing, anti-scripts, etc. du navigateur. Révisez votre utilisation de SSH et su/Sudo.

Mais surtout, une paranoïa excessive est contre-productive. Ne vous laissez pas piéger par les paillettes de technologie .

12
vonbrand

Bien que vous puissiez "fermer" des services individuels, il peut être plus simple de configurer un pare-feu. Presque toutes les distributions courantes (Ubuntu, Debian, Centos, etc.) prennent en charge les iptables intégrés.

Un jeu de règles simple pour commencer: (vous pouvez simplement les saisir à l'invite de commande; pour les rendre permanents, ajoutez-les à vos scripts de démarrage ou dites-nous quelle distribution vous utilisez. Sur Centos par exemple: system-config -firewall est une bonne interface utilisateur pour configurer les règles iptables)

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

Fondamentalement - autoriser ssh entrant; laissez tomber tout le reste.

Votre chaîne INPUT ressemble maintenant à ceci:

  • Si un paquet arrive sur mon ordinateur pour 'ssh' - permettez-le
  • Si un paquet ne correspond à aucune des règles précédentes, jetez-le simplement.

Puis à une date ultérieure, dites que vous voulez autoriser 'samba' (partage de fichiers Windows): vous pouvez exécuter

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

Le -I ajoute et règle la liste; -A ajoute une règle. Votre chaîne ressemble maintenant à ceci:

  • Si un paquet arrive sur mon ordinateur pour 'samba' - permettez-le
  • Si un paquet arrive sur mon ordinateur pour 'ssh' - permettez-le
  • Si un paquet ne correspond à aucune des règles précédentes, jetez-le simplement.

La chaîne INPUT fait référence aux paquets destinés à votre système. Les autres chaînes sont OUTPUT pour les paquets de votre ordinateur, aller sur Internet et FORWARD pour les paquets qui sont acheminés via votre ordinateur (c'est-à-dire les paquets qui "transitent" votre ordinateur, comme la zone de transit d'un aéroport - des choses qui ne sont pas INPUT car elles n'entrent pas dans votre ordinateur).

Comme note de départ: nmap'ing 127.0.0.1 n'est pas très utile; de nombreux services ne sont accessibles qu'à partir de 127.0.0.1 et aucune autre adresse. Si vous n'avez pas d'autre machine, vous pouvez exécuter nmap à partir de - essayez d'utiliser Shields UP de Gibson Research! ( https://www.grc.com/shieldsup ) - qui est un nmap-lite en ligne gratuit. Ou ajoutez un commentaire avec votre adresse IP/e-mail et je vais vous nmap :)

3
Grynn