O que são redirecionamentos de ICMP e devem ser bloqueados?


22

Depois de ativar o ufw e o auditor de segurança do Tiger, vejo avisos dizendo:

The system accepts ICMP redirection messages

O que são mensagens de redirecionamento de ICMP? Eles devem ser desativados por motivos de segurança? Em caso afirmativo, qual é a maneira correta de fazer isso usando o firewall ufw?

Respostas:


28

Conforme este artigo

Há certos casos em que os pacotes ICMP podem ser usados ​​para atacar uma rede. Embora esse tipo de problema não seja comum hoje em dia, há situações em que esses problemas acontecem. Este é o caso do redirecionamento ICMP ou pacote ICMP tipo 5. Os redirecionamentos ICMP são usados ​​pelos roteadores para especificar melhores caminhos de roteamento de uma rede, com base na escolha do host, portanto, basicamente, afeta a maneira como os pacotes são roteados e os destinos.

Por meio de redirecionamentos ICMP, um host pode descobrir quais redes podem ser acessadas na rede local e quais são os roteadores a serem usados ​​para cada uma dessas redes. O problema de segurança vem do fato de que os pacotes ICMP, incluindo o redirecionamento ICMP, são extremamente fáceis de falsificar e, basicamente, seria bastante fácil para um invasor falsificar pacotes de redirecionamento ICMP.

O atacante pode então alterar basicamente as tabelas de roteamento do seu host e desviar o tráfego para hosts externos no caminho de sua escolha; o novo caminho é mantido ativo pelo roteador por 10 minutos. Devido a esse fato e aos riscos de segurança envolvidos nesse cenário, ainda é uma prática recomendada desativar as mensagens de redirecionamento de ICMP (ignorá-las) de todas as interfaces públicas.

Você precisa editar o arquivo /etc/sysctl.conf

e mudar

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0

PARA

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0

Em seguida, aplique as modificações de parâmetro do kernel acima com:

$ sudo sysctl -p

Obrigado. Você provavelmente também precisa descomentar essas linhas, não? :)
jrdioko

Ai sim. Meu erro. Atualizado.
Manish Sinha

4
Você precisa fazer isso para aceitar as alterações: sudo sysctl -p

Eu não acho que a configuração net.ipv4.conf.all.accept_redirects = 0 faz alguma coisa; observe o or_ no arquivo. Se eu estiver lendo secure_redirects [ frozentux.net/ipsysctl-tutorial/chunkyhtml/… ] corretamente, isso substituirá o net.ipv4.conf.all.accept_redirects = 0
gerardw

3

Lembre-se de que, se o encaminhamento estiver desativado (não somos um roteador), o valor net.ipvX.conf.all.accept_redirects será um valor específico da interface ORed, por exemplo, net.ipvX.conf.eth0.accept_redirects. send_redirects sempre é ORed.

A correção completa seria então:

net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0

Para utilizar as configurações 'padrão', as interfaces de rede devem ser configuradas novamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.