царь-хостинг _MIF_ (ROOT@SECURITYLAB.CO.IL) Спецвыпуск: Хакер, номер #068, стр. 068-044-4 Конфиг ядра составляем по принципу “все, что не критично – не нужно”. Вряд ли хостинговому серверу так сильно необходимы USB сканер, десяток драйверов к Wi-Fi карточкам и PCIMCA. Некоторые устройства имеют статус обязательных - без них ядро просто не соберется. Они помечены комментарием required. После того, как ты закомментировал все ненужное, пришло время добавить недостающее. Options IPFIREWALL # Включаем ipfw Options IPFIREWALL_VERBOSE Options IPFIREWALL_VERBOSE_LIMIT=1000 Options TCP_DROP_SYNFIN # Запрещаем SYN/FIN пакеты Options ACCEPT_FILTER_DATA # Включаем accept фильтры Options ACCEPT_FILTER_HTTP Сохраняем конфиг и собираем ядро: # cd /usr/src # make buildkernel KERNCONF=HOSTING # make installkernel KERNCONF=HOSTING Все, после ребута загрузится свежесобранное ядро. Но ребутиться мы пока не будем - нам надо отредактировать /etc/rc.conf. # Поддержка линуксовых бинариков linux_enable="YES" # Запускаем sshd sshd_enable="YES" # Вырубаем лишнее usbd_enable="NO" sendmail_enable="NONE" inetd_enable="NO" # Включаем сислог syslogd_enable="YES" syslogd_flags="-ss" # Очищаем /tmp при старте системы clear_tmp_enable="YES" # Включаем фаервол firewall_enable="YES" firewall_script="/etc/rc.firewall" firewall_type="client" firewall_quiet="NO" Все. Наша система настроена и готова к бою :). Если ты работаешь удаленно, пропиши в /etc/rc.firewall разрешающее правило для себя, иначе после ребута потеряется доступ к машине. Если у тебя локальная консоль – смело идем в ребут: # init 6 Как только сервер поднялся, нужно еще раз проверить, что не возникло проблем с железом, софт не плевался ошибками и вообще все в шоколаде. Помнишь, мы смотрели размер ядра до пересборки? Посмотрим еще раз: # ll /boot/kernel/kernel -r-xr-xr-x 1 root wheel 2675196 Mar 10 04:10 /boot/kernel/kernel # 2.6 мегабайт. Совсем другое дело :). [intro::Services.] Итак, в первую очередь важно определиться с тем, какие именно сервисы наш хостинг будет предоставлять клиентам. Основные вещи, которые любой хостинг предоставить обязан - это Web + PHP/Perl, FTP, БД и статистику посещений сайта. Многие хостеры подходят к вопросу поднятия хостинга просто: купили Cpanel, запустили install.sh и продаем аккаунты юзерам. Мы же соберем свой собственный хостинг, с самого начала и до победного конца :). [выбор софта.] Сразу оговорюсь, что предпочитаю использовать стабильный и надежный софт, нежели новый и крутой. Нам важна стабильность и функциональность. А всякие, грубо говоря, свистелки и перделки мы оставим скрипткидисам на разнос. Итак, для www, я думаю, не возникнет сомнений - Apache. Ветка 2.* еще довольно сыровата, да и почти под каждую новую версию двойки появлялся бронебойный эксплойт, зачастую даже в паблике. Использовать будем проверенный временем 1.3. FTP - тут выбор не столь однозначен, есть много разных FTPd, но мы остановимся на pure-ftpd. У него удобный и понятный конфиг, отлично реализована работа с виртуальными юзерами, достаточная функциональность и много других достоинств, о которых - ниже. БД, разумеется, MySQL. И опять мы берем самую стабильную версию - 4.0.*. Статистика: можно взять Webalaizer, но лично я предпочитаю AwStats. Его отчетность намного лучше выглядит, интуитивно более понятна, да и подробности анализа ему не занимать. |