Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

царь-хостинг

_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. Его отчетность намного лучше выглядит, интуитивно более понятна, да и подробности анализа ему не занимать.

Назад на стр. 068-044-3  Содержание  Вперед на стр. 068-044-5