🐧 Как правильно защитить sysctl на Linux от спуффинга и Syn-флуда |

🐧 Как правильно защитить sysctl на Linux от спуффинга и Syn-флуда

Мануал
Защита ваших серверов Linux от SYN-атак и подмены IP-адресов не так сложна, как вы думаете.
Давайте разберем это на примерах.
Sysctl позволяет вносить изменения в работающее ядро Linux.

Эта утилита считывает и изменяет различные атрибуты ядра, такие как номер версии, максимальные ограничения и ряд параметров безопасности.

Система sysctl также позволяет предотвращать такие атаки, как SYN-флуд и спуффинг IP-адресов.

Она также регистрирует некоторые типы подозрительных пакетов – поддельные пакеты, пакеты с маршрутизацией от источника и перенаправленные пакеты.

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

Я хочу показать вам, как вы можете защитить sysctl, быстро редактируя файл конфигурации.

Эта конфигурация будет состоять в следующем:
  • Отключить проброс IP
  • Отключить перенаправления отправки пакетов
  • Отключить принятие перенаправления ICMP
  • Включить защиту от неправильных сообщений об ошибка

Что вам понадобиться:

  • Linux
  • Пользователь с привилегиями sudo
Примечание: я буду демонстрировать пример на Ubuntu Server 18.04, но этот процесс одинаков для большинства дистрибутивов Linux.

Как отредактировать файл конфигурации sysctl

Войдите на свой сервер Linux или десктоп и откройте окно терминала.
В терминле введите команду:
sudo nano /etc/sysctl.conf
Первый нужный параметр:
#net.ipv4.ip_forward=1

измените на:

net.ipv4.ip_forward=0

Следующая строка:

#net.ipv4.conf.all.send_redirects = 0

измените на:

net.ipv4.conf.all.send_redirects = 0

Найдите строку:

#net.ipv4.conf.all.accept_redirects = 0

измените на:

net.ipv4.conf.all.accept_redirects = 0

Добавьте следующую строку под этим:

net.ipv4.conf.default.accept_redirects = 0

Наконец, добавьте следующие строки в конец файла:

net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=45

Вышеуказанные настройки делают следующее:

  • Включают защиту от неправильных сообщений об ошибках
  • Включают файлы cookie SYN, чтобы сервер не сбрасывал соединения при заполнении очереди SYN
  • Увеличиапют размер очереди SYS до 2048
  • Закрывают состояние соединения SYN_RECV заранее
  • Уменьшают значение тайм-аута для SYN_RECV, чтобы помочь смягчить атаку SYN-флуд
Сохраните и закройте файл.

Как перезагрузить конфигурацию

Вы можете перезагрузить конфигурацию с помощью команды:

sudo sysctl -p
Я обнаружил, что команда sysctl -p не правильно загрузила tcp_max_syn_backlog.
Только после перезагрузки было добавлено значение 2048.

Итак, после запуска команды sudo sysctl -p введите команду:

sudo less /proc/sys/net/ipv4/tcp_max_syn_backlog

Убедитесь, что представленное значение составляет 2048.

Если значение меньше, перезагрузите сервер.

На этом этапе ваш сервер Linux должен быть лучше защищен от SYN-атак и спуффинга IP-адресов.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий