Комментарии 17
iptables может и без knoсkd это.
+1
$IP=’/sbin/iptables’
$EXTIP=<Your external IP>
$IPT -A INPUT -d $EXTIP -p tcp –dport 1500 -j LOG
$IPT -A INPUT -d $EXTIP -m state –state NEW -m tcp -p tcp –dport 22 -m recent –rcheck –name SSH -j ACCEPT
$IPT -A INPUT -d $EXTIP -m state –state NEW -m tcp -p tcp –dport 1499 -m recent –name SSH –remove -j DROP
$IPT -A INPUT -d $EXTIP -m state –state NEW -m tcp -p tcp –dport 1500 -m recent –name SSH –set -j DROP
$IPT -A INPUT -d $EXTIP -m state –state NEW -m tcp -p tcp –dport 1501 -m recent –name SSH –remove -j DROP
$IPT -A INPUT -d $EXTIP -p tcp –dport 22 -j DROP
+7
Никогда не понимал смысла в стучании по портам. Авторизацию по ключам при отключённой авторизации по паролю уже кто-то научился ломать?
+2
Так можно же не только SSH закрывать, но и другие сервисы.
0
Насколько мне известно — нет, хотя в свете недавних событий все может быть печальнее чем нам кажется.
Однако не очень приятно видеть в логах по 1000 безуспешных попыток авторизаций каждую ночь.
Я использую ICMP knocking вот по этому рецепту: MikroTik + port knocking over ICMP + защиту от перебора паролей Bruteforce
И при этом отключенная парольная авторизация. Может немного и параноидально, но лучше перебдеть.
Однако не очень приятно видеть в логах по 1000 безуспешных попыток авторизаций каждую ночь.
Я использую ICMP knocking вот по этому рецепту: MikroTik + port knocking over ICMP + защиту от перебора паролей Bruteforce
И при этом отключенная парольная авторизация. Может немного и параноидально, но лучше перебдеть.
+1
Я, чтоб логи не забивались, вешаю сервисы на нестандартные порты. По хорошему, надо в таком случае сразу вешать на стандартные порты fail2ban и банить тех, кто туда ломится.
+1
Чо-то я не понял. Т.е этот демон просто прописывает в разрешения по преопределенному правилу для ip, с которого придет определенная последовательность запросов? Почему не повесить, например, простейший http, ожидающий строго определенный пакет и делающий то же самое?
Тогда «запрос на вход» можно отправлять штатным wget. И даже telnet. А можно нарисовать html и предлагать вводить текстовую строку + POST — это для не-владеющих-консолью будет (хотя, зачем им ssh? :)
В общем, что-то больно сложно для элементарной вещи.
Тогда «запрос на вход» можно отправлять штатным wget. И даже telnet. А можно нарисовать html и предлагать вводить текстовую строку + POST — это для не-владеющих-консолью будет (хотя, зачем им ssh? :)
В общем, что-то больно сложно для элементарной вещи.
-1
<< Почему не повесить, например, простейший http, ожидающий строго определенный пакет и делающий то же самое?
Зачем это делать, если есть инструмент, специально предназначеный для этого?
Отмечу, что knockd не слушает никаких портов, в отличие от http. Более того, эти порты вообще могут быть закрыт фаерволом, что не помешает работе knockd.
<< Тогда «запрос на вход» можно отправлять штатным wget. И даже telnet
В случае с knockd это вполне возможно, просто штатным клиентом это удобнее делать.
Зачем это делать, если есть инструмент, специально предназначеный для этого?
Отмечу, что knockd не слушает никаких портов, в отличие от http. Более того, эти порты вообще могут быть закрыт фаерволом, что не помешает работе knockd.
<< Тогда «запрос на вход» можно отправлять штатным wget. И даже telnet
В случае с knockd это вполне возможно, просто штатным клиентом это удобнее делать.
0
Забыли рассказать про опцию конфига: cmd_timeout = time_in_seconds — задает таймаут, после которого будет выполнена команда, указанная в блоке [closeSSH]
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Защищаем систему. Или как настроить и использовать port knocking