ГлавнаяОперационные системыLinuxКак сделать ваш сервер невидимым с помощью Knockd

Как сделать ваш сервер невидимым с помощью Knockd

Установка и настройка Iptables

, хакеры могут легко просканировать ваш IP-адрес и проверить наличие открытых портов (особенно порта 22, который используется для SSH) на вашем сервере. Один из способов скрыть свой сервер от хакеров — Knockd. Knockd — это сервер перехвата портов. Он прослушивает весь трафик в Ethernet или других доступных интерфейсах, ожидая особых последовательностей обращений к порту. Такие клиенты, как telnet или Putty, инициируют обращение к порту, отправляя TCP или пакет на порт на сервере.

В этой статье мы рассмотрим, как можно использовать Knockd, чтобы скрыть службы, работающие на сервере Linux.

Установить Knockd на Linux-сервере

Knockd доступен в репозиториях большинства дистрибутивов. На сервере под управлением Debian/Ubuntu/Ubuntu вы можете использовать команду apt-getдля установки Knockd.

sudo apt-get install knockd

Для пользователей Fedora, CentOS или REHL вы можете использовать команду yum:

yum install knockd

Уста

Установить Knockd на Linux-сервере

вашем сервере не установлен Iptables, установите его сейчас.

sudo apt-get install iptables iptables-persistent

Пакет iptables-persistentберет на себя автоматическую загрузку сохраненных iptables.

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

iptables  -A   INPUT  -m conntrack  --ctstate  ESTABLISHED, RELATED  -j  ACCEPT

Далее вам необходимо заблокировать все входящие подключения к порту 22 SSH.

iptables  -A  INPUT  -p  tcp  --dport  22  -j  REJECT

Теперь сохраним правила брандмауэра с помощью следующих команд:

netfilter-persistent save
netfilter-persistent reload

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

ssh my-server-ip

Настроить Knockd

Теперь пришло время настроить параметры Knockd по умолчанию. Он расположен по адресу «/etc/knockd.conf». Для этого перейдите к файлу конфигурации Knockd с помощью следующей команды:

cd /etc
sudo leafpad knockd.conf

В целях иллюстрации я использую редактор листовой панели. На вашем сервере вы можете использовать nano или Vi.

На снимке экрана показан файл конфигурации Knockd.

постучал

  • Параметры : в этом поле вы можете найти параметры конфигурации Knockd. Как вы можете видеть на скриншоте выше, для регистрации используется системный журнал.
  • OpenSSH : это поле состоит из флагов последовательности, времени ожидания последовательности, команды и TCP.
  • Последовательность : показывает последовательность портов, которая может использоваться клиентом в качестве шаблона для инициирования действия.
  • Тайм-аут последовательности : показывает общее время, выделенное клиентам для вы

    Настроить Knockd

    едовательности выключения порта.
  • Команда : это команда, которая будет выполнена, как только последовательность стуков клиента совпадет с шаблоном в поле последовательности.
  • TCP_FLAGS : это флаг, который должен быть установлен при уведомлениях, отправляемых клиентом. Если флаг был неправильным, а рисунок стука правильным, действие не будет запущено.

Примечание. Команда iptables в разделе OpenSSH файла конфигурации Knockd использует параметр -Aдля добавления этого правила в конец цепочки INPUT. Это приводит к разрыву всех оставшихся соединений.

Чтобы предотвратить это, замените его следующим:

command = /sbin/iptables -I INPUT 1 -s %IP% -p tcp --dport 22 -j ACCEPT

Эта команда гарантирует, что новое правило будет добавлено в начало цепочки INPUT для приема ssh-соединений.

Включить и запустить службу Knockd

Используйте следующую процедуру, чтобы включить службу Knockd в «/etc/default/knock».

Измените значение с 0 на 1, как показано на скриншоте.

START_KNOCKD=1

Нокдконф

нокдконф-1

После этого сохраните и закройте файл «/etc/default/knockd».

Далее вы можете запустить службу Knckd, используя одну из следующих команд:

sudo service knockd start

или

sudo systemctl start knockd

Пришло время провести проверку вашего Linux-сервера

Теперь пришло время протестировать ваш SSH-сервер Linux. Чтобы открыть порт 22 по указанному IP-адресу, используйте на своем компьютере следующее. (Вам также потребуется установить knockdна свой компьютер)

knock -v my-server-ip  7000 8000 9000

Вам необходимо заменить «my-server-ip» на IP-адрес вашего сервера.

Теперь вы можете подключиться к порту 22 SSH с помощью следующей команды:

ssh my-server-ip

После того, как вы закончили все, что хотели сделать через порт 22, вы можете закрыть его с помощью следующей команды:

knock -v my-server-ip 9000 8000 7000

Заключение

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

Включить и запустить службу Knockd

Пришло время провести проверку вашего Linux-сервера

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи