Prezantimi
Parakushtet
Hapi 1: Instalimi Knockd
Hapi 2: rregullat iptables
Hapi 3: Konfigurimi Knockd
Hapi 4: Testimi
konkluzioni
Prezantimi
Përveç ndryshimit të portës së paracaktuar për SSH dhe përdorimit të një çifti çelësash për vërtetim, trokitja e portit mund të përdoret për të siguruar më tej (ose më saktë, për të errësuar) serverin tuaj SSH. Ai funksionon duke refuzuar lidhjet me portin tuaj të rrjetit SSH. Kjo në thelb fsheh faktin që po ekzekutoni një server SSH derisa të bëhen një sekuencë përpjekjesh për lidhje me portet e paracaktuara. Shumë i sigurt dhe i thjeshtë për t'u zbatuar, trokitja e portit është një nga mënyrat më të mira për të mbrojtur serverin tuaj nga përpjekjet e dëmshme të lidhjes SSH.
Parakushtet
- Një server Vultr që ekzekuton Ubuntu 18.04.
- Qasje Sudo.
Përpara se të ndiqni hapat e mëposhtëm, nëse nuk jeni identifikuar si përdorues rrënjësor, ju lutemi merrni një predhë të përkohshme rrënjësore duke ekzekutuar sudo -idhe futur fjalëkalimin tuaj. Përndryshe, ju mund t'i përmbaheni sudokomandave të paraqitura në këtë artikull.
Hapi 1: Instalimi Knockd
Knockd është paketa që përdoret në kombinim me iptables për të zbatuar goditjen e portit në serverin tuaj. iptables-persistentKërkohet gjithashtu paketa " ".
apt update
apt install -y knockd iptables-persistent
Hapi 2: rregullat iptables
Ekzekutoni komandat e mëposhtme në rend:
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
Këto komanda do të bëjnë si më poshtë, përkatësisht:
- Udhëzoni iptables për të mbajtur të gjalla lidhjet ekzistuese.
- Udhëzoni iptables që të heqë çdo lidhje me portin tcp/22 (nëse daemon juaj SSH po dëgjon në një port tjetër nga 22, duhet të modifikoni komandën e mësipërme në përputhje me rrethanat.)
- Ruani këto dy rregulla në mënyrë që ato të vazhdojnë pas një rindezjeje.
Hapi 3: Konfigurimi Knockd
Duke përdorur një redaktues teksti sipas zgjedhjes suaj, hapni skedarin /etc/knockd.conf.
Do të shihni sa vijon:
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Ju duhet të ndryshoni sekuencën e porteve (zgjidhni numrat e portave më lart 1024dhe të papërdorur nga shërbimet e tjera) dhe ta ruani atë në mënyrë të sigurt. Ky kombinim duhet të trajtohet si një fjalëkalim. Nëse harroni, do të humbni aksesin në SSH. Ne do t'i referohemi kësaj sekuence të re si x,y,z.
seq-timeoutlinjë është numri i sekondave Knockd do të presë për klientin për të përfunduar rend port-trokitur. Do të ishte një ide e mirë ta ndryshoni këtë në diçka më të madhe, veçanërisht nëse trokitja e portit do të bëhet me dorë. Megjithatë, një vlerë më e vogël e afatit është më e sigurt. 15Rekomandohet ta ndryshoni atë meqë do të trokasim manualisht në këtë tutorial.
Ndryshoni sekuencën e hapjes në portet e zgjedhura:
[openSSH]
sequence = x,y,z
Ndryshoni vlerën e komandës në sa vijon:
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
Tani ndryshoni sekuencën e mbylljes në përputhje me rrethanat:
[closeSSH]
sequence = z,y,x
Ruani ndryshimet tuaja dhe dilni dhe hapni skedarin /etc/default/knockd:
- Zëvendësoni
START_KNOCKD=0me START_KNOCKD=1.
- Shtoni rreshtin e mëposhtëm në fund të skedarit:
KNOCKD_OPTS="-i ens3"(zëvendësojeni ens3me emrin e ndërfaqes së rrjetit tuaj publik nëse ndryshon.)
- Ruaje dhe dil.
Tani filloni Knockd:
systemctl start knockd
Nëse tani shkëputeni nga serveri juaj, ju do të duhet të trokas në portet x, ydhe zpër të lidhur përsëri.
Hapi 4: Testimi
Tani nuk do të jeni në gjendje të lidheni me serverin tuaj SSH.
Mund të provoni trokitje të portit me një klient telnet.
Përdoruesit e Windows mund të nisin telnet nga komanda. Nëse telnet nuk është i instaluar, hyni në seksionin "Programet" të Panelit të Kontrollit dhe më pas gjeni "Aktivizo ose çaktivizo veçoritë e Windows". Në panelin e veçorive, gjeni "Telnet Client" dhe aktivizoni atë.
Në terminalin / vijën e komandës shkruani sa vijon:
telnet youripaddress x
telnet youripaddress y
telnet youripaddress z
Bëjeni të gjitha në pesëmbëdhjetë sekonda, pasi ky është kufiri i vendosur në konfigurim. Tani, përpiquni të lidheni me serverin tuaj nëpërmjet SSH. Do të jetë e aksesueshme.
Për të mbyllur aksesin në serverin SSH, ekzekutoni komandat në rend të kundërt.
telnet youripaddress z
telnet youripaddress y
telnet youripaddress z
konkluzioni
Pjesa më e mirë e përdorimit të "trokitjes së portit" është se nëse konfigurohet së bashku me vërtetimin e çelësit privat, praktikisht nuk ka asnjë shans që dikush tjetër të mund të hyjë nëse dikush nuk e dinte sekuencën e goditjes së portit dhe nuk kishte çelësin tuaj privat.