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

Настройки безопасности веб-хоста Linux в /etc/sysctl.conf

В поисках дополнительных способов защиты серверов 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
  1. Что такое смурф-атака?
  2. Почему плохие сообщения об ошибках icmp плохие? Другими словами, какая польза от этого?
  3. Что такое Syncookies или SYN-флуд-атака?
  4. Зачем включать и регистрировать подделанные, перенаправленные и перенаправленные пакеты? Почему пакеты с перенаправлением и маршрутизацией от источника плохие?
  5. Что такое фильтрация обратного пути?
  6. Что такое execshild и randomize_va_space?
  7. В целом, вы бы хотели добавить что-нибудь еще или удалить какие-то настройки для своего сервера? Зачем?

Было бы очень признательно, если бы кто-нибудь мог дать объяснение (или ресурс, объясняющий их) по каждой настройке здесь.


Обновить:

Я нашел этот документ чрезвычайно полезным для понимания настроек, связанных с IP: http://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html

  1. Смурф-атака - это когда кто-то отправляет пакеты на широковещательный адрес, обычно с поддельным источником, чтобы обманом заставить вас отправить большое количество ответов.

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

  3. Атака SYN-флуда - это атака, при которой злоумышленник попадает на сервер с большим количеством запросов TCP-соединения. Идея состоит в том, чтобы использовать память на сервере, заставляя его отслеживать все запросы на соединение. Файлы cookie SYN позволяют серверу обрабатывать запросы на соединение без использования памяти.

  4. Пакеты с маршрутизацией от источника плохи, потому что они могут быть использованы посторонними, чтобы заставить вашу внутреннюю сетевую политику игнорироваться или нарушаться. Ведение журнала поддельных пакетов, пакетов с маршрутизацией от источника или перенаправления имеет смысл, потому что в отличие от плохих сообщений об ошибках ICMP они обычно указывают на то, что кто-то делает что-то преднамеренное, а не на ошибку конфигурации или сломанный маршрутизатор.

  5. Фильтрация обратного пути заставляет ваш маршрутизатор отбрасывать пакет, если он был получен на интерфейсе, который вы не использовали бы для отправки пакетов этому источнику. Лично я всегда его отключаю. По моему опыту, это создает гораздо больше проблем, чем решает, например, нарушение многопутевости IP.