Denyhosts killing ssh, файл denyhosts содержит странные символы

Сегодня утром мы заметили, что не можем войти через SSH на наш сервер. Наши провайдеры серверов затем установили минимальный Linux на ОЗУ. После монтирования дисков и загрузки в него я временно остановил denyhosts, и когда я зашел в файл hosts.deny, чтобы очистить наши IP-адреса, мы увидели следующее. Что именно это?

# DenyHosts: Sat Jan 28 05:01:43 2017 | sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
# DenyHosts: Sat Jan 28 05:01:43 2017 | sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
# DenyHosts: Sat Jan 28 05:23:14 2017 | sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
# DenyHosts: Sat Jan 28 05:23:14 2017 | sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
sshd: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$

Кроме того, когда я даю команду iptables -L, я получаю следующее. Я хочу очистить правила iptables:

iptables -L
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file '/lib/modules/4.8.15/modules.dep.bin'
iptables v1.4.14: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Вот как я закрепился в среде:

 mount --bind /proc /mnt/proc
 mount --bind /dev /mnt/dev
 mount --bind /sys /mnt/sys
chroot /mnt

Спасибо.

Обновить

 modprobe filter
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.8.15/modules.dep.bin'
modprobe: FATAL: Module filter not found in directory /lib/modules/4.8.15

Обновить

Журнал

Jan 30 02:39:34 HOSTNAME sshd[6483]: refused connect from 112.85.42.18 (112.85.42.18)
Jan 30 02:40:18 HOSTNAME sshd[6495]: warning: /etc/hosts.deny, line 64: missing newline or line too long
Jan 30 02:40:18 HOSTNAME sshd[6495]: warning: /etc/hosts.deny, line 64: all the subsequent rules will be ignored
Jan 30 02:40:18 HOSTNAME sshd[6495]: refused connect from 112.85.42.18 (112.85.42.18)
Jan 30 02:40:57 HOSTNAME sshd[6504]: warning: /etc/hosts.deny, line 64: missing newline or line too long
Jan 30 02:40:57 HOSTNAME sshd[6504]: warning: /etc/hosts.deny, line 64: all the subsequent rules will be ignored
Jan 30 02:40:57 HOSTNAME sshd[6504]: refused connect from 112.85.42.18 (112.85.42.18)
Jan 30 02:41:37 HOSTNAME sshd[6519]: warning: /etc/hosts.deny, line 64: missing newline or line too long
Jan 30 02:41:37 HOSTNAME sshd[6519]: warning: /etc/hosts.deny, line 64: all the subsequent rules will be ignored
Jan 30 02:41:37 HOSTNAME sshd[6519]: refused connect from 112.85.42.18 (112.85.42.18)

1 ответ

Решение

Похоже, ядро ​​на минимальной установке, предоставляемой вашим провайдером, отличается от ядра в реальной системе. Затем он пытается загрузить filter модуль для iptables и не загружается, поскольку в вашей среде chroot нет модуля для вашей версии ядра.

Попробуйте загрузить filter модуль до входа в chroot с modprobe filter, Надеюсь, что минимальная система имеет модуль фильтра.

Что входит в записи DenyHosts, ^@ нулевой байт. Возможно, ваши лог-файлы по какой-то причине содержат нулевые байты, а не IP-адреса, и поэтому denyhosts добавляет их в правила.

Другой альтернативой является то, что в sshd или denyhosts есть какая-то ошибка, которая приводит к появлению нулевых байтов.

Вы можете проверить свои файлы журнала, если нулевые байты там. Если они есть, то sshd выводит их туда, а denyhosts просто копирует их, что означает, что у sshd есть проблема. Если файлы журнала содержат нормальные записи, то ошибка в sshd.

Другие вопросы по тегам