Назад | Перейти на главную страницу

Как обезопасить Mac-сервер («Возможная попытка взлома» в журналах)

Я получаю это довольно часто в моем /var/log/secure.log:

Nov  5 10:50:49 www sshd[775]: reverse mapping checking getaddrinfo for 124.107.32.54.pldt.net [124.107.32.54] failed - POSSIBLE BREAK-IN ATTEMPT!
Nov  5 10:50:49 www sshd[775]: Invalid user weber from 124.107.32.54
Nov  5 10:51:18 www sshd[802]: Invalid user weblogic from 66.178.48.196
Nov  5 10:51:56 www sshd[826]: reverse mapping checking getaddrinfo for gw-baneasa-v422.comtelnetworks.eu [193.230.208.98] failed - POSSIBLE BREAK-IN ATTEMPT!
Nov  5 10:51:56 www sshd[826]: Invalid user webmail from 193.230.208.98
Nov  5 10:52:22 www sshd[860]: Invalid user webmail from 150.214.102.129
Nov  5 10:53:29 www sshd[905]: Invalid user webmaster from 195.205.203.6
Nov  5 10:53:57 www sshd[928]: Invalid user webmaster from 86.101.90.21
Nov  5 10:54:29 www sshd[943]: Invalid user webservd from 151.118.130.225

Я отключил все формы аутентификации SSH, кроме publickey поэтому я не думаю, что они найдут выход. Но стоит ли мне больше беспокоиться об этом?

Хорошая альтернатива перемещению порта SSH - использовать что-то вроде Блокхосты. Это сценарий python, который сканирует ваши файлы журналов (обычно /var/log/auth.log) на предмет подобных вещей и помещает динамические записи в /etc/hosts.allow, чтобы заблокировать людей, выполняющих сканирование методом грубой силы. Я использую его для хорошего эффекта при моих установках SSH и vsftpd, чтобы занести в черный список людей после 5 неправильных паролей подряд.

Вы также можете рассмотреть возможность использования fail2ban.

Как уже указывалось, это только автоматическое сканирование, оно пытается прикрепить словарь к хорошо известному (злоумышленнику, конечно) виду цели.

Как метод шумоподавления вы можете изменить порт SSHD на своем сервере, вы можете достичь этой цели очень простым способом, следуя инструкция, которую я дал на другой вопрос по SF.

НОТА: Этот подход имеет ничего общего с реальной безопасностью (поскольку все знают, что безопасность через неизвестность - это вовсе не безопасность), но она может помочь уберечь детей от скриптов, и ваш системный журнал будет вам благодарен :)

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

  • Альтернативная реализация подхода к черному списку может быть достигнута с использованием общедоступных черных списков SSH Brute Force в реальном времени, таких как sshbl.org.

  • Альтернативой локальному подходу BL является хороший BFD (обнаружение грубой силы)

Ограничение вашего метода аутентификации публичным ключом - отличное начало. Использование сканера журналов Denyhosts или Blockhosts (как сказал Грэм) помогут защитить от повторных попыток с одного и того же адреса. Denyhosts имеет дополнительную общую базу данных, которая позволяет блокировать адреса, которые видели другие люди.

Наряду с ограничением метода аутентификации лучшее решение, которое я нашел, - это переместить SSH на другой порт. Сканирование, кажется, сосредоточено на порту 22. После удаления от этого порта попытки на каждом из моих серверов упали до нуля.

Если у вас включен ssh, ваша машина будет выглядеть интересной целью, так как это, скорее всего, сервер, и поэтому с точки зрения хакера стоит взломать его.

Вы можете сделать безопасность неизвестностью и переместить свой порт ssh. Вы можете сделать это на машине с помощью этой подсказки http://www.macosxhints.com/article.php?story=20050707140439980 который также работает на 10.5. Я не делал этого на 10.6, но я не знаю причин, по которым это не сработает и там.

Вы также можете сделать это на брандмауэре, чтобы преобразовать внешний запрос на другой порт для пересылки на 22 на этой машине. Это просто другой метод защиты посредством неизвестности.

Вы можете отключить ssh извне и использовать VPN только для входа. С точки зрения безопасности это лучший выбор.

В любом случае убедитесь, что у вас есть надежный пароль. Если у вас есть надежный пароль, они не войдут, но если оставить порт по умолчанию, существует вероятность мини-атаки типа «отказ в обслуживании» из-за перегрузки компьютера запросами проверки подлинности или, по крайней мере, небольшой потери производительности.

Вы заметите, что они в значительной степени просто пробуют всевозможные логины по алфавиту. Другой уровень безопасности - нестандартное имя для входа. Вы можете поспорить, что они, например, собираются попробовать admin и root.

Мне также нравится отключать старый, менее безопасный протокол ssh1: http://www.macosxhints.com/article.php?story=2005021023215253

У вас есть порт 22, доступный миру. Вы можете либо использовать встроенные функции брандмауэра OSX, чтобы сузить IP-адреса, которые могут получить доступ к вашей машине, либо вы можете разместить какое-то устройство / сервер брандмауэра перед своей сетью и потребовать, чтобы люди подключились к нему (обычно через VPN) перед подключением на ваш сервер (ы).

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

Не беспокойся об этом. Это автоматическое сканирование, на этот раз вы только что выиграли подбрасывание монеты.

Полезно знать, я думаю, что Blockhosts - лучшая альтернатива SSH

Даниэла, Baneasa