Как да направите вашия сървър невидим с Knockd
Когато имате сървър, който е публично достъпен, хакерите лесно могат да сканират вашия IP адрес и да проверяват за отворени портове (по-специално порт 22, който се използва за SSH) на вашия сървър. Един от начините да скриете сървъра си от хакери е удар. Knockd е сървър за порт-удар. Той следи целия трафик на Ethernet или други налични интерфейси, чакащи специални поредици от порт-хитове. Клиенти като telnet или Putty инициират пристанищни посещения, като изпращат TCP или пакет към порт на сървъра.
В тази статия ще разгледаме как можем да използваме knockd, за да скрием услугите, които се изпълняват на сървър на Linux.
Инсталирайте Knockd на Linux сървър
Knockd се предлага в повечето хранилища на дистрибуцията. На сървър, базиран на Debian / Ubuntu / Ubuntu, можете да използвате командата apt-get
за инсталиране на knockd.
sudo apt-get инсталирате нокаут
За потребители на Fedora, CentOS или REHL можете да използвате командата yum
:
yum install knockd
Инсталирайте и конфигурирайте Iptables
Ако нямате инсталирани Iptables на сървъра си, инсталирайте го сега.
sudo apt-get инсталирате iptables iptables-устойчиви
Пакетът iptables-persistent
поема автоматично зареждането на запазените iptables.
След това трябва да разрешите вече установени връзки, както и текущите сесии чрез iptables. Използвайте следната команда, за да постигнете тази задача:
iptables -A INPUT -m conntrack -стойностна ESTABLISHED, СВЪРЗАНА -j ACCEPT
След това трябва да блокирате всички входящи връзки към порт 22 SSH.
iptables -A INPUT -p tcp -dport 22 -j REJECT
Сега нека да запазим правилата на защитната стена чрез следните команди:
netfilter-устойчиви save netfilter-persistent reload
Можете да продължите напред и да проверите дали наистина сте блокирали порт 22, като се свържете със сървъра си чрез компютъра си.
ssh ми-сървър-ip
Конфигуриране на Knockd
Сега е време да конфигурирате настройките по подразбиране. Той се намира в "/etc/knockd.conf". За да направите това, променете конфигурационния файл с нокаут, като използвате следната команда:
cd / etc sudo leafpad knockd.conf
За илюстрация, използвам редактора на листа. На сървъра си можете да използвате нано или Vi.
Екранната снимка показва нокаутирания конфигурационен файл.
- Опции : Можете да намерите опции за конфигуриране на Knockd в това поле. Както можете да видите на екрана по-горе, той използва syslog за регистриране.
- OpenSSH : Това поле е съставено от последователност, време за изчакване на последователност, команда и tcp флагове.
- Последователност : Показва последователността на портовете, която клиентът може да използва като шаблон за иницииране на действие.
- Последователност на последователността : Показва общо време, разпределено на Клиентите, за да завърши необходимата последователност на повреждане на портове.
- Команда : Това е командата, която ще бъде изпълнена, след като кликващата последователност от клиента съответства на шаблона в полето за последователност.
- TCP_FLAGS : Това е знамето, което трябва да бъде настроено на ударите, издавани от клиента. Ако флагът е бил неправилен, но ударният шаблон не е коригиран, действието няма да бъде задействано.
Забележка : Командата iptables в секцията OpenSSH в конфигурационния файл на Knockd използва опцията -A
за да добави това правило до края на веригата INPUT. Това ще доведе до спадане на всички останали връзки.
За да го предотвратите, заменете го със следното по-долу:
команда = / sbin / iptables -I INPUT 1 -s% IP% -p tcp -dport 22 -j ACCEPT
Тази команда гарантира, че ще бъде добавено ново правило в горната част на веригата INPUT, за да се приемат ssh връзки.
Активиране и стартиране на услугата
Използвайте следната процедура, за да активирате услугата "knockd" в "/ etc / default / knock".
Променете стойността от 0 до 1, както е показано на екранната снимка.
START_KNOCKD = 1
След това запазете и затворете файла "/ etc / default / knockd".
След това можете да стартирате услугата "knockd", като използвате една от следните команди:
стартиране на sudo услуга
или
sudo systemctl стартира нокаут
Време е да прегледате своя Linux сървър
Сега е време да тествате вашия Linux SSH сървър. За да отворите порт 22 на определен IP адрес, използвайте следното на компютъра си. (Ще трябва да инсталирате и knockd
на вашия компютър)
knock -v my-server-ip 7000 8000 9000
Трябва да замените "my-server-ip" с IP адреса на вашия сървър.
Вече можете да се свържете към порт 22 SSH, като използвате следната команда:
ssh ми-сървър-ip
След като приключите с каквото искате да направите чрез порт 22, можете да го затворите, като използвате следната команда:
knock-v my-server-ip 9000 8000 7000
заключение
С нокаут, вие сте сигурни, че вашият SSH сървър е защитен над безопасно от нападателите със сложни скенери. В допълнение, вие сте напълно отговорни за SSH сървъра си.