Я пытался настроить свой MacOS X Server, который я недавно обновил до Mountain Lion, для использования denyhosts, поскольку мне нужно открыть для него порт 22. denyhosts настроен и добавляет записи в /etc/hosts.deny, поэтому я решил добавить к нему IP-адрес моего ноутбука, чтобы убедиться, что он действительно работает, но я все еще могу войти в систему, и мой IP-адрес отображается в / private / var / log /системный журнал. Я даже перезагрузил сервер один раз, чтобы убедиться, что нет какой-то службы, которую нужно было перезапустить.
Я пробовал следующие записи:
ALL: <my laptop's IP>
sshd: <my laptop's IP>
sshd: 127.0.0.1
В моем / etc / sshd_config установлены следующие параметры:
UsePAM yes
UseDNS no
Я погуглил, если deny.hosts устарел в OSX 10.7 или 10.8, но я не смог найти никаких указаний на его наличие. Есть идеи о том, что происходит не так, или есть ли альтернативный способ добиться того же результата?
Да, закрытый ключ решит эту проблему, но пока я хотел бы придерживаться аутентификации по паролю. Мне также нравится идея, что denyhosts фактически блокирует доступ ко всем сервисам, работающим на сервере, а не только по ssh.
OS X 10.8 использует pf
для фильтрации пакетов. Чтобы заблокировать входящий трафик с определенного IP-адреса, вы можете добавить такую строку в /etc/pf.conf
:
block in from 221.0.213.154
Затем сделайте это, чтобы повторно загрузить файл конфигурации:
pfctl -e -f /etc/pf.conf
Я пробовал это, и у меня это работает.
Я также пытаюсь получить некоторую информацию о том, как заставить denyhosts работать в Mac OS X Mountain Lion. Пока мне это не удалось, но я знаю, куда двигаться дальше. Не уверен, что мне это действительно нужно.
В соответствии с http://denyhosts.sourceforge.net/ssh_config.html:
Чтобы воспользоваться преимуществами DenyHosts, вы должны убедиться, что ваш sshd-сервер скомпилирован с поддержкой tcp_wrappers.
Что, похоже, больше не относится к OS X ML. https://discussions.apple.com/thread/4267535?start=0&tstart=0
Вот почему hosts.deny игнорируется в Mountain Lion.
Но я не уверен, что хочу выполнять установку libwrap через порты Mac ... Может быть, я просто изменю порт SSH на что-то более высокое, чтобы ограничить натиск неудачных попыток аутентификации.
Как только вы принимаете только аутентификацию с открытым ключом с помощью sshd, вы действительно теряете лишь некоторую едва поддающуюся измерению производительность и немного больше дискового пространства через syslog.
Мне удалось успешно заблокировать эти атаки методом грубой силы, используя слегка измененную установку Fail2ban как на Snow Leopard, так и на Mountain Lion. я использовал этот учебник и некоторые настройки, предложенные Доктор Энди Фраген. Если вы где-нибудь застрянете, дайте мне знать, я буду рад помочь.