Увод
Предуслови
Корак 1: Инсталација Кноцкд-а
Корак 2: иптаблес правила
Корак 3: Кноцкд конфигурација
Корак 4: Тестирање
Закључак
Увод
Поред промене подразумеваног порта за ССХ и коришћења пара кључева за аутентификацију, куцање порта се може користити за даље обезбеђење (или тачније, затамњење) вашег ССХ сервера. Ради тако што одбија везе са вашим ССХ мрежним портом. Ово у суштини скрива чињеницу да користите ССХ сервер све док се не направи низ покушаја повезивања са унапред дефинисаним портовима. Веома безбедно и једноставно за имплементацију, куцање порта је један од најбољих начина да заштитите сервер од злонамерних покушаја ССХ повезивања.
Предуслови
- Вултр сервер који користи Убунту 18.04.
- Судо приступ.
Пре него што следите доле наведене кораке, ако нисте пријављени као роот корисник, набавите привремену роот љуску тако што ћете покренути sudo -iи унети своју лозинку. Алтернативно, можете додати sudoнаредбе приказане у овом чланку.
Корак 1: Инсталација Кноцкд-а
Кноцкд је пакет који се користи у комбинацији са иптаблес-ом за имплементацију куцања порта на вашем серверу. Пакет „ iptables-persistent” је такође неопходан.
apt update
apt install -y knockd iptables-persistent
Корак 2: иптаблес правила
Покрените следеће команде редом:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4
Ове команде ће урадити следеће, респективно:
- Упутите иптаблес да одржава постојеће везе у животу.
- Упутите иптаблес-у да прекине било коју везу са портом тцп/22 (ако ваш ССХ демон слуша на порту који није 22, требало би да измените горњу команду у складу са тим.)
- Сачувајте ова два правила тако да ће и даље постојати након поновног покретања.
Корак 3: Кноцкд конфигурација
Отворите датотеку помоћу уређивача текста по вашем избору /etc/knockd.conf.
Видећете следеће:
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Требало би да промените редослед портова (изаберите бројеве портова изнад 1024и које друге услуге не користе) и да их сачувате безбедно. Ову комбинацију треба третирати као лозинку. Ако заборавите, изгубићете приступ ССХ-у. Ову нову секвенцу ћемо позвати као x,y,z.
seq-timeoutлинија је број секунди Кноцкд ће чекати клијента да заврши низ порт-куца. Било би добро да ово промените у нешто веће, посебно ако ће се лупање порта вршити ручно. Међутим, мања вредност временског ограничења је сигурнија. Промена је да 15се препоручује, јер ћемо ручно куцати у овом упутству.
Промените секвенцу отварања на изабране портове:
[openSSH]
sequence = x,y,z
Промените вредност команде на следеће:
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
Сада промените секвенцу затварања у складу са тим:
[closeSSH]
sequence = z,y,x
Сачувајте промене и изађите и отворите датотеку /etc/default/knockd:
- Замените
START_KNOCKD=0са START_KNOCKD=1.
- Додајте следећи ред на крај датотеке:
KNOCKD_OPTS="-i ens3"(замените ens3именом вашег интерфејса јавне мреже ако се разликује.)
- Сачувајте и изађите.
Сада покрените Кноцкд:
systemctl start knockd
Ако сада прекинете везу са сервером, мораћете да куцате на портовима x, y, и zда бисте се поново повезали.
Корак 4: Тестирање
Сада нећете моћи да се повежете са својим ССХ сервером.
Можете тестирати лупање порта помоћу телнет клијента.
Корисници Виндовс-а могу покренути телнет из командне линије. Ако телнет није инсталиран, приступите одељку „Програми“ на контролној табли, а затим пронађите „Укључи или искључи функције Виндовс-а“. На панелу са функцијама пронађите „Телнет клијент“ и омогућите га.
У свој терминал/командну линију откуцајте следеће:
telnet youripaddress x
telnet youripaddress y
telnet youripaddress z
Урадите све ово за петнаест секунди, јер је то ограничење наметнуто у конфигурацији. Сада покушајте да се повежете са својим сервером преко ССХ-а. Биће доступно.
Да бисте затворили приступ ССХ серверу, покрените команде обрнутим редоследом.
telnet youripaddress z
telnet youripaddress y
telnet youripaddress z
Закључак
Најбољи део коришћења порта је то што ако је конфигурисан уз аутентификацију приватног кључа, практично нема шансе да би неко други могао да уђе осим ако неко није знао вашу секвенцу куцања порта и имао ваш приватни кључ.