В поисках дополнительных способов защиты серверов Linux я обнаружил следующее /etc/sysctl.conf
конфигурация. Он пришел как есть, без особых объяснений. Прежде чем использовать его в производственной среде (используя Ubuntu 12.04 LTS), я хотел бы знать, как это повлияет на веб-сервер.
# Avoid a smurf attack
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Turn on protection for bad icmp error messages
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Turn on syncookies for SYN flood attack protection
net.ipv4.tcp_syncookies = 1
# Turn on and log spoofed, source routed, and redirect packets
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
# No source routed packets here
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Turn on reverse path filtering
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Make sure no one can alter the routing tables
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
# Don't act as a router
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Turn on execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1
# Tune IPv6
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
Было бы очень признательно, если бы кто-нибудь мог дать объяснение (или ресурс, объясняющий их) по каждой настройке здесь.
Обновить:
Я нашел этот документ чрезвычайно полезным для понимания настроек, связанных с IP: http://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html
Смурф-атака - это когда кто-то отправляет пакеты на широковещательный адрес, обычно с поддельным источником, чтобы обманом заставить вас отправить большое количество ответов.
Забивают ваши журналы сообщениями об ошибках. Их игнорирование сохраняет логи незагроможденными. В любом случае, вы не можете починить Интернет.
Атака SYN-флуда - это атака, при которой злоумышленник попадает на сервер с большим количеством запросов TCP-соединения. Идея состоит в том, чтобы использовать память на сервере, заставляя его отслеживать все запросы на соединение. Файлы cookie SYN позволяют серверу обрабатывать запросы на соединение без использования памяти.
Пакеты с маршрутизацией от источника плохи, потому что они могут быть использованы посторонними, чтобы заставить вашу внутреннюю сетевую политику игнорироваться или нарушаться. Ведение журнала поддельных пакетов, пакетов с маршрутизацией от источника или перенаправления имеет смысл, потому что в отличие от плохих сообщений об ошибках ICMP они обычно указывают на то, что кто-то делает что-то преднамеренное, а не на ошибку конфигурации или сломанный маршрутизатор.
Фильтрация обратного пути заставляет ваш маршрутизатор отбрасывать пакет, если он был получен на интерфейсе, который вы не использовали бы для отправки пакетов этому источнику. Лично я всегда его отключаю. По моему опыту, это создает гораздо больше проблем, чем решает, например, нарушение многопутевости IP.