Защита SSH через port knocking

Защита SSH через port knocking
Photo by Kelly Sikkema / Unsplash

Иногда, по каким-то причинам необходимо закрыть какой-то порт так, чтоб к нему все же оставался доступ с любого IP адреса.
Например, регулятор требует, чтоб SSH порт был закрыт для всего мира.

На выручку приходит port knocking.

Итак, поставим knockd и настроим его так, чтоб SSH был закрыт, но открывался при попытке соединиться с последовательносью портов.

Установка knockd

sudo apt install knockd
sudo vim /etc/knockd.conf

Тут у нас есть уже настроенные правила, которые нам надо поправить. Меняем порты в которые мы будем стучаться, чтоб открылся наш SSH.

[openSSH]
	sequence    = 2233,2244,2255
	command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
...

[closeSSH]
	sequence    = 12322

Тут мы поменяли список портов и команде сменили -A и -I, что означает делать вставку правила файервола в начало списка правил, вместо того, чтоб добавлять его в конец.

Теперь нужно указать интерфейс, на котором knockd будет слушать попытки подключения. Для этого смотрим какой интерфейс мы будем использовать:

sudo ip addr
sudo vim /etc/default/knockd

Тут раскоментируем строку и вписываем правильное имя интерфейса:

...
KNOCKD_OPTS="-i ens18"

Iptables

Дальше настраиваем файервол:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

и делаем его активным после перезагрузки:

sudo apt install iptables-persistent

При установке соглашаемся сохранить наши существующие правила файервола.

Осталось перезапустить сервис knockd и проверить как все работает.

sudo service knockd restart

Подключаемся:

telnet ip 2233
telnet ip 2244
telnet ip 2255
ssh ip

Вот и все. SSH порт откроется для вашего текущего IP адреса и пустит вас на сервер.

Чтоб закрыть порт нужно постучать в указанный порт:

telnet ip 12322

Read more

Самохостниг (часть 10) - AudiobookShelf

Самохостниг (часть 10) - AudiobookShelf

AudiobookShelf - это бесплатный сервер аудиокниг и подкастов с открытым исходным кодом. Он позволяет вам организовать вашу коллекцию аудиокниг и подкастов, следить за прогрессом прослушивания и синхронизировать его между устройствами. В этой статье мы рассмотрим, как установить AudiobookShelf с помощью Docker Compose и настроить его работу через Traefik. Предварительные требования

Обзор reMarkable 2

Обзор reMarkable 2

В мире технологий появляются устройства, которые не только выполняют свои функции, но и становятся символами статуса и стиля. Одним из таких устройств является reMarkable 2 — уникальный гибрид электронной читалки и записной книжки, который произвёл фурор на Западе и теперь доступен в России. Давайте разберёмся, что делает этот девайс таким особенным

Plex повышает цены: что изменится и стоит ли спешить с покупкой?

Plex повышает цены: что изменится и стоит ли спешить с покупкой?

С 29 апреля 2025 года Plex значительно увеличит стоимость подписок и изменит условия бесплатного использования. Рассказываем, кому выгодно купить лицензию сейчас, а кому — лучше перейти на альтернативы. Что случилось? Plex, популярный медиасервер и каталогизатор контента, объявил о повышении цен на все виды подписки: * Месячная — с $4.99 до $6.99

Самохостинг (часть 9) - Arr stack + медиатека

Самохостинг (часть 9) - Arr stack + медиатека

В этой статье я расскажу, как настроить полноценную систему автоматического скачивания и организации медиаконтента с помощью Sonarr (для сериалов), Radarr (для фильмов), Lidarr (для музыки), Jackett (для поиска по трекерам) и qBittorrent (для загрузки торрентов). Эта экосистема интегрируется с Plex, о котором у нас уже есть отдельная статья. Что мы