Por que há muitos pacotes não relacionados ao meu IP capturados com tcpdump? (Centos 7)

Por que há muitos pacotes não relacionados ao meu IP capturados com tcpdump? (Centos 7)

Tcpdump executado por:

/usr/sbin/tcpdump -U -n -i eth0 icmp or tcp dst port 22 or tcp dst port

Quando reviso os dados capturados, ele mostra:

132.132.211.221.40372 > 89.31.125.17.ssh: Flags [S], cksum 0xde63 (correct), seq 524121044, win 29200, length 0
146.136.44.207.4855 > 45.66.134.253.ssh: Flags [S], cksum 0x86a2 (correct), seq 1106964113, win 29200, length 0
46.228.217.79.64595 > 81.90.190.31.ssh: Flags [S], cksum 0xdf11 (correct), seq 4132328538, win 29200, length 0
109.89.72.226.19846 > 89.31.126.248.ssh: Flags [S], cksum 0xf42c (correct), seq 2627129631, win 29200, length 0
186.102.253.234.58270 > 45.146.123.96.ssh: Flags [S], cksum 0xc8a3 (correct), seq 3373229862, win 29200, length 0
139.204.89.135.64050 > 81.90.190.31.ssh: Flags [S], cksum 0x9afe (correct), seq 3997943153, win 29200, length 0
146.17.189.108.mbl-battd > 45.66.134.42.ssh: Flags [S], cksum 0xbf0e (correct), seq 1369840100, win 29200, length 0

Então, o estranho é que todos esses endereços, nem SCR, nem DST são meu endereço IP! Isso significa que alguém está usando meu host como um "retransmissor" para atacar o SSH de outros?

Deixe-me postar a régua do iptables e registrar aqui para referência:

-P FORWARD DROP
-A FORWARD -p tcp -m tcp --dport 22 -j LOG --log-prefix "[forward_ssh] "
-A OUTPUT  -p tcp -m tcp --dport 22 -m state --state NEW -j LOG --log-uid --log-prefix  "[out_ssh_new] "
-A OUTPUT  -p tcp -m tcp --dport 22 -m state --state ESTABLISHED -j LOG --log-uid --log-prefix "[out_ssh_est] "
-A OUTPUT  -p tcp -m tcp --dport 22 -j DROP

O log mostrado abaixo, parece que meu IP (194.156.xxx.xxx) está atacando outros....

Mar 15 08:56:35 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=2.59.135.116 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0
Mar 15 09:21:02 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=162.248.88.193 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0
Mar 15 10:52:45 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=172.106.16.136 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0

Responder1

O Tcpdump escutará todos os pacotes que passam pela sua interface de rede. Um switch Ethernet serviráé melhorpara transmitir apenas pacotes endereçados ao seu MAC. Um hub sem comutação, nem tentará, ele mostrará tudo.

Portanto você receberá todos os pacotes na sua LAN. Normalmente não esperaríamos pacotes de um conjunto tão diversificado de endereços IP. No entanto, ao procurar o seu endereço IP, descobrimos que você está em um data center, pertencente à Petersburg Internet Network ltd. Eles roteiam o tráfego da Internet? Esse tráfego poderia estar passando pela sua máquina?

Por favor, encontre um lugar mais seguro para fazer seu treinamento.

Responder2

O Tcpdump coloca sua interface de rede no modo “promíscuo”. Se você tiver um hub na rede, ele envia todos os pacotes para todas as interfaces. Uma interface então verifica o número MAC e vê se o pacote é para essa interface. Se estiver, ele o encaminha para o software receptor. Caso contrário, ele descarta o pacote.

Porém no modo promíscuo a interface pode receber todos os pacotes. Por exemplo, para exibi-lo com tcpdump.

Se você tiver um switch em vez de um hub, o switch deverá filtrar os pacotes e enviar apenas aqueles que realmente são para você. Para tráfego multicast o cenário é mais complicado e não vou explicar aqui.

Os equipamentos de rede não roteiam o tráfego de acordo com números IP, mas sim de acordo com números MAC.

Dê uma olhada aqui para mais informações


Após seu comentário, aqui estão algumas informações adicionais:

Você quer saber quais são os logs que o iptables produz. Uma coisa é que você mostra apenas registros de uma conexão estabelecida. Quando a conexão for estabelecida, também deverá haver registros sobre ela. Isso significa que essas conexões já estão estabelecidas e funcionando. Tente descobrir quais processos utilizam essas conexões, com lsofutilidade. Ao ter o nome do processo, você poderá identificar se a conexão é legal ou não.

Se você suspeitar que seu computador pode estar comprometido, sugiro algumas verificações. Veja se você tem algo instalado que não reconhece. Para RedHat/CentOS/Fedora/Oracle linux, que usam pacotes RPM/YUM, você pode verificar facilmente com alguns comandos:

Para outras distribuições, descubra por si mesmo como verificar a integridade da instalação.

informação relacionada