Hvernig á að nota Port Knocking til að tryggja SSH þjónustu í Linux


Port Knocking er sniðug tækni til að stjórna aðgangi að höfn með því að leyfa aðeins lögmætum notendum aðgang að þjónustunni sem keyrir á netþjóni. Það virkar þannig að þegar rétt röð tengingstilrauna er gerð opnar eldveggurinn glaður portið sem var lokað.

Rökfræðin á bak við hafnarbanka er að tryggja SSH þjónustu. Í sýnikennslu munum við nota Ubuntu 18.04.

Skref 1: Settu upp og stilltu knockd

Til að byrja skaltu skrá þig inn á Linux kerfið þitt og setja upp knockd púkann eins og sýnt er.

$ sudo apt install knockd

Þegar það hefur verið sett upp skaltu opna knockd.conf stillinguna með vim skipanalínu textaritlinum.

$ sudo vim /etc/knockd.conf

Sjálfgefin stillingarskrá birtist sem hér segir.

Undir [openSSH] hlutanum þurfum við að breyta sjálfgefna bankaröðinni – 7000,8000,9000 – í eitthvað annað. Þetta er vegna þess að þessi gildi eru þegar þekkt og geta komið í veg fyrir öryggi kerfisins þíns.

Í prófunarskyni höfum við stillt gildin á 10005, 10006, 10007. Þetta er röðin sem verður notuð til að opna SSH tengið frá biðlarakerfi.

Í þriðju línu – byrja á skipun, breyttu -A í -I rétt á eftir /sbin/iptables skipuninni og á undan INPUT .

Og að lokum, undir [closeSSH] hlutanum, breyttu aftur sjálfgefna röðinni í valinn valkost. Þetta er röðin sem verður notuð til að loka SSH tengingunni þegar notandinn er búinn og skráir sig út af þjóninum.

Hér er heildaruppsetningin okkar.

Þegar þú ert búinn skaltu vista breytingarnar og hætta.

Önnur stilling sem við þurfum að breyta er /etc/default/knockd. Enn og aftur, opnaðu það með textaritlinum þínum.

$ sudo vim /etc/default/knockd

Finndu línuna START_KNOCKD=0. Taktu úr athugasemdum og stilltu gildið á 1.

Næst skaltu fara yfir á línuna KNOCKD_OPTS=”-i eth1” Taktu úr athugasemdum og skiptu út sjálfgefna eth1 gildinu fyrir virkt netviðmót kerfisins þíns. Til að athuga netviðmótið þitt skaltu einfaldlega keyra ifconfig skipunina.

Fyrir kerfið okkar er enp0s3 virka netkortið.

Heildaruppsetningin er eins og sýnt er.

Vistaðu breytingarnar og hættu.

Ræstu síðan og virkjaðu knockd púkinn eins og sýnt er.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Til að athuga stöðu knockd púksins skaltu keyra skipunina:

$ sudo systemctl status knockd

Skref 2: Lokaðu SSH port 22 á eldvegg

Þar sem markmið knockd þjónustunnar er annað hvort að veita eða neita aðgang að ssh þjónustu, ætlum við að loka ssh tenginu á eldveggnum. En fyrst skulum við athuga stöðu UFW eldveggsins.

$ sudo ufw status numbered

Af úttakinu getum við greinilega séð að SSH tengi 22 er opið á bæði IPv4 og IPv6 samskiptareglum númeruð 5 og 9 í sömu röð.

Við þurfum að eyða þessum tveimur reglum eins og sýnt er, og byrja á hæsta gildinu - sem er 9.

$ sudo ufw delete 9
$ sudo ufw delete 5

Nú, ef þú reynir að skrá þig inn á netþjóninn fjarstýrt muntu fá villu fyrir tengingartíma eins og sýnt er.

Skref 3: Stilltu knock viðskiptavin til að tengjast SSH Server

Í lokaskrefinu munum við stilla viðskiptavin og reyna að skrá þig inn með því að senda fyrst bankaröðina sem við stilltum á þjóninum.

En fyrst skaltu setja upp knockd daemon alveg eins og þú gerðir á þjóninum.

$ sudo apt install knockd

Þegar uppsetningunni er lokið skaltu senda bankaröðina með því að nota setningafræðina sem sýnd er

$ knock -v server_ip knock_sequence

Í okkar tilviki þýðir þetta:

$ knock -v 192.168.2.105 10005 10006 10007

Þú ættir að fá svipað framleiðsla og við höfum, allt eftir röð þinni. Þetta sýnir að höggtilraunirnar báru árangur.

Á þessum tímapunkti ættir þú að vera í aðstöðu til að skrá þig inn á netþjóninn með SSH.

Þegar þú ert búinn að vinna vinnuna þína á ytri netþjóninum skaltu loka SSH-tenginu með því að senda lokunarröðina.

$ knock -v 192.168.2.105 10007 10006 10005

Allar tilraunir til að skrá þig inn á netþjóninn munu mistakast eins og sýnt er.

Þetta lýkur þessari handbók um hvernig á að nýta sér höfn til að tryggja SSH þjónustuna á netþjóninum þínum. Betri og auðveldari nálgun væri að stilla SSH auðkenningu lykilorðs með því að nota SSH lykilpör. Þetta tryggir að aðeins notandinn með einkalykilinn getur auðkennt með þjóninum sem opinberi lykillinn er geymdur á.