Вырезки из личного опыта:
Рекомендации по установке FreeBSD 5.X в качестве сервера
1. Разделение дисковой подсистемы:
Для безопасности и удобства категорически рекомендуется делать как минимум /usr /tmp /var /home отдельными точками монитирования.
Корневой раздел "/" -- 200M-350M.
/usr -- "Основной" раздел, весь софт ставится сюда, squid по умолчанию хранит кэш, размер зависит от общей емкости дисковой подсистемы.
/home -- Раздел с домашними каталогами пользователей, если не планируется использовать Samba, то можно сделать не очень большим ( 2 - 4 GB), иначе зависит от количества пользователей.
/var -- Раздел с логами, размер зависит от того как часто вы сохраняете(ли) старые логи на внешних носителях, какой объем почты (если вы не используете MySQL или другую БД в качестве хранилища для почты). Рекомендуется не скупится на этом разделе, так как например логи апача имееют тендецию расти довольно быстро :).
/var/db -- Раздел, где обычно храняться файлы БД всяких типов (MySQL, OpenLDAP, ...), при их интенсивном использовании категорически рекомендуется вынос в отедльную точку монитирования для удобства. Размер напрямую зависит от интенсивности использования.
/tmp -- Раздел с временными файлами, обычно >500M хватает за глаза.
swap -- Рекомендуемая формула: размер_оперативной_памяти * 2.
1.2 Выбирать устанвливаемые компоненты руками (лучше потратить на это время, поверьте), и выбирать только то, что вам нужно, причем желательно не ставить серверы с диска, а установить их позже из обновленных портов.
2. Флаги для монтируемых разделов (в /etc/fstab):
/rw
/usrrw
/homerw, nosuid
/varrw, noexec (с noexec могут возникнуть проблемы при помещении в /var чего-нибудь в chroot)
/var/dbrw, noexec
/tmprw, noexec, nosymlink
3. Рекомендации при установке:
При установке, обязательно установите пакет cvsup, так как при сборке из портов он потребует компиляции тяжелых зависемостей.
4. Рекомендуемые действия сразу после установки FreeBSD:
Пересобрать ядро, убрав оттуда опции отладки, которые включены туда по умолчанию в пятой ветке. Добваить следующие опции:
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options DUMMYNET
Обновить дерево портов, для этого вам необходима программа cvsup и выход в интернет. Создаем файл /etc/cvsupfile с примерно таким содержанием:
######## /etc/cvsupfile start #########
*default host=cvsup7.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
ports-all
######## /etc/cvsupfile end #########
В /usr/ports/.cvsignore добавляем название директорий портов, которые не имеет смысла обновлять на сервере (например все, что относится к X-ам...) на сервере.
Далее выполняем
host# cvsup -g -L 2 /etc/cvsupfile
Рекомендуется выполнять эту команду cron-ом еженедельно или еще чаще. И с такой же переодичностью смотреть вывод pkg_version на предмет поялвения обновленного софта, можно просто сделать скрипт, который шлет мыло админу со списком устаревшего ПО).
5. Увеличение уровня безопасности:
man security
Не ставить не необходимое серверное ПО и вообще стараться меньше лишнего ПО ставить.
Удаленно администрировать минимум по ssh и обращать внимание на дату и место последнего входа.
В /etc/sysctl.conf добваляем следующие строчки:
security.bsd.see_other_uids=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
В /etc/rc.conf
kern_securelevel_enable="YES"
kern_securelevel=2 # В случае, если сетевая часть уже сконфигурирована и правила ipfw и dummynet НЕ БУДУТ меняться, выставляется уровень 3.
Установка программы tripwire, очень полезная вещь.
Если не будут использоваться бинарники (что на сервере вряд ли) от linux то из /boot/loader.conf уберитие строчку linux_load="YES" если она там есть.
Подписаться на freebsd-security и читать что там пишут :)
Обеспечить физическую безопасность сервера.
Переодически просканивать сервер nmap-ом извне и смотреть на результаты. (можно запросто автоматизировать)
cron-ом раз в неделю пытаться подобрать пароли пользователей с помощью программы типа crack или JTR.
6. Общие положения:
Если используете Samba то man tuning категорически рекомендуем (с)
www.opennet.ru . Кстати, там же, откуда эта цитата есть хорошие статьи по Samba и FreeBSD.
Не ленитесь делать бэкапы. :)