Сегодня буду рассказывать про настройку сервера на 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 по установке мускула — https://www.r0xarena.com/blog/install…-in-centos-53/
Совет: сразу же переменуйте дефолтного пользователя root вот что-нибудь неприментное, тем самым немного усложните жизнь брутфорсерам)
Apache
Практически любые CMS-ки под сплоги, динамические доры, большое количество доргенов и прочее добро работает на PHP,- apache, как веб-сервер используется чаще всего. Я никогда не использую всякие yum и apt-get, а предпочитаю собирать все из сорсов вручную, так мне надежней.
Установить apache проще простого. Можно установить самому, прочитав readme на сайте, а можно найти готовые how to в гугле. Например, вот по этому туториалу https://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 настраивается очень легко, есть типичные конфигурации на сайте разработчика https://sysoev.ru/nginx/, затруднений это вызвать не должно.
Proftpd
Хороший такой FTP-сервер, но тоже ставлю не всегда. Только когда предвидится использование сервера несколькими людьми. Если же использую сервер я один, то не парюсь и использую SFTP — это безопасней и не надо фтп-сервер ставить. Чем хорош proftpd — можно быстро добавлять/удалять пользователей, они хранятся в sql-базе.
Хороший how to по настройке proftpd тут — https://community.livejournal.com/tut…41.html#cutid2. У меня иногда бывают заминке при сборке, но, видать, виной всему руки)
Zabbix
Многие не ставят сервисы для мониторинга для своих систем. Ну и плохо. Зато те, кто ставят, всегда в курсе того, что происходит с серваком и днем и ночью. А знать это очень важно — смотреть всплески активности (может, кто ддосит, парсит и т.д.), мониторить изменения конфигов (может, кто пролез на сервер и добавил еще одного рута?!), мониторить состояния всех сервисов.
В Zabbix можно устанавливать триггеры — условия, при которых наступает определенное действие. Например, у меня стоит триггер на изменения в файле /etc/passwd. Если кто-то надумает добавить нового пользователя, то мне тут же придет сообщение в Jabber об этом.
SSHGuard, fail2ban и прочее подобное
Защищают от брутфорсеров, которых сейчас как собак. SSHGuard, как понятно, от брутфорса SSH; fail2ban — вообще от кучи всего (SSH, форма авторизации и прочее). Про fail2ban расписано тут — https://www.fail2ban.org/wiki/index.php/Main_Page; про SSHGuard расписано тут — https://sshguard.sourceforge.net/. Действуют они сходими способами — отлавливают попытки бруфорса и блочат по IP в фаерволле. Этим пренебрегать никак не стоит, потому как спасает от хоть и небольшой, но все же возможности того, что ваш пасс сбрутят (если он у вас сложный), также это спасает от тех всплесков активности системы, которые создаются этим самым брутфорсом.
Еще несколько советов.
Не разрешайте подключаться руту по SSH. Для этого создайте своего пользователя, под которым вы будете подключаться по SSH. Потом через этого пользователя уже можно будет получить права привилегированного пользователя. Как это сделать — расписано тут.
А еще старайтесь не ставить FTP-серер без необходимости. Если нужен доступ по FTP, то используйте SFTP — логин/пасс от SSH подключения. Для этого подойте FileZilla или WinSCP. Это безопасней (не проснифают) и, в то же время, не надо устанавливать лишний сервис на сервак.
Сервер у меня угоняли пару раз, но все удавалось вернуть на свои места. Так что не пренебрегайте этими элементарными советами по безопасности, а то можно в один момент все быстро потерять.
Если вы сомневаетесь в своих администраторских способностях, то можно поставить панель Webmin — она бесплатная, достаточно легкая в освоении. Админить сервер с ней гораздо проще
https://webmasters.ru/forum/f10/nastraivaem-server-pod-sebya-3326/
Просмотров: 969