Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя FreeBSD Необходимые шаги по защите сервера FreeBSD_2

Необходимые шаги по защите сервера FreeBSD_2

Правила паролей
По умолчанию, FreeBSD использует md5 для хеширования и шифрования паролей. Это
не плохо, но алгоритм Blowfish гораздо более эффективен , и нам понадобится обновить некоторые файлы для его использования.
 Пароли не будут преобразованы с использованием Blowfish пока не будут изменены.
#echo "crypt_default=blf" >> /etc/auth.conf
Вам необходимо в ручную отредактировать файл /etc/login.conf и изменить формат класса по умолчанию на blf. Так же, необходимо изменить политику паролей по умолчанию, и установить требование минимальной длины паролей, а кроме того смесь верхнего и нижнего регистров. Также укажем что пароли истекают через 90 дней, а для атоматических логинов пользователей через 30 минут. Хорошей идеей является установка umask по умолчанию.
Umask является инверсией chmod. Таким образом, когда создаются новые файлы и
каталоги, они будут получать разрешения 0750.
 
# nano -w /etc/login.conf
 
default:\
:passwd_format=blf:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:ignoretime@:\
:minpasswordlen=8:\
:mixpasswordcase=true:\
:passwordtime=90d:\
:idletime=30:\
:umask=027:
 
Обновим базу данных логинов используя
# cap_mkdb /etc/login.conf
После изменения пароля пользователя,обратите внимание, что при хешировании пароля в /etc/master.passwd используется префикс $2a. Это означает, что blowfish работает.
 
Ограничение доступа пользователей
Мы рекомендуем ограничить cron и at только для использования root'ом.
#echo "root" > /var/cron/allow
#echo "root" > /var/at/at.allow
#chmod o= /etc/crontab
#chmod o= /usr/bin/crontab
#chmod o= /usr/bin/at
#chmod o= /usr/bin/atq
#chmod o= /usr/bin/atrm
#chmod o= /usr/bin/batch
С ледующий шаг — ограничение чтения и выполнения определённых файлов.
Регулярный пользователь не должен иметь доступ к следующим файлам конфигурации:
#chmod o= /etc/fstab
#chmod o= /etc/ftpusers
#chmod o= /etc/group
#chmod o= /etc/hosts
#chmod o= /etc/hosts.allow
#chmod o= /etc/hosts.equiv
#chmod o= /etc/hosts.lpd
#chmod o= /etc/inetd.conf
#chmod o= /etc/login.access
#chmod o= /etc/login.conf
#chmod o= /etc/newsyslog.conf
#chmod o= /etc/rc.conf
#chmod o= /etc/ssh/sshd_config
#chmod o= /etc/sysctl.conf
#chmod o= /etc/syslog.conf
#chmod o= /etc/ttys
 
Обычно, злоумышленник очищает записи файлов журналов после выполнения своих
действий. Если атакующий не получит доступа к журналам, вы сможете определить какие действия были выполнены в ходе атаки. Отключим доступ пользователей к каталогу журналов, а потом установим разрешения запрещающие удаление журнальных файлов.
Примение этих изменений для файлов журналов, так же означает, что не будет выполняться ротация журналов.
#chmod o= /var/log
#chflags sappnd /var/log
#chflags sappnd /var/log/*
 
Возможно, вы захотите ограничить попытки пользователей выполнить определённые
программы, как то:
#chmod o= /usr/bin/users
#chmod o= /usr/bin/w
#chmod o= /usr/bin/who
#chmod o= /usr/bin/lastcomm
#chmod o= /usr/sbin/jls
#chmod o= /usr/bin/last
#chmod o= /usr/sbin/lastlogin

Домашняя FreeBSD Необходимые шаги по защите сервера FreeBSD_2