Назад | Перейти на главную страницу

Марсианские источники с моего публичного IP

Сейчас я получаю несколько марсианских пакетов в kern.log:

Jul  7 02:28:20 box14932 kernel: [789192.798073] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.12.01, on dev eth1
Jul  7 02:28:20 box14932 kernel: [789192.798095] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..
Jul  7 04:29:12 box14932 kernel: [798267.423393] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.20.10, on dev eth1
Jul  7 04:29:12 box14932 kernel: [798267.423401] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..
Jul  7 04:29:12 box14932 kernel: [798267.423408] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.20.10, on dev eth1
Jul  7 04:29:12 box14932 kernel: [798267.423410] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..

Источник «XXX.XXX.XXX.XXX» - это общедоступный IP-адрес моего сервера.

Ищу в гугле, толком не нашел что было. Это спуф-атака или просто проблема с сетевой конфигурацией на моем сервере?

У меня на сервере два интерфейса:

Вот моя конфигурация sysctl.conf, где rp_filter = 1 и log_martians = 1:

# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1


# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0 
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0

# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0 
net.ipv6.conf.default.accept_redirects = 0

Кто-нибудь может мне помочь? Стоит ли беспокоиться об этих марсианах?

Что вы скажете о добавлении правил iptables для DROP и LOG пакетов, например:

-A INPUT -i -s 10.0.0.0/8 ENO1 j DROP

Большое спасибо за вашу помощь

Многие проблемы, возникающие с марсианин источник вызван соображениями топографии сети. Возможно, потребуется решить следующие проблемы:

  • Маршрутизатор: Маршрутизатор может маршрутизировать через недопустимые адреса; убедитесь, что роутер настроен правильно.
  • Несколько сетевых адаптеров: если компьютер имеет несколько сетевых карт, подключенных к одному коммутатору, то могут отображаться марсианские источники (это наиболее частая причина).
  • Брандмауэр: есть ли брандмауэр, пропускающий несоответствующий трафик?
  • IP-адреса: вы используете групповые адреса или сетевые адреса класса E?
  • Другие компьютеры: отвечают ли MAC-адреса других серверов или рабочих станций?

Возможные решения

Несколько сетевых карт в одной подсети: Наиболее частой причиной является несколько сетевых адаптеров в одной подсети. Если вам необходимо иметь несколько сетевых адаптеров в одной подсети, используйте управляемый коммутатор. Это можно проверить, отключив все карты NIC, кроме одной; если сообщения исчезают, можно предположить, что причиной являются несколько сетевых адаптеров. Другое решение - связать сетевые карты вместе. Вообще говоря, правильно настроенная сеть не должна требовать, чтобы несколько сетевых адаптеров находились в одной подсети, за исключением случая связывания.

Отключите логирование в ядро: Если вы можете определить, что марсианские источники не связаны с проблемой безопасности, вы можете отключить ведение журнала марсианских источников. Обратите внимание, что вы должны быть уверены, что сеть безопасна и что источником этих сообщений не является маршрутизатор.

  • В /etc/sysconfig/sysctl add "net.ipv4.conf..log_martians=0"

  • Удостоверься что "sysctl"настроен на запуск при загрузке"chkconfig boot.sysctl on"

Ошибки марсианских источников отображаются в журнале сообщений

Вы сможете найти источник, проверив MAC-адреса, встроенные в данные «44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00». 44: a8: 12: 41: 1d: 2b должен быть MAC-адресом вашего интерфейса. 13: 8b: 9c: ab: 34: 89 должен быть MAC-адресом удаленного устройства.

Попробуйте проверить свой кеш, чтобы узнать, есть ли у вас другие адреса для этих MAC-адресов. arp -a должна быть команда для использования.

Чтобы проверить MAC-адреса ваших устройств, используйте ip link show или ifconfig.