Odpowiedzi:
Istnieją pewne przypadki, w których pakiety ICMP mogą być użyte do ataku na sieć. Chociaż ten typ problemu nie jest dzisiaj powszechny, zdarzają się sytuacje, w których takie problemy się zdarzają. Tak jest w przypadku przekierowania ICMP lub pakietu ICMP typu 5. Przekierowania ICMP są używane przez routery do określania lepszych ścieżek routingu z jednej sieci, w zależności od wyboru hosta, więc w zasadzie wpływa to na sposób routowania pakietów i miejsc docelowych.
Dzięki przekierowaniom ICMP host może dowiedzieć się, do których sieci można uzyskać dostęp z sieci lokalnej i które routery mają być używane dla każdej takiej sieci. Problem bezpieczeństwa wynika z faktu, że pakiety ICMP, w tym przekierowanie ICMP, są wyjątkowo łatwe do sfałszowania i w zasadzie atakujący może łatwo sfałszować pakiety przekierowania ICMP.
Ataker może następnie zasadniczo zmieniać tabele routingu hosta i przekierowywać ruch do hostów zewnętrznych na wybranej przez siebie ścieżce; nowa ścieżka jest utrzymywana przez router przez 10 minut. Z uwagi na ten fakt i zagrożenia bezpieczeństwa związane z takim scenariuszem nadal zaleca się wyłączanie komunikatów przekierowania ICMP (ignorowanie ich) ze wszystkich publicznych interfejsów.
Musisz edytować plik /etc/sysctl.conf
i zmień
###################################################################
# 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
DO
###################################################################
# 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
Następnie zastosuj powyższe modyfikacje parametrów jądra za pomocą:
$ sudo sysctl -p
Pamiętaj, że jeśli przekazywanie jest wyłączone (nie jesteśmy routerem), wartość net.ipvX.conf.all.accept_redirects będzie wartością specyficzną dla interfejsu ORed, np. Net.ipvX.conf.eth0.accept_redirects. send_redirects jest zawsze ORed.
Pełna poprawka byłaby wtedy:
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
Aby skorzystać z ustawień „domyślnych” interfejsy sieciowe należy ponownie skonfigurować.