Эта утилита считывает и изменяет различные атрибуты ядра, такие как номер версии, максимальные ограничения и ряд параметров безопасности.
Система sysctl также позволяет предотвращать такие атаки, как SYN-флуд и спуффинг IP-адресов.
Она также регистрирует некоторые типы подозрительных пакетов – поддельные пакеты, пакеты с маршрутизацией от источника и перенаправленные пакеты.
Вы можете изменить параметры ядра во время выполнения с помощью команды sysctl или внести изменения в файл конфигурации системы, чтобы эти изменения носили более постоянный характер.
Я хочу показать вам, как вы можете защитить sysctl, быстро редактируя файл конфигурации.
- Отключить проброс IP
- Отключить перенаправления отправки пакетов
- Отключить принятие перенаправления ICMP
- Включить защиту от неправильных сообщений об ошибка
Что вам понадобиться:
- Linux
- Пользователь с привилегиями sudo
Примечание: я буду демонстрировать пример на Ubuntu Server 18.04, но этот процесс одинаков для большинства дистрибутивов Linux.
Как отредактировать файл конфигурации sysctl
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
Итак, после запуска команды sudo sysctl -p введите команду:
sudo less /proc/sys/net/ipv4/tcp_max_syn_backlog
Убедитесь, что представленное значение составляет 2048.
Если значение меньше, перезагрузите сервер.