Детальная настройка всего хозяйства
Функции серверов
Настройка роутера
Настройка ДНС
Настройка ДНС. Детально смотрим здесь.
Основные моменты:
Логирование
создаем папку /var/named/var/log/
и даем ей владельца bind
, чтобы named-у было куда писать логи и куда их переименовывать. Также создаем локальные файлы под логи.
ограничение рекурсии (задолбали!)
ограничение передачи всей зоны AXFR
(типа секурно)
ставим allow recursion { trusted-servers; };
ставим allow query { trusted-servers; };
ставим allow-transfer { trusted-servers; };
ограничиваем trusted-servers только нужными местами
однако, слушаем на всех фейсах, ибо хз с какого фейса придет нотифай об изменении зоны
Еще, чтобы даже если будет отравлен кэш ДНС-а, вся фигня сбрасывалась, имеет смысл по крону, хотя бы раз в неделю, рестартовать ДНС: service named restart
Настройка файервола
Перестраиваем ядро с поддержкой IPFW, в том числе логирования (IPFIREWALL_VERBOSE, IPFIREWALL_VERBOSE_LIMIT=100), pipe (DUMMYNET) и kernel NAT (IPFIREWALL_FORWARD, IPDIVERT);
прописываем в rc.conf использование ipfw с правилами из скрипта /etc/firewall.conf
Более детально смотрим
здесь.
Настройка DHCP
Настройка SQUID
Настройка почтового сервера
Настройка WEB-сервера компании
Web сервер имеет несколько разных сайтов:
notes.knvr.ru - этот сайт
post.knvr.ru - интерфейс к почте на roundcube (календарь, адресная книга, личный планировщик и пр.)
red.knvr.ru - интерфейс к почте на GroupOffice (календарь, адресная книга, поручения, заметки и прочая херь)
www.hsdt.ru - Web сайт неудавшегося проекта передачи контента
Настройка WEB-интерфейса почты
Web-интерфейс почты работает по защищенному соединению, так что ставим сертификат, в настройках веб-сервера делаем соотв. изменения (опишу позже)
Оба интерфейса почты живут на одном сервере 87.255.21.22, используют разные сертификаты, но общий приватный ключ к ним.
Интерфейс GroupOffice, как неиспользуемый, я полагаю отключить (пока пусть живет), описывать настройку буду в самую последнюю очередь.
Интерфейс Roundcube, как более удобный, развивается. К нему приделаны модули.
WEB-интерфейсы работают под Апачем 22
WWW сделан на Wordpress
Сервер безопасности
Сервер безопасности содержит два модуля:
Сервер логов
Сервер обнаружения вторжений SNORT
Оба модуля работают на одной машине 87.255.21.27, хотя, по-уму, их надо разнести, т.к. в случае отключения одной машины мы не сможем ни обнаружить атаку, ни получить о ней инфу из логов.
Описание кофнигурации и ссылки на листинги настройки п/о модулей - см. ниже.
Железо
Железо - хорошее:
Коробка Supermicro с корзиной под 12 дисков
Собственно диски, из которых:
8 штук SATA WD RE4 по 2 Тб;
4 штуки Samsung HD103UJ по 1 Тб
Райд-карта LSI MegaRAID SAS 9260-4i
Материнская плата Supermicro X8DTN+
Процессор Xeon E5620, 4 ядра, 2.4Ghz
Память (пока мало) - 2 планки по 2Гб с ЕСС (планируется добавить 6 планок по 4Гб с ЕСС)
Сетевая карта дополнительная Intel PRO 4-port x 1 Gb
Установлена FreeBSD 9.2
Настройка сервера логов
Логи собираются с помощью rsyslog-7.4.7, файл конфигурации приведен на страничке Конфигурация Сервера Логов.
Полные доки по конфигурации rsyslog
здесь: http://www.rsyslog.com/doc/manual.html,
http://www.rsyslog.com/doc/rsyslog_conf_basic_structure.html
и http://www.rsyslog.com/doc/property_replacer.html
Чтобы rsyslog запускался на старте системы, вписываем в rc.conf соответствующую строку:
echo 'rsyslogd_enable="YES"' >> /etc/rc.conf
echo 'rsyslogd_pidfile="/var/run/rsyslog.pid"'>>/etc/rc.conf
Вторая строка нужна для того, чтобы newsyslog
таки обрабатывал эти логи, в нужное время посыля rsyslog-у сингалл kill -1
.
Для просмотра логов установлен Apache24, PHP5-5.4.23, MySQL-5.5.35 и LogAnalyzer-3.6.3
Результаты творчества rsyslog-а кладутся в файлы и в базу MySQL.
То есть до запука rsyslog-а надо сконфигурить MySQL и создать базы под логи.
При конфигурировании MySQL, нам надо понимать, что базы будут огромные.
За основу берем конфиг /usr/local/share/mysql/my-huge.cnf:
cp /usr/local/share/mysql/my-huge.cnf /usr/local/etc/my.cnf
Его немного модифицируем, ибо все базы лежат на массиве в файловой системе ZFS.
Модифицировать конфиг надо до создания баз, чтобы потом их не пересоздавать (хотя, конечно, можно восстановить из дампа, но писать туда пароли и пользователей все равно придется).
Конфиг MySQL и скрипты создания базы находим тут: Конфигурация Сервера Логов.
Детали настройки Apache24 см. здесь: Конфигурация Сервера Логов
Настройка сервера обнаружения вторжений SNORT
Настройка сервера данных (медиахранилища)
Storage FW Upgrade