В этой заметке расскажу, как с помощью некторых переменных sysct
увеличить безопасность вашего сервера. Всё описанное ниже, относиться
только к FreeBSD. Переменные можно менять прямо с
консоли так:
#sysctl
ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ
Что бы посмотреть текущее значение переменной:
#sysclt
ПЕРЕМЕННАЯ
Кстати, посмотреть переменные можно и не обладая правами root'a.
Для того, что после ребута вам не пришлось их заново прописывать,
существует файл, куда это дело можно прописать. Теперь при каждой
загрузке переменные будут считываться из этого файла и применяться
автоматически. Имя этого файла /etc/sysctl.conf. И так,
приступим. Здесь буду описывать только сами переменные и их значения.
security.bsd.see_other_uids=0
: запрещаем пользователям просматривать чужие процессы (будут видны
только свои)
security.bsd.see_other_gids=0
: тоже самое, только группам
net.inet.tcp.blackhole=2
: пускаем запросы на закрытые порты в "чёрные дыры", то есть просто
напросто убиваем, без всяких оповещений. Очень помогает при
сканнировании портов. Это для протокола tcp.
net.inet.udp.blackhole=1
: тоже самое, но только для udp
security.bsd.hardlink_check_uid=1
: пользователи могут делать hardlink только на свои файлы
security.bsd.hardlink_check_gid=1
: тоже самое, но только для групп.
net.link.ether.ipfw=1
: ipfw2 позволяет фильтровать по MAC адресам
net.inet.icmp.drop_redirect=1 : ICMP REDIRECT пакеты игнорируются
net.inet.icmp.bmcastecho=0
: для защиты от SMURF атак (ICMP echo request на broadcast адрес) |