Linux

Свой веб сервер (часть 2)

Хотел уложиться в 2 части по настройке веб сервера, но в ходе подготовки статьи понял, что будет 3 части. И так, часть первая находится здесь.

В начале исправим оплошность при установке mysql, напомню был введен адски сложный пароль. 🙂

и устанавливаем пароль для базы.

Настраиваем mysql

Так как мы еще не окончательно закончили с mysql, то произведем пару настроек с конфигами.

Зададим сразу кодировку для сервера mysql

В раздел [mysqld] добавляем следующие строки:

Перезагружаем сервис mysql:

Настраиваем php

Запрещаем скриптам выполняться в директориях, отличных от директории сайта и /tmp:

Запрещаем открывать файлы с удаленных серверов по протоколам http и ftp:

Отключаем опасные функции в php

Настраиваем apache

Скроем информацию о сервере, установленных модулях и ОС:

Так же изменил timeout с 300 до 120

Перезагружаем сервис apache:

Для дальнейшего удобства установил Midnight Commander

Перейдем в директорию где находится наш единственный файл html

и создадим новый файл

текст которого будет состоять из одной команды для php

Выход из редактора nano с сохранением ctrl+x.
Наблюдаем что у нас установилось через вывод команды phpinfo, проще говоря в браузере открываем наш веб сервер http://адрес-сервера/index.php

Меняем порт для ssh

Редактируем конфиг файла ssh

Находим строчку и задаем свой порт

Перезагружаем сервис ssh

Завершаем сессию и пробуем заново залогиться по ssh с указанием нового порта. Скорей всего потребуется перезагрузка сервера.

Подключаемся заново к серверу указывая ему вот такую команду

Теперь ломится по стандартному порту ssh к нам не будут, но могут начать ломиться по другому. Предлагаю остальных отсеивать программой Fail2ban.

Установка и настройка Fail2ban.

Для начала произведем установку

У программы два основных файла конфигурации:

/etc/fail2ban/fail2ban.conf — отвечает за настройки запуска процесса Fail2ban.
/etc/fail2ban/jail.conf — содержит настройки защиты конкретных сервисов.

maxretry = 3 (количество попыток входа)

bantime = 86400 (количество дней, в примере это сутки)

По умолчанию (лично у меня) fail2ban не блокировал не верные попытки входа, а просто писал в лог. Полез смотреть настройки

Нашел раздел отвечающий за бан

Переделал в следующий вид

Перезагружаем сервис fail2ban

Проверил подбор паролей с разных ip адресов, в итоге после 3-х не успешных входов попал в бан.

Проверить есть ли запись в iptables можно следующей командой

Проверяем открытые порты

Если есть замечания или предложения, то готов обсудить.

Поделиться статьей:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *