Не могу понять, как настроить запрет доступа по списку IP с помощью hosts.deny :)
Установлен CentOS 6.5 + Apache 2 + сайт открывающийся по IP (не по домену!)
1. Начал с простого => записал в файле /etc/hosts.deny свой IP httpd: 2.2.2.2 не помогло!
2. Добавил в /etc/hosts.allow запись httpd: All (подумал, что одно без другого не будет работать) ... но тоже не помогло!
3. Тогда сделал так:
yum install denyhosts
$ nano /etc/denyhosts/denyhosts.cfg
HOSTS_DENY = /etc/hosts.deny
BLOCK_SERVICE = sshd
BLOCK_SERVICE = httpd
Ребутнул сервер.
Через 15 мин читаю файл /etc/hosts.deny и вижу там 5 новых китайских IP.
Я так понимаю, что это IP поймавшиеся при бруте админки Joomla или подборе пароля root.
И в этом же файле /etc/hosts.deny, я вижу свой IP httpd: 2.2.2.2 который я внес туда сам.
По идее я не должен иметь возможность зайти на сайт со своего IP: 2.2.2.2 ... но спокойно захожу.
Запись в /etc/hosts.deny есть ... но эта запись не блокирует доступ.
Просьба подсказать, где я затупил *HELP*
hosts.deny
И все же видимо, я что то не так делаю :)
$ yum install denyhosts
Package denyhosts-2.6-5.el6.rf.noarch already installed and latest version
$ nano /etc/denyhosts/denyhosts.cfg
HOSTS_DENY = /etc/hosts.deny
BLOCK_SERVICE = sshd
BLOCK_SERVICE = httpd
Все пишут по разному, сделал оба варианта:
$ cp /etc/denyhosts/denyhosts.cfg /etc/denyhosts.cfg
$ cp /etc/denyhosts/denyhosts.cfg /etc/denyhosts.conf
$ nano /etc/hosts.deny
httpd: мой IP
И даже откуда то уже появились и другие
httpd: 61.144.43.235
httpd: 87.117.185.74
httpd: 213.242.211.13
httpd: 116.10.191.185
httpd: 61.174.51.213
httpd: 219.138.135.64
$ reboot
Через 5 мин. с IP указанного в /etc/hosts.deny
Спокойно захожу браузером на сервер http://46.8.26.190/index.php/joomla-overview.html
А ведь меня туда не должны пускать!
Могу дать root если кто захочет посмотреть, почему из /etc/hosts.deny инфа не обрабатывается.
Встретил на просторах интернета
"для включения hosts.deny/hosts.allow приложение должно быть собрано с поддержкой tcpwrap"
Похоже на правду
[root@test ~]# ldd /usr/sbin/sshd | grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fbbad002000)
[root@test ~]#
[root@test ~]# ldd /usr/sbin/httpd | grep wrap
[root@test ~]#
CentOs 6.5
Может лучше ограничивать доступ по IP к сайту в .htaccess?
Честно говоря tcpwrap - совсем темный лес.
Я хотел использовать hosts.deny для httpd и bind.
Как то можно это сделать? Снести и заново поставить не вопрос!