Category Archives: Хостинг

Защита сайта от брутфорса без правки кода

Если Ваш сайт, написанный на базе популярного движка (WordPress, Joomla, Magento и др.), стал сильно тормозить, а в логах доступа сервера Вы видите множество обращений к странице логина или к странице администрирования, знайте — ваш сайт «нашли» боты-брутфорсеры и пытаются подобрать пароль администратора.Если с Вашим паролем всё нормально (он длинный и набран цифрами и буквами в разных регистрах), то Вы можете быть уверены, что брутфорсер его не подберёт. Но сам факт того, что происходит подбор, а тем паче то, что при этом страшно грузится сервер и расходуется трафик (особенно если на вашем хостинге он платный) откровенно говоря, напрягает.

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

Сперва предыстория. Проблемой я озаботился спустя некоторое время после того, как перешёл с «самодельного» движка на WordPress (впрочем, это мог бы быть любой другой более-менее распространённый движок). Запилил первый сайт и уже через неделю увидел в логах огромное количество запросов к странице логина. Поиски в интернете выводили на множество «рецептов», подавляющее большинство которых заключается в переименовании файла wp-login.php и его правке (поскольку адрес самой страницы неоднократно встречается в самом файле wp-login.php и других файлах движка.

Но этот способ означает правку ядра WordPress. А это влечёт за собой невозможность получать регулярные автоматические обновления ядра, а также несовместимость с некоторыми плагинами. К тому же способ абсолютно не спасает против тех роботов, которые ищут «дыры» в админке и плагинах, обращаясь с хитроумными параметрами по адресам вида /wp-admin/* В общем, этот способ сразу был отвергнут.

А идея моя заключается вот в чём.

Нужно завести специальную куку, такую, чтобы при её отсутствии сам сервер (Apache или Nginx) перехватывал обращения к странице логина или админке и выдавал вместо кода страниц код состояния 404, означающий полное отсутствие по этим адресам каких-либо страниц). А при наличии куки сервер должен просто обходить эту проверку и сайт должен работать как ни в чём не бывало. Брутфорсеры не тупые, они не будут бесконечно «долбать» отсутствующий URL и отступят.

Куку я планировал устанавливать автоматически с помощью секретного скрипта, который кроме всего прочего (для моего удобства) должен также переносить меня на страницу логина.

Теперь дело за реализацией.

Я привожу кусок конфига для Nginx, поскольку я пользуюсь только этим сервером, но, зная идею, Вы самостоятельно можете написать конфигурацию для Apache или другого сервера.

Теперь файл PHP с секретным именем, который будет данную куку устанавливать:

Обратите внимание, что кука устанавливается на 1 месяц, значит, в течение месяца Вы можете заходить в админку даже не запуская этот секретный файл.

Вот и всё. Просто, правда? Разумеется, этот рецепт может быть повторен абсолютно для любого движка, Вам нужно будет только поменять пути и названия файлов.

Что-то непонятно? Спросите в комментариях!


Источник: http://epsiloncool.ru/programmirovanie/php/zashhita-sajta-ot-brutforsa-bez-pravki-koda

Предметная визуализация

3D визуализация и интерьер

Слетела сеть Linux Ubuntu 14.10

После длительной круглосуточной работы решил перезагрузить сервер. И как это часто бывает — он не захотел до конца запускаться.

Выдалось сообщение при загрузке:

Запустился, выполняю команду:

В ответ вижу:

start: Job failed to restart

Файл /etc/network/interfaces заполнен корректно. Более того, раньше же все хорошо работало.

Удалил данный файл. И запустил:

После этого, обновил операционную систему и восстановил содержимое файла /etc/network/interfaces:

 

ISPManager удаляет домены

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Столкнулся с проблемой удаления доенов в админке ISPManager. При анализе ситуации, обнаружил, что домены исчезали не из конфигов Apache и Nginx, а только из списка админки ISPManager.
Т.к. тех-поддержка разработичка ничем не помогла, пришлось бороться с ситуацией самому.
Для начала, включил подробное логирование в ISPManager. Для этого, в конфиге /usr/local/ispmgr/etc/ispmgr.conf указал параметр:
LogLevel 9

После  этого, сделал, чтоб постоянно выводилась информация из лога на экран:
tail -n 1 -f /usr/local/ispmgr/var/ispmgr.log

Далее — просматриваю все процессы ISPManager:
ps aux | grep ispm

Снимаем задачу  bin/ispmgr.

Данный процесс автоматически запускается при вызове админки из командной строки браузера.

После того, как перезарузил ISPManager — увидел куча сообщений о правах доступа. Как оказалось, ISPManager требует совпадения пользователя, который указан в Apache с владельцем каталога, где создан домен. Если это не так — не будет выводиться домен в списке админки… При этом, сообщение выдастся только в логе…

Указав пользователя-владельца для папки домена, получаем решение проблемы… Правда, нужно не забывать после этого снять процесс ISPManager и заново войти в админку, тем самым перезагрузив админку…

Автор: Рудюк С . А. https://corp2.net

Дизайн интерьеров