Необходимые шаги по защите сервера 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:\r

:passwd_format=blf:\r

:copyright=/etc/COPYRIGHT:\r

:welcome=/etc/motd:\r

:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\r

:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\r

:nologin=/var/run/nologin:\r

:cputime=unlimited:\r

:datasize=unlimited:\r

:stacksize=unlimited:\r

:memorylocked=unlimited:\r

:memoryuse=unlimited:\r

:filesize=unlimited:\r

:coredumpsize=unlimited:\r

:openfiles=unlimited:\r

:maxproc=unlimited:\r

:sbsize=unlimited:\r

:vmemoryuse=unlimited:\r

:priority=0:\r

:ignoretime@:\r

:minpasswordlen=8:\r

:mixpasswordcase=true:\r

:passwordtime=90d:\r

:idletime=30:\r

: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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *