GNU/Linux >> Tutoriels Linux >  >> Linux

Comment fermer les ports sous Linux ?

J'ai une question en fermant le port, je pense que j'ai des choses étranges.

Quand j'utilise exécuter

nmap --top-ports 10 192.168.1.1

cela montre que le port 23/TCP est ouvert.

Mais quand j'exécute

nmap --top-ports 10 localhost

cela montre que le port 23/tcp est fermé.

Lequel d'entre eux est vrai? Je veux fermer ce port sur tout mon système, comment puis-je faire ?

Réponse acceptée :

Nmap est un excellent scanner de ports, mais parfois vous voulez quelque chose de plus autoritaire. Vous pouvez demander au noyau quels processus ont quels ports ouverts en utilisant le netstat utilitaire :

[email protected]:~$ sudo netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address   State    PID/Program name
tcp        0      0 127.0.0.1:53    0.0.0.0:*         LISTEN   1004/dnsmasq    
tcp        0      0 0.0.0.0:22      0.0.0.0:*         LISTEN   380/sshd        
tcp        0      0 127.0.0.1:631   0.0.0.0:*         LISTEN   822/cupsd       
tcp6       0      0 :::22           :::*              LISTEN   380/sshd        
tcp6       0      0 ::1:631         :::*              LISTEN   822/cupsd       

Les options que j'ai données sont :

  • -t TCP uniquement
  • -l Ports d'écoute uniquement
  • -n Ne recherchez pas les noms de service et d'hôte, affichez simplement les numéros
  • -p Afficher les informations de processus (nécessite le privilège root)

Dans ce cas, nous pouvons voir que sshd écoute sur n'importe quelle interface (0.0.0.0 ) port 22 et cupsd écoute en boucle (127.0.0.1 ) port 631. Votre sortie peut montrer que telnetd a une adresse locale de 192.168.1.1:23 , ce qui signifie qu'il ne répondra pas aux connexions sur l'adaptateur de bouclage (par exemple, vous ne pouvez pas telnet 127.0.0.1 ).

Il existe d'autres outils qui afficheront des informations similaires (par exemple, lsof ou /proc ), mais netstat est le plus largement disponible. Cela fonctionne même sous Windows (netstat -anb ). BSD netstat est un peu différent :vous devrez utiliser sockstat(1) pour obtenir les informations de processus à la place.

Une fois que vous avez l'ID de processus et le nom du programme, vous pouvez chercher le processus et le tuer si vous souhaitez fermer le port. Pour un contrôle plus précis, vous pouvez utiliser un pare-feu (iptables sous Linux) pour limiter l'accès à certaines adresses uniquement. Vous devrez peut-être désactiver le démarrage d'un service. Si le PID est "-" sous Linux, il s'agit probablement d'un processus du noyau (c'est courant avec NFS par exemple), alors bonne chance pour découvrir de quoi il s'agit.

Remarque :J'ai dit "autoritaire" parce que vous n'êtes pas gêné par les conditions du réseau et les pare-feu. Si vous faites confiance à votre ordinateur, c'est très bien. Cependant, si vous soupçonnez que vous avez été piraté, vous ne pourrez peut-être pas faire confiance aux outils de votre ordinateur. Remplacer les utilitaires standard (et parfois même les appels système) par ceux qui cachent certains processus ou ports (c'est-à-dire les rootkits) est une pratique courante chez les attaquants. Votre meilleur pari à ce stade est de faire une copie médico-légale de votre disque et de restaurer à partir de la sauvegarde ; puis utilisez la copie pour déterminer comment ils sont entrés et fermez-le.

Connexe :Comment programmer un AVR Raven avec Linux ou un Mac ?
Linux
  1. Comment installer Python sur Linux

  2. Comment installer Java sur Linux

  3. Comment partitionner un disque sous Linux

  4. Comment trouver la liste de tous les ports ouverts sous Linux

  5. Comment lister les ports ouverts sur le serveur Linux/Unix

Comment installer FFmpeg sur Linux

Comment vérifier (scanner) les ports ouverts sous Linux

Comment faire une analyse de port sous Linux

Comment vérifier les ports ouverts sous Linux

Comment rechercher et fermer des ports ouverts sous Linux

Comment vérifier les ports ouverts sous Linux ?