4

Служба denyhosts должна анализировать мои логи и сообщать мне, если кто-то пытается грубо взломать мой sshd. Он должен лишить их доступа и отправить мне письмо. Как я узнаю, работает ли он? В частности, могу ли я получить его, чтобы отправить мне тестовое электронное письмо, чтобы я знал, что он действительно имеет правильный адрес и конфигурацию.

Я сильно подозреваю, что он не может отправить мне электронное письмо, поскольку на этом ящике нет sendmail.

2 ответа2

6

Кажется, что denyhosts требует, чтобы SMTP-сервер был настроен в denyhosts.cfg - он не поддерживает стандартный интерфейс /usr/sbin/sendmail .

Попробуйте запустить denyhosts --foreground , также проверьте системный журнал и / или настроенный файл журнала.

Вы также можете использовать этот скрипт для отправки тестового электронного письма; запустите его, используя sudo -u denyhosts:

#!/usr/bin/env python
import sys
sys.path.insert(0, '/usr/share/denyhosts')
from DenyHosts import constants, prefs, util
prefs = prefs.Prefs(constants.CONFIG_FILE)
util.setup_logging(prefs, True, False, False)
util.send_email(prefs, "This is a test.")

К вашему сведению: здесь "sendmail" не относится конкретно к MTA Sendmail, а скорее к исполняемой программе в /usr/sbin (иногда /usr/lib), которая устанавливается любым MTA - не только Sendmail, но также Postfix, Exim , и другие.

1

Чтобы DenyHosts отправил вам тестовое письмо.

  1. Войдите в систему Linux, содержащую сервер sshd, и перейдите к пользователю root.
  2. Добавьте следующую строку в файл /etc/hosts.deny - sshd: 127.0.0.1
  3. Сохранить файл
  4. Попытайтесь подключиться к локальному серверу sshd: - $ ssh localhost (если вы подключаетесь к порту, отличному от 22, используйте ключ -p)
  5. Вы должны получить следующее сообщение об ошибке: - ssh_exchange_identification: соединение закрыто удаленным хостом
  6. Вам также следовало отправить электронное письмо от DenyHosts [Nobody @ yourserver]
  7. Не забудьте удалить строку, которую вы добавили в файл /etc/hosts.deny - сохраните файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .