|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Настройка FreeBSD при помощи sysctlУтилита sysctl дает возможность не только просмотреть параметры ядра, но и изменить некоторые из них. С помощью sysctl можно увеличить производительность и улучшить безопасность системы в целом не пересобирая ядро. Просмотреть все настройки можно следующим образом: # cd ~ # mkdir sysctl # sysctl -A >sysctl/sysctl.txt # ee sysctl/sysctl.txt Альтернативный вариант с постраничным разбитием # sysctl -A | less Увидеть только определенные настройки из раздела security.bsd можно с помощью такой команды: # sysctl security.bsd Флаг -d после sysctl добавит к перечню настроек их описание. Сами настройки располагаются по принципу древовидной структуры, их часто называют MIB (Management Information Base). Перечень основных разделов описан в таблице ниже:
Изменить настройки sysctl можно передав переменную и её новое значение. Например, чтобы изменить значение security.bsd.see_other_gids с 1 на 0, нужно выполнить следующую команду: # sysctl security.bsd.see_other_gids=0 Это изменение будет применено немедленно и действительно до перезагрузки системы. Чтобы сохранить это значение на все время существования системы, нужно добавить его в файл /etc/sysctl.conf: security.bsd.see_other_gids=0 Применить настройки из /etc/sysctl.conf без перезагрузки системы можно так: # /etc/rc.d/sysctl restart Многие настройки sysctl изменять нельзя, некоторые нужно применять сразу при загрузке системы (в основном это переменные раздела hw) - для этого служит другой файл: /etc/loader.conf. Полезные настройки sysctlВсе настройки, описанные ниже, тестировались на FreeBSD 8.4. Отключение ICMP редиректаПочему ICMP редирект включен по умолчанию в FreeBSD остается загадкой, так как при его наличии система остается открытой для атак из вне (подробнее net.inet.ip.redirect=0 net.inet6.ip6.redirect=0 net.inet.icmp.drop_redirect=1 Доступ к просмотру системных процессовЧтобы обычные пользователи не могли видеть чужие процессы, и соответственно, что запущено на сервере, необходимо переключить установленные по умолчанию параметры security.bsd.see_other_gids и security.bsd.see_other_uids из 1 в 0. Если оставить security.bsd.see_other_gids значение 1, то пользователь сможет видеть процессы группы, в которой он состоит. Защита от сканирования портовПо умолчанию в FreeBSD параметры net.inet.tcp.blackhole и net.inet.udp.blackhole установлены в ноль, из-за чего при попытке подключиться на порты, которые не прослушиваются приложениями, сообщение о невозможности подключения к этим портам выдается очень быстро. Чтобы усложнить работу сканера портов рекомендуется net.inet.tcp.blackhole установить значение 2, а net.inet.udp.blackhole = 1 (значение 2 для net.inet.udp.blackhole отсутствует за ненадобностью). Значение 1 для net.inet.tcp.blackhole заставляет FreeBSD отклонять все SYN пакеты (пакеты устанавливающие соединение) пришедшие на никем не обслуживаемые порты без отсылки отправителю RST пакетов, значение 2 отбрасывает вообще все, а не только SYN пакеты, на закрытый порт. В случае установки значений net.inet.tcp.blackhole=2 и net.inet.udp.blackhole=1 сканирование портов будет протекать заметно дольше. Проверить скорость ответа сервера до и после изменения параметра net.inet.tcp.blackhole можно при помощи telnet, подключаясь им на заранее известный, ни кем не обслуживаемый порт: open 192.168.5.5 27. Если используется блокировка неиспользуемых портов в FireWall, не забудьте перед тестом разрешить доступ к тестируемым портам, иначе разницы по скорости может и не быть. Даже если неиспользуемые порты блокируются в FireWall, изменить настройки ядра на более безопасные будет не лишним. Настройка FireWall ipfw в sysctlПросмотреть настройки FireWall ipfw можно такой командой: sysctl net.inet.ip.fw. Описание переменных для настройки ipfw - ниже.
Опубликовано: 2013/08/06
HTML-код ссылки на эту страницу:
<a href="https://petrenco.com/freebsd.php?txt=178" target="_blank">Настройка FreeBSD при помощи sysctl</a> 11871
Комментарии
Отличная статья !
Добавить комментарий
|