Tcpdump

bonjour tout le monde,

Je viens d’installer tcpdump sur mon serveur vps.
Hier je vois sur mes rapports (tcpdump -i venet0 port 80 par exemple) énormément de lignes comme :

19:17:23.574635 IP ns382619.ip-46-105-100.eu.13801 > mon_serveur.http: Flags [S], seq 479129335, win 8192, length 0
19:17:23.574662 IP mon_serveur.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:23.948802 IP mon_serveur.http > ns382619.ip-46-105-100.eu.19203: Flags [S.], seq 1914603716, ack 1994639581, win 14600, options [mss 1460], length 0
19:17:24.748791 IP mon_serveur.http > ns382619.ip-46-105-100.eu.42751: Flags [S.], seq 440969309, ack 1737949573, win 14600, options [mss 1460], length 0
19:17:24.948812 IP mon_serveur.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:25.748788 IP mon_serveur.http > ns382619.ip-46-105-100.eu.64032: Flags [S.], seq 1657846299, ack 360252385, win 14600, options [mss 1460], length 0
19:17:26.749124 IP mon_serveur.fr.http > ns382619.ip-46-105-100.eu.51404: Flags [S.], seq 2576135774, ack 1010986977, win 14600, options [mss 1460], length 0
19:17:26.949792 IP mon_serveur.fr.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:28.169476 IP ns382619.ip-46-105-100.eu.12994 > mon_serveur.http: Flags [S], seq 2025507726, win 8192, length 0

J’ai regardé : ns382619.ip-46.105.100.eu.quelquechose vient de chez OVH, en pointe sur leur messagerie.

  1. Mais je ne comprend pas pourquoi ???
    Que dois je en conclure ?

  2. Je ne vois pas dans access.log trace de cela
    Pourquoi ?

  3. J’ai essayé d ebannir cette adresse dans mon .htaccess en faisant :
    RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.[a-z0-9]+$
    Mais j’ai toujours ces entrées dans tcpdump

Qui peut m’expliquer un peu et/ou me donner des directions pour lire et analyser les sorties tcpdump. Je trouve en effet beaucoup de comment l’utiliser mais pas l’analyser.

Merci pour votre temps

yo

Note : l’option -n de tcpdump supprime la résolution de nom des adresses IP et ports qui peut gêner la lisibilité.

C’es-à-dire ?

  1. Les paquets marqués [S] (SYN) sont des demandes de connexion TCP de l’hôte client, la première phase de la “poignée de main” pour l’établissement d’une connexion TCP. Les paquets marquées [S.] (SYN+ACK) signalent l’acceptation de la connexion par l’hôte serveur, la deuxième phase de la poignée de main. Il manque les paquets marqués [.] (ACK) qui signaleraient la confirmation de la connexion par le client. On voit que le serveur, ne recevant pas les paquets de confirmation ACK, retransmet des paquets d’acceptation SYN+ACK.

  2. et 3) Comme expliqué ci-dessus, ces connexions TCP sont incomplètes donc le service qui écoute ne voit rien. Aucune connexion n’est établie, aucune donnée n’est transmise.

Bonjour pascal

ok, je comprend je pense. Comme les connexions ne sont pas faites, je ne peux les voir dans access.log.
Les tentatives restent au niveau de l’entrée.

Par contre je ne comprend pas quelque chose :
dans tcpdump :
19:18:14.554792 IP monserveur.http > ns382619.ip-46-105-100.eu.16200: Flags [S.], seq 2136069910, ack 804590786, win 14600, options [mss 1460], length 0
19:18:14.801615 IP ns382619.ip-46-105-100.eu.16200 > monserveur.http: Flags [S], seq 2092039892, win 8192, length 0

==> .htaccess
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.16200$
et je n’ai plus de trace dans tcpdump après

Mais quand j’écris .htaccess à la place :
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.[a-z0-9]+$

Alors elle réapparait.

as tu une idée ?

Merci
yo

[quote=“yonamoke”]bonjour tout le monde,

Je viens d’installer tcpdump sur mon serveur vps.
Hier je vois sur mes rapports (tcpdump -i venet0 port 80 par exemple) énormément de lignes comme :

19:17:23.574635 IP ns382619.ip-46-105-100.eu.13801 > mon_serveur.http: Flags [S], seq 479129335, win 8192, length 0
19:17:23.574662 IP mon_serveur.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:23.948802 IP mon_serveur.http > ns382619.ip-46-105-100.eu.19203: Flags [S.], seq 1914603716, ack 1994639581, win 14600, options [mss 1460], length 0
19:17:24.748791 IP mon_serveur.http > ns382619.ip-46-105-100.eu.42751: Flags [S.], seq 440969309, ack 1737949573, win 14600, options [mss 1460], length 0
19:17:24.948812 IP mon_serveur.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:25.748788 IP mon_serveur.http > ns382619.ip-46-105-100.eu.64032: Flags [S.], seq 1657846299, ack 360252385, win 14600, options [mss 1460], length 0
19:17:26.749124 IP mon_serveur.fr.http > ns382619.ip-46-105-100.eu.51404: Flags [S.], seq 2576135774, ack 1010986977, win 14600, options [mss 1460], length 0
19:17:26.949792 IP mon_serveur.fr.http > ns382619.ip-46-105-100.eu.13801: Flags [S.], seq 1571922815, ack 479129336, win 14600, options [mss 1460], length 0
19:17:28.169476 IP ns382619.ip-46-105-100.eu.12994 > mon_serveur.http: Flags [S], seq 2025507726, win 8192, length 0

J’ai regardé : ns382619.ip-46.105.100.eu.quelquechose vient de chez OVH, en pointe sur leur messagerie.

  1. Mais je ne comprend pas pourquoi ???
    Que dois je en conclure ?
    [/quote]

(comprends) Juste qu’une de leur machine tente d’accéder à ton serveur web, c’est peut-être pour du monitoring ou un truc du genre.
Regarde si c’est périodique.

S’ils ne font que se connecter, regarder que le port est ouvert mais sans faire aucune requête, c’est normal.

[quote]
3. J’ai essayé de bannir cette adresse dans mon .htaccess en faisant :
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.[a-z0-9]+$
Mais j’ai toujours ces entrées dans tcpdump

Qui peut m’expliquer un peu et/ou me donner des directions pour lire et analyser les sorties tcpdump. Je trouve en effet beaucoup de comment l’utiliser mais pas l’analyser.

Merci pour votre temps

yo[/quote]

Tu peux bannir autant d’IPs que tu veux dans le htacces, ça les empêchera d’avoir accès aux ressources, mais pas de se connecter au port 80.
En effet, pour que apache bloque telle IP, il faut déjà que cette IP soit connectée à apache, donc au port 80 ou 443.
Il faut utiliser iptables pour ça.

P.S. : Ça ne sert à rien de masquer ton IP dans tes logs, les bots ne s’amusent pas à parser les forums, ils se contentent de scanner tout le net sans arrêt.

[quote=“yonamoke”]==> .htaccess
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.16200$
et je n’ai plus de trace dans tcpdump après

Mais quand j’écris .htaccess à la place :
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.[a-z0-9]+$[/quote]
Que signifient ces lignes et quel est leur but ?

Le nombre accolé à l’adresse IP dans la trace de tcpdump, ici 16200, est le port source ou destination (selon qu’il est accolé à l’adresse source ou destination du paquet). Le port source du client n’a pas de signification particulière, il sert juste à identifier la connexion parmi toutes les connexions de ce client.

merci pascal de me répondre

Oui je sais. Tu m’as bien fais comprendre hier que les tentatives de connexion ne le sont pas.
Et si tcpdump arrive à les voir, c’est pas pour autant que access.log les vois car elles ne passent pas.
Donc .htaccess ne sert à rien.

Juste pour expliquer, sans prendre en compte ci-dessus.
Voyant les multiples tentatives, j’ai essayé de bloquer les “ns382619.ip-46-105-100.eu.16200”. Donc j’ai écris dans .htaccess :
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.16200$
RewriteRule .* - [F,L]
Et elles passaient plus

J’ai modifié cette ligne car cette adresse essayait tous les ports et j’en avait des centaines (ns382619.ip-46-105-100.eu.).
J’ai donc écris dans .htaccess, à la place :
RewriteCond %{HTTP_HOST} ^ns382619.ip-46-105-100.eu.[a-z0-9]+$
RewriteRule .
- [F,L]

Mais je voyais à nouveau ces tentatives :
ns382619.ip-46-105-100.eu.16200 et les autres

Quelque chose clochait dans mon expression ?

PS : y a t-il de la lecture sur tcpdump ?

Désolé
merci et merci encore de ton aide
yo

Je ne peux pas te dire ce qui cloche dans ton expression car je ne connais pas sa syntaxe, mais je peux te dire qu’un numéro de port (ici 16200), outre qu’il est un nombre décimal donc ne contient pas de lettres (sauf si c’est un port listé dans /etc/services et qu’il est remplacé par le nom du service ou protocole correspondant, ce que l’option [mono]-n[/mono] de tcpdump évite), ne fait pas partie de l’adresse ou du nom d’hôte. D’autre part, filtrer sur le reverse DNS du client (ici ns382619.ip-46-105-100.eu) est dangereux dans un environnement ouvert, car le propriétaire d’une adresse IP peut virtuellement définir ce qu’il veut comme reverse DNS. Il vaut mieux filtrer sur l’adresse IP numérique (ici 46.105.100.154).

Je ne connais pas d’autre lecture sur tcpdump que sa page de manuel ([mono]man tcpdump[/mono]).

oui, pour le port j’avais mis [a-z0-9] par principe et je comprend bien ta réponse.

Et pour le reverse DNS, j’avais pas pris conscience. Comme je n’avais pas l’adresse IP réelle (pas l’option pour), je suis passé au travers.
En tout cas, merci pour ton aide.

A bientôt
yo