Meqenëse qasja SSH është pika më e rëndësishme hyrëse për administrimin e serverit tuaj, ai është bërë një vektor sulmi i përdorur gjerësisht.
Hapat bazë për të siguruar SSH përfshijnë: çaktivizimin e aksesit në rrënjë, çaktivizimin fare të vërtetimit të fjalëkalimit (dhe përdorimin e çelësave në vend të tyre) dhe ndryshimin e porteve (pak që ka të bëjë me sigurinë përveç minimizimit të skanerëve të zakonshëm të porteve dhe log spam).
Hapi tjetër do të ishte një zgjidhje e murit të zjarrit PF me gjurmimin e lidhjes. Kjo zgjidhje do të menaxhonte gjendjet e lidhjes dhe do të bllokonte çdo IP që ka shumë lidhje. Kjo funksionon shkëlqyeshëm dhe është shumë e lehtë për t'u bërë me PF, por demon SSH është ende i ekspozuar ndaj Internetit.
Si ta bëni SSH plotësisht të paarritshëm nga jashtë? Këtu hyn spiped . Nga faqja kryesore:
Spiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses, so that one may connect to one address (e.g., a UNIX socket on localhost) and transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to 'ssh -L' functionality, but does not use SSH and requires a pre-shared symmetric key.
E madhe! Për fat të mirë për ne, ajo ka një paketë OpenBSD me cilësi të lartë e cila bën të gjithë punën përgatitore për ne, kështu që ne mund të fillojmë duke e instaluar:
sudo pkg_add spiped
Kjo gjithashtu instalon një skript të bukur init për ne, kështu që ne mund të vazhdojmë dhe ta aktivizojmë atë:
sudo rcctl enable spiped
Dhe në fund filloni:
sudo rcctl start spiped
Skripti init siguron që çelësi të jetë krijuar për ne (i cili do të na nevojitet në një makinë lokale brenda pak).
Ajo që duhet të bëjmë tani, është të çaktivizojmë sshddëgjimin në adresën publike, të bllokojmë portin 22 dhe të lejojmë portin 8022 (i cili përdoret si parazgjedhje në skriptin init të spiped).
Hapni /etc/ssh/sshd_configskedarin dhe ndryshoni (dhe hiqni komentin) ListenAddressrreshtin për të lexuar 127.0.0.1:
ListenAddress 127.0.0.1
Nëse jeni duke përdorur rregullat PF për bllokimin e portit, sigurohuni që të kaloni portin 8022 (dhe mund ta lini portin 22 të bllokuar), p.sh.
pass in on egress proto tcp from any to any port 8022
Sigurohuni që të ringarkoni rregullat për ta bërë atë aktiv:
sudo pfctl -f /etc/pf.conf
Tani të gjithë ne kemi nevojë është që të kopjoni kyçe të gjeneruara spiped ( /etc/spiped/spiped.key) nga serveri në një makinë lokal dhe të rregulluar konfigurimin tonë SSH, diçka përgjatë linjave të mëposhtme:
Host HOSTNAME
ProxyCommand spipe -t %h:8022 -k ~/.ssh/spiped.key
Duhet të kesh spipe/spipedinstaluar edhe në një makinë lokale, natyrisht. Nëse e keni kopjuar çelësin dhe keni rregulluar emrat/shtigjet, atëherë duhet të jeni në gjendje të lidheni me atë ProxyCommandlinjë në ~/.ssh/configskedarin tuaj .
Pasi të keni konfirmuar se po funksionon, ne mund të rifillojmë sshdnë një server:
sudo rcctl restart sshd
Dhe kjo eshte! Tani ju keni eliminuar plotësisht një vektor të madh sulmi dhe keni një shërbim më pak që dëgjon në një ndërfaqe publike. Lidhjet tuaja SSH tani duhet të duket se kanë ardhur nga localhost, për shembull:
username ttyp0 localhost Thu Nov 06 07:58 still logged in
Një përfitim nga përdorimi i Vultr është se çdo Vultr VPS ofron një klient të mirë në internet të tipit VNC të disponueshëm, të cilin mund ta përdorim në rast se mbyllemi aksidentalisht. Eksperimentoni larg!