Este bloco de tutorial foi enviado para o meu servidor?

4

Eu sou um programador ensinando a mim mesmo as coisas do admin do linux. Eu segui isto tutorial para configurar um firewall em um VPS. Como parte desse tutorial, eu bloqueio todo o tráfego, exceto tráfego da Web e tráfego SSH. Eu verifiquei se o meu servidor era vulnerável a inundações de ping e parece que eu não posso ping meu servidor ("tempo limite de solicitação para icmp"). Alguns googles rápidos mostram que o Ping usa o ICMP que não usa portas. O tráfego ICMP ainda é regulado pelo firewall, certo? Basta verificar novamente para ter certeza de que estou entendendo corretamente o que está acontecendo. O tráfego ICMP ainda é tráfego - ele simplesmente não usa portas. Por isso, é governado pelas regras nos comandos do iptables.

Aqui está o que meu iptables parece:

$sudo iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    2   100 fail2ban-ssh  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22
 145K 9706K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
   10   616 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3457
 3463  222K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
  192 14090 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 81298 packets, 505M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    2   100 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           
$ 
    
por bernie2436 14.03.2014 / 04:33

2 respostas

2

Você precisa

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

antes da última regra no INPUT ser adicionada.

Além disso, faz sentido permitir outros pacotes ICMP, pois o IP depende de certas mensagens de erro:

iptables -A INPUT -p icmp --icmp-type echo-reply -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type source-quench -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT
    
por 14.03.2014 / 13:30
1

Basta usar abaixo na linha de comando.

root# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
root# service network restart
    
por 20.04.2015 / 21:08