denyhosts игнорируя /etc/hosts.allow

Я бегу Ubuntu 13.10 (не LTS, я знаю...). я имею denyhosts установлены. я имею /etc/hosts.deny а также /etc/hosts.allow, Я добавил 2 IP к hosts.allow (дом + работа). Однако всякий раз, когда я выполняю вход с этих IP-адресов, я получаю электронное письмо с сообщением о том, что произошел подозрительный вход.

Я попытался отформатировать мой hosts.allow подать 2 разными способами. Ни один, кажется, не работает.

Первый:

...
sshd: iii.i.i.iii : allow
sshd: iii.i.i.iii : allow

Второй:

...
sshd: iii.i.i.iii
sshd: iii.i.i.iii

Я не знаю, связано ли это, но если я заметил что-то, я не могу объяснить.

Если я бегу

$ sudo service denyhosts restart
 * Stopping DenyHosts denyhosts                                                                                                                                                                                                                                        [ OK ] 
/etc/init.d/denyhosts: 44: test: /etc/hosts.deny: unexpected operator
 * Starting DenyHosts denyhosts  

Но если я ищу ошибку в hosts.deny или hosts.allow, не могу найти:

sudo test -e /etc/hosts.allow
sudo test -e /etc/hosts.deny

И прежде чем я забуду, мой /etc/denyhosts.conf файл:

...
# Most operating systems:
HOSTS_DENY = /etc/hosts.deny
#
# Some BSD (FreeBSD) Unixes:
HOSTS_DENY = /etc/hosts.allow
...

Как говорится в комментарии, /etc/hosts.allow, очевидно, используется в некоторых BSD Unix. Это проблема? В некоторых руководствах, которые я читал для Ubuntu, очевидно, это не так.

РЕДАКТИРОВАТЬ:

/etc/init.d/denyhosts файл запускается:

HOSTS_DENY=$(grep ^HOSTS_DENY $CONFIG  | cut -d = -f 2)

который в моем случае возвращает оба hosts.allow а также hosts.deny,

2 ответа

Решение

У вас есть оба этих комментария, поэтому я полагаю, что denyhosts использует /etc/hosts.allow, Закомментируйте второе HOSTS_DENY Линия и перезапустить denyhosts.

Если вы по-прежнему получаете письма, вам нужно добавить SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = NO в ваш файл denyhosts.conf. Для этого требуется DenyHosts 0.6 или выше. Смотрите это для деталей.

Вам также необходимо создать allowed-hosts файл с вашими доверенными IP-адресами, по одному в строке. Это идет в той же папке, определенной WORK_DIR в конфигурации.

Вы должны закомментировать HOSTS_DENY = /etc/hosts.allow линия, так как вы находитесь на Ubuntu, а не на коробке BSD.

Затем вам нужно понять, как hosts.(allow|deny) файлы обрабатываются. Сервисы, использующие эти файлы, всегда проверяют hosts.allow до hosts.deny и остановимся на первом матче. Итак, если вы предоставляете доступ к IP-адресу в вашем hosts.allow файл, доступ будет предоставлен независимо от содержимого hosts.deny, Вам не нужно беспокоиться, добавит ли denyhosts дополнительные адреса к этому файлу. hosts.allow Файл в основном позволяет внести в белый список IP-адреса.

Увидеть hosts_access(5) справочная страница для получения дополнительной информации.

Иногда sshd компилируется без поддержки hosts.allow и hosts.deny (поддержка tcp-wrappers). Это произошло на моей установке Ubuntu 18.04 LTS. Чтобы проверить, поддерживает ли ваша версия sshd, выполните следующее:

  1. какой сшд
  2. строки /usr/sbin/sshd | egrep 'hosts.(allow|deny)'

Строка № 1 выше, чтобы проверить, где именно установлен sshd (например, на моей машине RedHat это был / sbin / sshd, в то время как Ubuntu был /usr/sbin/sshd), поэтому измените #2 соответственно.

Строка #2 будет иметь пустой вывод, если hosts.deny + hosts.allow не поддерживается. В этом случае вы захотите скачать исходный код с openssh.com и перестроить его:

./configure --with-libwrap 
make
sudo make install
Другие вопросы по тегам