FreeBSD

Настройка безопасности в FreeBSD

Несмотря на то, что FreeBSD по праву считается одной из самых безопасных ОС в мире, тем не менее дам несколько советов, как эту самую безопасность улучшить.

Для начала, я не буду рассказывать про пользу обновлений операционной системы, обновление ПО, правильная настройка фаервола и т.д. и т.п. Это Вы и так должны понимать.

Для начала, поиграемся с sysctl.conf

vi /etc/sysctl.conf
net.inet.tcp.blackhole=2 # Это превращает машину в черную дыру при попытке подключиться к портам, которые не обслуживаются вашим сервером.
net.inet.udp.blackhole=1
kern.ps_showallprocs=0 # только пользователь root может видеть все запущенные процессы

/etc/rc.d/sysctl restart

Теперь поиграемся с правами доступа к крону

chmod 0600 /etc/crontab # только пользователь root должен иметь доступ к файлу настройки cron

Права доступа к файлам.

При помощи команды chmod 600, мы разрешаем доступ только пользователю root на запись и чтение файла.  При помощи команды chmod 700, мы также даем возможность пользователю root возможность запускать файл.

chmod 0700 /root
chmod 0600 /etc/syslog.conf
chmod 0600 /etc/rc.conf
chmod 0600 /etc/newsyslog.conf
chmod 0600 /etc/hosts.allow
chmod 0600 /etc/login.conf
chmod 0700 /usr/home/*

Console Access (доступ к консоли)

Запомните что хоть мы и блокируем доступ от неавторизованного доступа в однопользовательском режиме, это не обеспечивает полную защиту вашего сервера. Некто с плохими намерениями может снять жесткий диск с вашего сервера и установить его на другом компьютере. Если сервер не защищен физически, то никакие программные настройки, вас не спасут от взлома вашей системы. Изменение прав доступа к первой консоли означает что вы не сможете войти в систему в однопользовательском режиме, не зная пароля пользователя

vi /etc/ttys
console  none   unknown   off   insecure  # запрашивать пароль пользователя root в однопользовательском режиме.
ttyv0   “/usr/libexec/getty Pc”  cons25   on   insecure
# Virtual terminals
ttyv1   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv2   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv3   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv4   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv5   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv6   “/usr/libexec/getty Pc”  cons25   on   insecure
ttyv7   “/usr/libexec/getty Pc”  cons25   on   insecure

Некоторые данные, которые необходимы в rc.conf

vi /etc/rc.conf
inetd_enable=”NO” # Better ways to run your daemons
syslogd_enable=”YES” # Конечно мы хотим вести регистрацию событий. Если вы планируете настроить
# удаленную регистрацию событий, тогда пропустите следующую строку.
# Если файлы регистрации событий будут расположены на локальном диске,
# убедитесь что у вас смонтирован раздел /var.
syslogd_flags=”-ss” # Этим мы закроем 514 udp порт если мы не хотим использовать удаленную
# регистрацию событий на или с этого сервера. Естественно не нужно добавлять
# эту строчку, если вы планируете настроить удаленную регистрацию событий.
icmp_drop_redirect=”YES” # Отключаем прием и отправку переадресовующих ICMP пакетов.
icmp_log_redirect=”YES” # Регистрировать переадресовующие ICMP пакеты в журнальном файле
clear_tmp_enable=”YES” # Очищать директорию /tmp при загрузке.
portmap_enable=”NO” # Если не используется NFS
icmp_bmcastecho=”NO” # Предотвращает springboarding и smurf атаки, запрещая серверу отвечать
# на широковещательные ping-пакеты.
fsck_y_enable=”YES” # При ошибках файловой системы на этапе загрузки утилита fsck будет
# запущена с флагом -y (man fsck)
update_motd=”NO” #Не обновлять файл с сообщением дня /etc/motd
tcp_drop_synfin=”YES” # Отбрасывать synfin пакеты. Смотри ниже, необходимые изменения в ядре.
log_in_vain=”YES” # Установите эту опцию, если вы хотите записывать все попытки подключения
# к закрытым портам вашего сервера.
sshd_enable=”YES” # Это позволит сделать удаленный доступ к серверу более защищенным.

Оставить комментарий