web-dev-qa-db-fra.com

Surveiller tout ce qui entre et sort de ma machine

Bonjour, je souhaite obtenir autant de sécurité que possible sur mon ordinateur Ubuntu. Je souhaite donc vérifier les connexions suspectes. Avez-vous une idée de la façon de surveiller le trafic réseau sur mon ordinateur? entrants et sortants tous les deux. J'ai aussi essayé netstat -t -u -c et tcpdump mais je veux savoir si je peux utiliser un outil plus efficace. Merci!

1
George

Il existe de nombreux outils et différentes manières de le faire. beaucoup d'utilitaires comme: wireshark, netstat, nmap, iptraf, ss, ou même lsof. différents pare-feu, outils d'audit et de surveillance peuvent vous aider à atteindre cet objectif.

C’est à vous de décider de ce que vous voulez réaliser, du processus ou du type de trafic que vous souhaitez surveiller, etc.

wirehark

À installer:

Sudo apt-get install wireshark

Ensuite, il vous demandera si vous voulez être capable d’utiliser Wireshark en tant qu’utilisateur normal, dites oui et ajoutez-vous au groupe Wirehark:

Sudo gpasswd -a username wireshark

déconnexion et connexion, vous êtes prêt à utiliser Wirehark. Il suffit de l'exécuter, sélectionnez votre interface souhaitée, ex: enp0s3 et cliquez sur start capturing, vous pouvez également double-cliquer sur le nom de l'interface. Maintenant, vous pouvez voir tout le trafic sortant/entrant à travers cette interface.

Vous pouvez appliquer un filtre pour un type de trafic spécifique.

wireshark-filters

il existe de nombreuses façons d’appliquer des filtres, par exemple: tapez: http appuyez sur Entrée. Maintenant, vous verrez tous les trafics http. ou ip.src == 1.2.3.4 pour spécifier la source ou ip.dst pour la destination. Vous avez également accès au générateur d’expression pour créer une expression complexe afin de filtrer le type de trafic souhaité.

enter image description here


Journalisation Iptables

Vous pouvez activer la connexion à iptables:

Sudo iptables -A INPUT -j LOG
Sudo iptables -A OUPUT -j LOG

Ensuite, en utilisant différents gestionnaires de journaux, vous pouvez regarder ce qui se passe, rappelez-vous que cela va créer de très gros fichiers journaux, parce que ça va tout enregistrer!

La meilleure solution consiste à ne consigner que le trafic spécifique qui vous préoccupe, par exemple:

Sudo iptables -A INPUT -p udp --dport 53 -j LOG

Ce qui enregistre les paquets entrants en utilisant le protocole TCP au port 53.


netstat

Vous pouvez faire beaucoup avec cet outil, si vous voulez voir quels ports écoutent:

netstat -tulnp

-t: tcp, -u: udp, -n: utiliser le numéro à la place des noms, -l: écouter, -p: savoir quel processus est en cours d'écoute les ports.

Ajoutez le grep à un objet magique avec Netstat.

Sudo netstat -ul | grep 53

ss

ss est similaire à netstat avec beaucoup d'options intéressantes. si je veux lister TCP connexions de mon réseau 192.168.1.0/24 à 151.101.1.69 (qui est askubuntu IP), avec le port de destination 80 ou 443, je peux exécuter:

ss -nt '( dport = :80 or dport = :443 )' src 192.168.1.0/24 dst 151.101.1.69

ou je peux voir quelle connexion a été faite par python processus:

ss -ap | grep python

nmap

avec nmap, je peux analyser un ordinateur ou un réseau, en analysant ma propre interface du port 80 au port 800 (pour les ports ouverts):

nmap 192.168.0.1 -p 80-800

Disons que mon port 80 était ouvert, je peux utiliser le commutateur -sV pour savoir quel service avec quelle version s'exécute sur ce port:

$ nmap 192.168.1.1 -p 80 -sV
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache2
2
Ravexina

Netstat et wirehark sont déjà mentionnés.

Un bon point de départ avant de les utiliser peut être la commande lsof (liste des fichiers ouverts), elle a un indicateur -i qui indique sans argument la liste de tous les fichiers du réseau Internet.

-i (liste des fichiers réseau Internet) -P (inhiber les numéros de port) -n (pas de conversion des numéros de réseau)

un péché

lsof -i -P -n

Maintenant, c'est probablement une longue liste, et il y a beaucoup de doublons. Mais vous pouvez réduire cela

$ lsof -i -P -n | cut -f 1 -d " " | tail -n +2 | sort | uniq
chrome
dropbox
firefox
python
thunderbi
vim

Bien que cela ne vous donne pas beaucoup d’informations, c’est un aperçu rapide, et si quelque chose vous intéresse, vous pouvez l’analyser plus avant.

Gardez à l'esprit qu'il peut y avoir des faux positifs ici, dans mon cas, il s'agirait de vim et python, qui sont causés par ycmd, un plugin vim que j'utilise et qui s'exécute en tant que processus de serveur local.

Par exemple, si je ne le savais pas, je pourrais vérifier

$ ps ax | grep python 

Pour voir tous les processus, prenez un port là-bas et vérifiez netstat.

$ netstat -p | grep 51635
tcp        1      0 localhost:41792         localhost:51635         CLOSE_WAIT  27413/vim

Et, comme il a été mentionné, c’est une route de bouclage de ycmd, donc, ne sortez pas réellement de ma machine. Mais maintenant je sais.

1
canofcolliders