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

Как известно, максимальной безопасности можно достичь только отключив сервер от сети, но максимально обезопасить FreeBSD, Linux, Ubuntu и другие ОС семейства UNIX можно путем настройки конфигурационных файлов. Ниже будут приведены шаги для усиления безопасности системы, установленной в качестве сервера.

  • Настройка firewall
  • Настройка SSH
  • Настройка флагов для директории /tmp

Настройка firewall

Настройка firewall является первоочередным шагом для безопасной работы сервера. В различных системах используются разные программы firewall: например в FreeBSD штатный фаервол: ipfw, в Debian-дистрибутивах, таких как Ubuntu - iptables. Конечно, можно, например, в Ubuntu установить ipfw, но все же лучше потратить время и изучить штатный брендмауэр системы, так как он будет работать более предсказуемо и надежно.

Первое, что следует учитывать, если сервер управляется удаленно: заранее позаботиться о резервном доступе к компьютеру, например при помощи IP-KVM, так как в случае неправильной настройки, весь сетевой трафик сервера может быть случайно заблокирован, и получить доступ к такому серверу по SSH уже не получится.

Логика программирования любого firewall следующая: запретить все, оставив сетевой доступ извне только к используемым сервисам: SSH (по умолчанию 22 порт), HTTP (80) и др. Если не используется протокол IPv6 - все соединения по IPv6 следует заблокировать.

Детальную инструкцию по настройке фаервола iptables в Ubuntu 14.04 читайте тут: Настройка iptables в Ubuntu.

Настройка SSH

Настройка сервиса SSH для сервера - очень важна, так как хакеры, в первую очередь хотят получить доступ именно к нему. Подробное руководство по настройке SSH читайте тут: "Правильная настройка SSH".

Настройка флагов для директории /tmp

Поскольку к директории /tmp имеет доступ множество программ, лучше ограничить действия, которые можно из неё произвести в файле /etc/fstab: отключить возможность запуска скриптов (noexec), запретить операции с suid и sgid битами (nosuid) и отключить возможность создания файлов-устройств (nodev). Вся информация ниже справедлива, если директория /tmp является отдельным разделом на диске.

Предположим, что в /etc/fstab прописана такая строчка для монтирования tmp/ (пример взят из Ubuntu, в каждой ОС этот файл может выглядеть немного по другому, но общий принцип по редактированию опций для раздела /tmp - одинаков):

UUID=XXX-XXX-XXX-XXX-XXXX /tmp ext4 defaults,discard 0 0

Тогда её следует заменить на:

UUID=XXX-XXX-XXX-XXX-XXXX /tmp ext4 rw,noexec,nosuid,nodev,discard 0 0

При редактировании /etc/fstab необходимо быть предельно аккуратным, так как, например, ошибки при редактировании могут привести к потере информации или невозможности загрузки всей системы.

Т.е. defaults заменяется на rw,noexec,nosuid,nodev. Чтобы изменения вступили в силу, необходимо либо смонтировать заново раздел командой /tmp: mount -o remount,rw,noexec,nosuid,nodev /tmp или перезапустить сервер (# shutdown -r now). Перезапуск - это лучший вариант, так как поможет протестировать настройки указанные в /etc/fstab.

Проверить, как смонтированы разделы можно командой # mount, введенной без параметров.

Пользователям Ubuntu следует учесть, что во время обновления системы при помощи apt-get или aptitude системе может потребоваться выполнять скрипты из /tmp, и если при монтировании для этого раздела указана опция "noexec", может появиться ошибка: W: TMPDIR is mounted noexec, will not cache run scripts.

Чтобы избежать ошибки: "W: TMPDIR is mounted noexec, will not cache run scripts." при обновлении, следует в файл /etc/apt/apt.conf внести такие строки (если файл не существует - создать):

/etc/apt/apt.conf
DPkg::Pre-Invoke{"mount -o remount,rw,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount,rw,noexec,nosuid,nodev /tmp";};

Данный конфиг, при запуске apt-get upgrade или aptitude upgrade будет монтировать раздел /tmp с правами на запуск из него скриптов, и сразу по завершении обновления, возвращать настройки к исходным, записанным в /etc/fstab. Подробнее о настройках apt.conf можно посмотреть, запустив: $ man apt.conf.

Опубликовано: 2016/03/24
HTML-код ссылки на эту страницу:
<a href="https://petrenco.com/freebsd.php?txt=548" target="_blank">Настройки безопасности FreeBSD</a>
4044
Добавить комментарий
Ваш e-mail: (не виден посетителям сайта)
Ваше имя:
Комментарий:
Символы с картинки:
Только выделенные поля формы добавления комментариев обязательны к заполнению.