Настраиваем сервер под себя

(Ответов: 10, Просмотров: 7857)
Страница 1 из 2 12 Последняя
  1. Гуру Аватар для 24110
    • Регистрация: 07.09.2009
    • Сообщений: 1,649
    • Репутация: 91
    Сегодня буду рассказывать про настройку сервера на Linux (в частности, под CentOS 5.3), а также про минимальные шаги, предпринимаемые для защиты сервера.
    Для чего нужен свой VPS/VDS? Чтобы настроить их под свои потребности.
    Скажу сразу, что я не сис. админ, я программист. И все эти дела постигал сам. Так что если у сис. админов будут какие поучения - буду только рад выслушать.

    Для чего я использую свой сервер? С них удобно парсить все и вся, канал позволяет; можно вешать сколько влезет на сервак сайтов, никаких тебе ограничений; вешаю контент дора на серваках, чтобы не размещать их на "чужих" сайтах :) Вообщем, делай что хочешь, ставь софт какой хочешь, но и настраивать/защищать, как правило, придется все самому ("unmanaged серверы").

    Что же я обычно ставлю на сервер:
    • apache не на дефолтный порт;
    • nginx - как легкий фронтэнд и разгрузчик апача, отлично отдает статику;
    • иногда proftpd - FTP-сервер, если планируется использовать сервер для нескольких пользователей;
    • если планируется исопльзовать базы данных, то mysql;
    • php, как mod_php к апачу;
    • для мониторинга сервера/группы серверов (нагрузки, состояние сервисов, снятие количества траффика с eth0, оповещение на mail и jabber) ставлю Zabbix;
    • потихоньку защищаемся от брутфорса - SSHGuard или fail2ban.

    Теперь по каждому пункту немного подробней.

    MySQL

    Ставлю не всегда, только когда требуется использовать базы - чаще всего, в CMSках. Идем на mysql.com, раздел Downloads, скачиваем исходные коды.
    Актуальный how to по установке мускула - http://www.r0xarena.com/blog/install...-in-centos-53/
    Совет: сразу же переменуйте дефолтного пользователя root вот что-нибудь неприментное, тем самым немного усложните жизнь брутфорсерам)

    Apache

    Практически любые CMS-ки под сплоги, динамические доры, большое количество доргенов и прочее добро работает на PHP,- apache, как веб-сервер используется чаще всего. Я никогда не использую всякие yum и apt-get, а предпочитаю собирать все из сорсов вручную, так мне надежней.

    Установить apache проще простого. Можно установить самому, прочитав readme на сайте, а можно найти готовые how to в гугле. Например, вот по этому туториалу http://dan.drydog.com/apache2php.html апач точно ставится нормально :)

    Вместе с апачем сразу ставим и PHP, причем не советую ставить ветку 5.3.X, потому что в ней многие функции, используемые в популярных доргенах/CMSках, считаются устаревшими. Поэтому ставим 5.2.X как mod_php, правим httpd.conf так, как написано в how to. После всего этого не забыаем перезагрузить апач.

    Nginx

    Как только поставили апач, сразу же советую ставить nginx, легких фронтэнд, который ставится как бы "перед" апачем. Например, вещается на 80-й порт, дефолтный для апача, а апач переходит на другой порт, какой-нибудь 88 или 8080. Nginx отлично передает статику (картинки, js и т.д.), в то время как апач будет обрабатывать только скрипты. Если держите доры на этом сервере, который часто бывают в топе, то позаботьтесь об установке nginx - хотя бы для того, чтобы ваш сервер не упал от простой картинки с вашего сервера, поставленной на каком-нибудь очень посещаемом ресурсе.
    Nginx настраивается очень легко, есть типичные конфигурации на сайте разработчика http://sysoev.ru/nginx/, затруднений это вызвать не должно.

    Proftpd

    Хороший такой FTP-сервер, но тоже ставлю не всегда. Только когда предвидится использование сервера несколькими людьми. Если же использую сервер я один, то не парюсь и использую SFTP - это безопасней и не надо фтп-сервер ставить. Чем хорош proftpd - можно быстро добавлять/удалять пользователей, они хранятся в sql-базе.
    Хороший how to по настройке proftpd тут - http://community.livejournal.com/tut...41.html#cutid2. У меня иногда бывают заминке при сборке, но, видать, виной всему руки)

    Zabbix

    Многие не ставят сервисы для мониторинга для своих систем. Ну и плохо. Зато те, кто ставят, всегда в курсе того, что происходит с серваком и днем и ночью. А знать это очень важно - смотреть всплески активности (может, кто ддосит, парсит и т.д.), мониторить изменения конфигов (может, кто пролез на сервер и добавил еще одного рута?!), мониторить состояния всех сервисов.

    В Zabbix можно устанавливать триггеры - условия, при которых наступает определенное действие. Например, у меня стоит триггер на изменения в файле /etc/passwd. Если кто-то надумает добавить нового пользователя, то мне тут же придет сообщение в Jabber об этом.

    SSHGuard, fail2ban и прочее подобное

    Защищают от брутфорсеров, которых сейчас как собак. SSHGuard, как понятно, от брутфорса SSH; fail2ban - вообще от кучи всего (SSH, форма авторизации и прочее). Про fail2ban расписано тут - http://www.fail2ban.org/wiki/index.php/Main_Page; про SSHGuard расписано тут - http://sshguard.sourceforge.net/. Действуют они сходими способами - отлавливают попытки бруфорса и блочат по IP в фаерволле. Этим пренебрегать никак не стоит, потому как спасает от хоть и небольшой, но все же возможности того, что ваш пасс сбрутят (если он у вас сложный), также это спасает от тех всплесков активности системы, которые создаются этим самым брутфорсом.

    Еще несколько советов.

    Не разрешайте подключаться руту по SSH. Для этого создайте своего пользователя, под которым вы будете подключаться по SSH. Потом через этого пользователя уже можно будет получить права привилегированного пользователя. Как это сделать - расписано тут.

    А еще старайтесь не ставить FTP-серер без необходимости. Если нужен доступ по FTP, то используйте SFTP - логин/пасс от SSH подключения. Для этого подойте FileZilla или WinSCP. Это безопасней (не проснифают) и, в то же время, не надо устанавливать лишний сервис на сервак.

    Сервер у меня угоняли пару раз, но все удавалось вернуть на свои места. Так что не пренебрегайте этими элементарными советами по безопасности, а то можно в один момент все быстро потерять.

    Если вы сомневаетесь в своих администраторских способностях, то можно поставить панель Webmin - она бесплатная, достаточно легкая в освоении. Админить сервер с ней гораздо проще
    Парам-пам-пам!
    • 3

    Спасибо сказали:

    SAW(12.01.2010),
  2. Member
    • Регистрация: 26.09.2009
    • Сообщений: 47
    • Репутация: 12
    Отличная статья.
    Сразу вопросы:
    - вы не делаете, чтобы php под su запускался (падает производительность, но при подломе одного сайта остальные остаются в целостности)?
    - что ставите, чтобы можно было обнаружить DDos, пережить и отразить его?
    - не используете панели типа ISPManager, DA, Cpanel (имеет ли смысл купить такую панель на совсем и потом использовать на своем VPS)?
    - при какой стоимости, на ваш взгляд, уже стоит обратить внимание на дедик, а не заморачиваться с VPS?
    - сколько WP будет нормально работать на конфе с 512Mb? (Считаем, что это 2.8.X и посещалкой 500ч/сутки)
    - вроде есть в статье, но уточню - при подломе хакерами сайтов, какие средства используете для обнаружения измений на сайтах?
    - что используете, чтобы ограничить активность ботов, краулеров, в том числе и паразитных.

    Нарно я слишком много хочу:)
    • 1
  3. Гуру Аватар для 24110
    • Регистрация: 07.09.2009
    • Сообщений: 1,649
    • Репутация: 91
    Цитата Сообщение от IFund Посмотреть сообщение
    - вы не делаете, чтобы php под su запускался (падает производительность, но при подломе одного сайта остальные остаются в целостности)?
    нет, не делаю.

    Цитата Сообщение от IFund Посмотреть сообщение
    что ставите, чтобы можно было обнаружить DDos, пережить и отразить его?
    ставлю органичение количества запросов с одного IP по времени + мониторю "Network Utilization" в Zabbix - настроил триггеры и при сильном увеличении In/Out приходит сообщение в Jabber; вообще, от целенаправленного ddos'a очень сложно отбиться. скажу честно, опыта защиты от хорошего ddos у меня нет. Но вот тут в последнее время достаточно много пишут на эту тему;

    Цитата Сообщение от IFund Посмотреть сообщение
    не используете панели типа ISPManager, DA, Cpanel (имеет ли смысл купить такую панель на совсем и потом использовать на своем VPS)?
    на одном сервере стоит бесплатная webmin, поставил попробовать. довольно неплохо и удобно;

    Цитата Сообщение от IFund Посмотреть сообщение
    при какой стоимости, на ваш взгляд, уже стоит обратить внимание на дедик, а не заморачиваться с VPS?
    я сидел на VPS года 2 точно, уже почти год на дедике; насчет стоимости - это все индивидуально, но если ощущаете возможность роста, то лучше брать сервер. я предпочитаю перестраховываться заранее;

    Цитата Сообщение от IFund Посмотреть сообщение
    сколько WP будет нормально работать на конфе с 512Mb? (Считаем, что это 2.8.X и посещалкой 500ч/сутки)
    по личному опыту, с включенным wp-super-cache стояло 4 блога с народом 600+ /сутки. каких-то ощутимых тормозов не наблюдал;

    Цитата Сообщение от IFund Посмотреть сообщение
    вроде есть в статье, но уточню - при подломе хакерами сайтов, какие средства используете для обнаружения измений на сайтах?
    предпочитаю предохраняться :) патчить ядро, софт своевременно. ну а Zabbix мониторит систему на предмет добавления нового пользователя. можно также высылать предупреждения в джаббер, если, например, больше 2-х человек в консоли находятся. Это касаемо сервера. Что касается сайтов - то использую свой скриптик, который запускается ко крону и снимает md5 со всех файликов. Т.к. файлов прилично, то запускаю по необходимости - раз в 2-3 суток, смотрю файлы которые поменялись;

    Цитата Сообщение от IFund Посмотреть сообщение
    что используете, чтобы ограничить активность ботов, краулеров, в том числе и паразитных.
    на белых сайтах ничего не делаю, кроме robots.txt; а так, средствами сервера, ограничение на количество подклчений по времени (у меня, например, можно не более 8 подключений за 5 сек с одного IP);
    Последний раз редактировалось 24110; 31.10.2009 в 18:00.
    Парам-пам-пам!
    • 0
  4. Гуру Аватар для 24110
    • Регистрация: 07.09.2009
    • Сообщений: 1,649
    • Репутация: 91
    Достали тут мой сервер чудо-брутеры SSH. Если и у вас та же проблема, то вот ее простое решение - будем настраивать iptables. Кстати, может быть ваш ssh брутят, а вы и не знаете - посомтрите auth.log. Если там большое количество подключений под разными логинами, о которых вы даже не знаете, то защиту надо ставить 100%.

    Прежде, чем настраивать правила для iptables, надо подстраховаться - сделаем обнуление правил для iptables каждые 5 минут. Так что если нечаянно заблокируем сами себя, через 5 минут сможем зайти по ssh снова. Для этого в crontab с помощью команды crontab -e прописываем следующее действие:
    */5 * * * * /sbin/iptables -F
    Но только перед этим проверьте, действительно ли iptables у вас лежит в sbin. Если нет, то надо поменять на реальный путь.

    Теперь выполняем следующие команды:
    /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
    /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --rttl --name SSH -j DROP
    Этими двумя командами мы разрешили не более 5 запросов в минуту по ssh. Если случайно ошиблись в наборе пароля, то шансы исправиться будут. Ну а брутфорсеры идут лесом.
    Парам-пам-пам!
    • 0
  5. Студент
    • Регистрация: 15.12.2009
    • Сообщений: 42
    • Репутация: 11
    "Я никогда не использую всякие yum и apt-get, а предпочитаю собирать все из сорсов вручную"

    Это просто какой то топик вредных советов.
    Рекомендую не следовать данным поучениям.
    • 0
  6. Гуру Аватар для 24110
    • Регистрация: 07.09.2009
    • Сообщений: 1,649
    • Репутация: 91
    PistoGanza, сэр, тогда, может, расскажете, чем yum лучше configure? :)
    Парам-пам-пам!
    • 0
  7. Студент
    • Регистрация: 15.12.2009
    • Сообщений: 42
    • Репутация: 11
    Тем что yum это менеджер пакетов, который позволяет устанавливать и управлять пакетами определенным стандартным и общепринятым способом.
    А "собирать все из сорсов вручную" это самопал, про который ты сам забудешь через год с какими параметрами ты собирал эту прогу и не сломается ли чего при пересборке. А если апдейтить придется другому админу, будьте уверены - он вас помянет "добрым" словом за такие нестандартные решения.
    • 0
  8. Гуру Аватар для 24110
    • Регистрация: 07.09.2009
    • Сообщений: 1,649
    • Репутация: 91
    PistoGanza, со всем согласен, да. Но у меня сервер мой и передавать никому не собираюсь. А configure я люблю за возможность тонкой настройки.
    Парам-пам-пам!
    • 0
  9. Senior Member Аватар для Тормоз
    • Регистрация: 04.11.2009
    • Сообщений: 529
    • Репутация: 79
    Цитата Сообщение от 24110 Посмотреть сообщение
    Идем на mysql.com, раздел Downloads, скачиваем исходные коды.
    Нафиг исходники-то скачивать? Речь ведь про Linux, а не FreeBSD, проще и правильней установить скомпилированный пакет и не выпендриваться )
    Я отказался от всех форумов, меня тут больше нет.
    • 0
  10. Гуру Аватар для Анальгин
    • Регистрация: 26.01.2010
    • Сообщений: 944
    • Репутация: 6
    Тормоз, я так понял автор фанат
    Цитата Сообщение от 24110 Посмотреть сообщение
    тонкой настройки.
    Таблетку?
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Первый шаг к успеху: начни с себя
Дайджест блогосферы 0 02.02.2010 08:33
20 способов разрекламировать себя как веб дизайнера.
Дайджест блогосферы 7 26.01.2010 14:25
Как защитить себя от ДДОСа?
Хостинг и Серверы 55 01.10.2009 03:22
хостинг для себя
Хостинг и Серверы 20 14.09.2009 00:25

Интересные темы

раскрутка группы вконтакте самостоятельно

С чего нужно начать, что делать в процессе, чтобы раскрутка группы вконтакте самостоятельно, была успешной.

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры