У меня есть сервер Debian с phpmyadmin. Я хочу использовать fail2ban для блокировки атаки методом перебора. У меня есть вопросы:
10.0.5.1 - - [01 / Mar / 2016: 23: 47: 46 +0800] " GET / phpmyadmin / HTTP / 1.1 "200 4028" - "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, например Gecko) Chrome / 48.0.2564.116 Safari / 537.36 "
- Как я могу регистрировать неудачные попытки входа в систему? Где это установить? Я могу найти журнал только в /var/log/apache2/access.log, даже если вход был успешным или неудачным.
10.0.5.1 - - [01 / Mar / 2016: 23: 47: 46 +0800] " GET / phpmyadmin / HTTP / 1.1 "200 4028" - "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, например Gecko) Chrome / 48.0.2564.116 Safari / 537.36 "
- Как я могу регистрировать неудачные попытки входа в систему? Где это установить? Я могу найти журнал только в /var/log/apache2/access.log, даже если вход был успешным или неудачным.
10.0.5.1 - - [01 / Mar / 2016: 23: 47: 46 +0800] " GET / phpmyadmin / HTTP / 1.1 "200 4028" - "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, например Gecko) Chrome / 48.0.2564.116 Safari / 537.36 " 10.0.5.1 - - [01 / мар / 2016: 23: 47: 49 +0800] "POST /phpmyadmin/index.php HTTP / 1.1" 200 4033 " http://10.0.0.105/phpmyadmin/ "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 48.0.2564.116 Safari / 537.36 " 10.0.5.1 - - [01 / Mar / 2016: 23: 47: 55 +0800] «POST /phpmyadmin/index.php HTTP / 1.1« 200 4019 » http://10.0.0.105/phpmyadmin/index. php "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, например Gecko) Chrome / 48.0.2564.116 Safari / 537.36 " 10.0.5.1 - - [01 / мар / 2016: 23: 48: 29 +0800] «POST /phpmyadmin/index.php HTTP / 1.1« 200 4019 » http://10.0.0.105/phpmyadmin/index. php "" Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 48.0.2564.116 Safari / 537.36 "
- Если это единственный журнал, который у меня есть, какой должно быть регулярное выражение для fail2ban? failregex = ^ - * POST /phpmyadmin/index.php *
Из документация для версии 4.7.0, которая все еще находится в разработке и не доступна напрямую:
Альтернативный подход может заключаться в использовании fail2ban, поскольку phpMyAdmin регистрирует неудачные попытки аутентификации в системном журнале (если доступно)
К сожалению, это ведение журнала вводится только в текущей основной ветке, которая, как я уже упоминал, в какой-то момент в будущем станет версией 4.7.0. Вероятно, вы можете смело использовать ветку master, так как разработчики стараются ничего не сломать в процессе разработки. Помимо этого, вам придется что-то реализовать, просматривая журналы доступа Apache, а не напрямую через phpMyAdmin.
В Ubuntu упакованный fail2ban довольно хорошо настроен из коробки, я полагаю, что Debian похож. Отредактируйте /etc/fail2ban/jail.local
и включите разделы Apache, которые включают [apache]
и ряд подобных разделов (например, [apache-overflows]
и [apache-badbots]
). Вы можете также включить здесь фильтрацию для PHP.
Я бы не ожидал увидеть что-либо в журнале ошибок Apache в этом случае, так что с этим все в порядке.
Фактически о настройке fail2ban, я не большой эксперт, но это должно помочь вам хотя бы начать.
Дополнительная литература: https://www.digitalocean.com/community/tutorials/how-to- protect-an-apache-server-with-fail2ban-on-ubuntu-14-04 или любое другое руководство, которое вы можете найти в Google.
Ọ bụ ezie na ọ ga-adị mma ma ọ bụrụ na ịnwere ike bipu ahịrị ole ma ole site na log gị, m ga-anwale nke a: apt ka bụ 4.6.6 dị mwute, mana enwere ụzọ iji meziwanye ụdị nke ugbu a (4.8.3): https://askubuntu.com/a/1057085 . Ihu ọma:
wget
nke kachasị ọhụrụ na https: //www.phpmyadmin.net / downloads / unzip
rm
or mv old phpmyadmin folder in / usr / share
(O doro anya na nkwado ndabere na mpaghara ọ bụla omenala config)
cp -r phpMyAdmin-4.8.3-bekee / usr / share / phpmyadmin
/usr/share/phpmyadmin/config.inc.php
ma jiri mkdir tmp
& chown -R www-data: www-data / usr / share / phpmyadmin / tmp
iji mee ka ndebiri caching Mgbe nke ahụ gasịrị, ị ga-ahụ okpu mbọ na auth.log. Ihe dika phpMyAdmin [27685]: onye ọrụ ekweghị: admin (mysql-jụ) site na X.X.X.X
. Ugbu a mepee nhazi usoro mkpofu gị2ban (echere m na ọ dị na /etc/fail2ban/jail.local
ma tinye ngọngọ ndị a:
[phpmyadmin-syslog]
enabled = true
filter = phpmyadmin-syslog
maxretry = 3
Kwesịrị ịrụ ọrụ nke ọma.
/etc/phpmyadmin/config.user.inc.php
и добавьте что-то похожее на:<?php
$cfg['AuthLog'] = '/tmp/phpmyadmin.log';
tail -F /tmp/phpmyadmin.log
Jan 19 09:20:00 phpmyadmin: user denied: sfsd (mysql-denied) from 10.163.1.128
Если ваш сервер phpmyadmin находится за обратным прокси-сервером и его частный IP-адрес 10.163.1.128
вы, вероятно, хотите зарегистрировать общедоступный IP-адрес клиента, поэтому шаг 1 должен быть :
<?php
$cfg['AuthLog'] = '/tmp/phpmyadmin.log';
$cfg['TrustedProxies'] = array('10.163.1.128' => 'HTTP_X_FORWARDED_FOR');
Помните, что пользователь, работающий с вашим phpmyadmin (обычно www-data
), должен иметь права на запись в файл и родительский каталог, определенные в $cfg['AuthLog']
. имя переменной