Këshilla praktike, shembuj dhe tunele SSH

Këshilla praktike, shembuj dhe tunele SSH
Shembuj praktik SSH, i cili do t'i çojë aftësitë tuaja si administrator i sistemit në distancë në një nivel të ri. Komandat dhe këshillat do të ndihmojnë jo vetëm për t'u përdorur SSH, por edhe lundroni në rrjet me më shumë kompetencë.

Njohja e disa trukeve ssh e dobishme për çdo administrator të sistemit, inxhinier rrjeti ose specialist sigurie.

Shembuj praktik SSH

  1. Përfaqësues i çorapeve SSH
  2. Tuneli SSH (përcjellja e portit)
  3. SSH tuneli te hosti i tretë
  4. Tuneli i kundërt SSH
  5. Përfaqësues i kundërt SSH
  6. Instalimi i VPN mbi SSH
  7. Kopjimi i një çelësi SSH (ssh-copy-id)
  8. Ekzekutimi i komandës në distancë (jo ndërveprues)
  9. Kapja dhe shikimi i paketave në distancë në Wireshark
  10. Kopjimi i një dosjeje lokale në një server të largët nëpërmjet SSH
  11. Aplikime GUI në distancë me përcjellje SSH X11
  12. Kopjimi i skedarit në distancë duke përdorur rsync dhe SSH
  13. SSH mbi rrjetin Tor
  14. SSH në shembullin EC2
  15. Redaktimi i skedarëve të tekstit duke përdorur VIM përmes ssh/scp
  16. Montoni SSH në distancë si dosje lokale me SSHFS
  17. Multipleksimi i SSH me ControlPath
  18. Transmetoni video përmes SSH duke përdorur VLC dhe SFTP
  19. Autentifikimi me dy faktorë
  20. Duke kërcyer pretës me SSH dhe -J
  21. Bllokimi i përpjekjeve të forcës brutale SSH duke përdorur iptables
  22. SSH Escape për të ndryshuar përcjelljen e portit

Së pari bazat

Parimi i linjës së komandës SSH

Shembulli i mëposhtëm përdor parametra të zakonshëm që hasen shpesh kur lidheni me një server të largët SSH.

localhost:~$ ssh -v -p 22 -C neo@remoteserver

  • -v: Dalja e korrigjimit është veçanërisht e dobishme kur analizohen problemet e vërtetimit. Mund të përdoret disa herë për të shfaqur informacion shtesë.
  • - p 22: porta e lidhjes në një server të largët SSH. 22 nuk duhet të specifikohet, sepse kjo është vlera e paracaktuar, por nëse protokolli është në ndonjë port tjetër, atëherë ne e specifikojmë atë duke përdorur parametrin -p. Porta e dëgjimit është e specifikuar në skedar sshd_config në format Port 2222.
  • -C: Kompresim për lidhje. Nëse keni një lidhje të ngadaltë ose shikoni shumë tekst, kjo mund ta përshpejtojë lidhjen.
  • neo@: Rreshti përpara simbolit @ tregon emrin e përdoruesit për vërtetim në serverin në distancë. Nëse nuk e specifikoni, ai do të jetë i paracaktuar në emrin e përdoruesit të llogarisë në të cilën jeni identifikuar aktualisht (~$whoami). Përdoruesi gjithashtu mund të specifikohet duke përdorur parametrin -l.
  • remoteserver: emri i hostit për t'u lidhur ssh, ky mund të jetë një emër domaini plotësisht i kualifikuar, një adresë IP ose ndonjë host në skedarin e hosteve lokale. Për t'u lidhur me një host që mbështet IPv4 dhe IPv6, mund të shtoni parametrin në vijën e komandës -4 ose -6 për zgjidhjen e duhur.

Të gjithë parametrat e mësipërm janë opsionalë përveç remoteserver.

Duke përdorur skedarin e konfigurimit

Edhe pse shumë janë të njohur me dosjen sshd_config, ekziston gjithashtu një skedar konfigurimi i klientit për komandën ssh. Vlera e paracaktuar ~/.ssh/config, por mund të përcaktohet si një parametër për një opsion -F.

Host *
     Port 2222

Host remoteserver
     HostName remoteserver.thematrix.io
     User neo
     Port 2112
     IdentityFile /home/test/.ssh/remoteserver.private_key

Ka dy hyrje të hostit në shembullin e skedarit të konfigurimit ssh më lart. E para nënkupton të gjithë hostet, të gjithë duke përdorur parametrin e konfigurimit Port 2222. E dyta thotë se për hostin server në distancë duhet të përdoret një emër përdoruesi, port, FQDN dhe IdentityFile tjetër.

Një skedar konfigurimi mund të kursejë shumë kohë të shtypjes duke lejuar që konfigurimi i avancuar të zbatohet automatikisht kur lidhet me hoste të veçantë.

Kopjimi i skedarëve përmes SSH duke përdorur SCP

Klienti SSH vjen me dy mjete të tjera shumë të dobishme për kopjimin e skedarëve lidhje ssh e koduar. Shihni më poshtë për një shembull të përdorimit standard të komandave scp dhe sftp. Vini re se shumë nga opsionet ssh zbatohen edhe për këto komanda.

localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png

Në këtë shembull skedari mypic.png kopjuar në server në distancë në dosje /media/të dhëna dhe u riemërua në mypic_2.png.

Mos harroni për ndryshimin në parametrin e portit. Kjo është ajo ku shumë njerëz kapen kur nisin scp nga linja e komandës. Këtu është parametri i portit -PDhe jo -p, ashtu si në një klient ssh! Do të harrosh, por mos u shqetëso, të gjithë harrojnë.

Për ata që janë të njohur me konsolën ftp, shumë nga komandat janë të ngjashme në sftp. Ju mund të bëni shtytje, vendos и lssiç dëshiron zemra.

sftp neo@remoteserver

Shembuj praktik

Në shumë prej këtyre shembujve, rezultatet mund të arrihen duke përdorur metoda të ndryshme. Si në të gjitha tona tekstet shkollore dhe shembuj, u jepet përparësi shembujve praktikë që thjesht bëjnë punën e tyre.

1. Proxy i çorapeve SSH

Tipari i Proxy SSH është numri 1 për një arsye të mirë. Ai është më i fuqishëm se sa shumë e kuptojnë dhe ju jep akses në çdo sistem në të cilin ka akses serveri në distancë, duke përdorur pothuajse çdo aplikacion. Një klient ssh mund të tunelojë trafikun përmes një përfaqësuesi SOCKS me një komandë të thjeshtë. Është e rëndësishme të kuptohet se trafiku në sistemet e largëta do të vijë nga një server në distancë, kjo do të tregohet në regjistrat e serverit në internet.

localhost:~$ ssh -D 8888 user@remoteserver

localhost:~$ netstat -pan | grep 8888
tcp        0      0 127.0.0.1:8888       0.0.0.0:*               LISTEN      23880/ssh

Këtu ne ekzekutojmë një përfaqësues socks në portin TCP 8888, komanda e dytë kontrollon nëse porti është aktiv në modalitetin e dëgjimit. 127.0.0.1 tregon se shërbimi funksionon vetëm në localhost. Ne mund të përdorim një komandë paksa të ndryshme për të dëgjuar në të gjitha ndërfaqet, duke përfshirë ethernet ose wifi, kjo do të lejojë aplikacionet e tjera (shfletuesit, etj.) në rrjetin tonë të lidhen me shërbimin proxy përmes proxy-it ssh socks.

localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver

Tani mund të konfigurojmë shfletuesin që të lidhet me përfaqësuesin e çorapeve. Në Firefox, zgjidhni Cilësimet | bazë | Cilësimet e rrjetit. Specifikoni adresën IP dhe portin për t'u lidhur.

Këshilla praktike, shembuj dhe tunele SSH

Ju lutemi vini re opsionin në fund të formularit që gjithashtu kërkesat për DNS të shfletuesit tuaj të kalojnë përmes një përfaqësuesi SOCKS. Nëse jeni duke përdorur një server proxy për të enkriptuar trafikun e uebit në rrjetin tuaj lokal, ndoshta do të dëshironi të zgjidhni këtë opsion në mënyrë që kërkesat DNS të tunelezohen përmes lidhjes SSH.

Aktivizimi i përfaqësuesit të çorapeve në Chrome

Nisja e Chrome me disa parametra të linjës së komandës do të mundësojë përfaqësuesin e çorapeve, si dhe tunelizimin e kërkesave DNS nga shfletuesi. Besoni por kontrolloni. Përdorni tcpdump për të kontrolluar që pyetjet DNS nuk janë më të dukshme.

localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"

Përdorimi i aplikacioneve të tjera me një përfaqësues

Mbani në mend se shumë aplikacione të tjera mund të përdorin gjithashtu proxies të çorapeve. Shfletuesi i internetit është thjesht më i popullarizuari nga të gjithë. Disa aplikacione kanë opsione konfigurimi për të aktivizuar një server proxy. Të tjerët kanë nevojë për një ndihmë të vogël me një program ndihmës. Për shembull, proksizinxhirët ju lejon të kaloni përmes një përfaqësuesi të çorapeve të Microsoft RDP, etj.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Parametrat e konfigurimit të përfaqësuesit të çorapeve janë vendosur në skedarin e konfigurimit të proxychains.

Këshillë: nëse përdorni desktop në distancë nga Linux në Windows? Provoni klientin FreeRDP. Ky është një zbatim më modern se rdesktop, me një përvojë shumë më të qetë.

Opsioni për të përdorur SSH përmes përfaqësuesit të çorapeve

Ju jeni ulur në një kafene ose hotel - dhe jeni të detyruar të përdorni WiFi mjaft jo të besueshëm. Ne lëshojmë një përfaqësues ssh në nivel lokal nga një laptop dhe instalojmë një tunel ssh në rrjetin e shtëpisë në një Rasberry Pi lokal. Duke përdorur një shfletues ose aplikacione të tjera të konfiguruara për një përfaqësues të çorapeve, ne mund të aksesojmë çdo shërbim rrjeti në rrjetin tonë të shtëpisë ose të aksesojmë internetin përmes lidhjes sonë në shtëpi. Çdo gjë midis laptopit dhe serverit tuaj të shtëpisë (nëpërmjet Wi-Fi dhe internetit në shtëpinë tuaj) është e koduar në një tunel SSH.

2. Tuneli SSH (përcjellja e portit)

Në formën e tij më të thjeshtë, një tunel SSH thjesht hap një port në sistemin tuaj lokal që lidhet me një port tjetër në skajin tjetër të tunelit.

localhost:~$ ssh  -L 9999:127.0.0.1:80 user@remoteserver

Le të shohim parametrin -L. Mund të mendohet si ana lokale e dëgjimit. Pra, në shembullin e mësipërm, porti 9999 po dëgjon në anën lokale të hostit dhe përcillet përmes portit 80 te serveri në distancë. Ju lutemi vini re se 127.0.0.1 i referohet localhost-it në serverin në distancë!

Le të ngjitemi në shkallë. Shembulli i mëposhtëm komunikon portet e dëgjimit me hostet e tjerë në rrjetin lokal.

localhost:~$ ssh  -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver

Në këta shembuj ne jemi duke u lidhur me një port në serverin në internet, por ky mund të jetë një server proxy ose ndonjë shërbim tjetër TCP.

3. Tuneli SSH në një host të palës së tretë

Ne mund të përdorim të njëjtat parametra për të lidhur një tunel nga një server në distancë me një shërbim tjetër që funksionon në një sistem të tretë.

localhost:~$ ssh  -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver

Në këtë shembull, ne po ridrejtojmë një tunel nga serveri në distancë në një server në internet që funksionon në 10.10.10.10. Trafiku nga remoteserver në 10.10.10.10 jo më në tunelin e SSH. Ueb serveri më 10.10.10.10 do ta konsiderojë serverin në distancë si burimin e kërkesave në ueb.

4. Tuneli i kundërt SSH

Këtu do të konfigurojmë një port dëgjimi në serverin në distancë që do të lidhet përsëri me portin lokal në localhost-in tonë (ose sistemin tjetër).

localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver

Ky sesion SSH krijon një lidhje nga porti 1999 në serverin në distancë me portin 902 në klientin tonë lokal.

5. SSH Reverse Proxy

Në këtë rast, ne po konfigurojmë një përfaqësues të çorapeve në lidhjen tonë ssh, por përfaqësuesi po dëgjon në skajin e largët të serverit. Lidhjet me këtë përfaqësues në distancë tani shfaqen nga tuneli si trafik nga hosti ynë lokal.

localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver

Zgjidhja e problemeve me tunelet SSH në distancë

Nëse keni probleme me funksionimin e opsioneve të largëta SSH, kontrolloni me netstat, me cilat ndërfaqe të tjera lidhet porta e dëgjimit. Edhe pse ne treguam 0.0.0.0 në shembuj, por nëse vlera Portat e portës в sshd_config vendosur në jo, atëherë dëgjuesi do të lidhet vetëm me localhost (127.0.0.1).

Paralajmërimi i sigurisë

Ju lutemi vini re se duke hapur tunele dhe proxy të çorapeve, burimet e brendshme të rrjetit mund të jenë të aksesueshme për rrjete të pabesueshme (siç është Interneti!). Ky mund të jetë një rrezik serioz për sigurinë, prandaj sigurohuni që të kuptoni se çfarë është dëgjuesi dhe në çfarë ai ka akses.

6. Instalimi i VPN nëpërmjet SSH

Një term i zakonshëm midis specialistëve në metodat e sulmit (pentestuesit, etj.) është "një pikëmbështetje në rrjet". Pasi të vendoset një lidhje në një sistem, ai sistem bëhet porta për akses të mëtejshëm në rrjet. Një pikëmbështetje që ju lejon të lëvizni në gjerësi.

Për një bazë të tillë ne mund të përdorim një përfaqësues SSH dhe proksizinxhirët, megjithatë ka disa kufizime. Për shembull, nuk do të jetë e mundur të punohet drejtpërdrejt me priza, kështu që ne nuk do të jemi në gjendje të skanojmë portet brenda rrjetit nëpërmjet Nmap SYN.

Duke përdorur këtë opsion më të avancuar VPN, lidhja reduktohet në niveli 3. Më pas ne thjesht mund të drejtojmë trafikun përmes tunelit duke përdorur rrugëzimin standard të rrjetit.

Metoda përdor ssh, iptables, tun interfaces dhe rrugëtimi.

Së pari ju duhet të vendosni këto parametra sshd_config. Meqenëse po bëjmë ndryshime në ndërfaqet si të sistemeve të largëta ashtu edhe të klientëve, ne nevojiten të drejta rrënjësore nga të dyja anët.

PermitRootLogin yes
PermitTunnel yes

Më pas do të krijojmë një lidhje ssh duke përdorur parametrin që kërkon inicializimin e pajisjeve tun.

localhost:~# ssh -v -w any root@remoteserver

Tani duhet të kemi një pajisje rregulluese kur shfaqim ndërfaqe (# ip a). Hapi tjetër do të shtojë adresat IP në ndërfaqet e tunelit.

Ana e klientit SSH:

localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up

Ana e serverit SSH:

remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up

Tani kemi një rrugë të drejtpërdrejtë për një host tjetër (route -n и ping 10.10.10.10).

Ju mund të drejtoni çdo nënrrjet përmes një hosti në anën tjetër.

localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0

Në anën e largët duhet të aktivizoni ip_forward и iptables.

remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE

Bum! VPN mbi tunelin SSH në shtresën e rrjetit 3. Tani kjo është një fitore.

Nëse shfaqen ndonjë problem, përdorni tcpdump и pingpër të përcaktuar shkakun. Meqenëse po luajmë në shtresën 3, paketat tona icmp do të kalojnë nëpër këtë tunel.

7. Kopjo tastin SSH (ssh-copy-id)

Ka disa mënyra për ta bërë këtë, por kjo komandë kursen kohë duke mos i kopjuar skedarët manualisht. Ai thjesht kopjon ~/.ssh/id_rsa.pub (ose çelësin e paracaktuar) nga sistemi juaj në ~/.ssh/authorized_keys në një server të largët.

localhost:~$ ssh-copy-id user@remoteserver

8. Ekzekutimi i komandës në distancë (jo ndërveprues)

ekipi ssh Mund të lidhet me komanda të tjera për një ndërfaqe të zakonshme, miqësore për përdoruesit. Thjesht shtoni komandën që dëshironi të ekzekutoni në hostin në distancë si parametri i fundit në thonjëza.

localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php

Në këtë shembull grep ekzekutohet në sistemin lokal pasi regjistri të jetë shkarkuar përmes kanalit ssh. Nëse skedari është i madh, është më i përshtatshëm për t'u ekzekutuar grep në anën e largët duke i mbyllur thjesht të dyja komandat në thonjëza të dyfishta.

Një shembull tjetër kryen të njëjtin funksion si ssh-copy-id nga shembulli 7.

localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'

9. Kapja dhe shikimi i paketave në distancë në Wireshark

Mora njërën tonë shembuj tcpdump. Përdoreni atë për të kapur në distancë paketat dhe për të shfaqur rezultatet drejtpërdrejt në GUI-në lokale të Wireshark.

:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -

10. Kopjimi i një dosjeje lokale në një server në distancë nëpërmjet SSH

Një truk i bukur që ngjesh një dosje duke përdorur bzip2 (ky është opsioni -j në komandë tar), dhe më pas rimerr rrymën bzip2 në anën tjetër, duke krijuar një dosje të kopjuar në serverin e largët.

localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"

11. Aplikacionet GUI në distancë me SSH X11 Forwarding

Nëse X është i instaluar në klientin dhe serverin në distancë, atëherë mund të ekzekutoni në distancë një komandë GUI me një dritare në desktopin tuaj lokal. Kjo veçori ekziston për një kohë të gjatë, por është ende shumë e dobishme. Hapni një shfletues uebi në distancë ose edhe konsolën e stacionit të punës VMWawre, siç bëj unë në këtë shembull.

localhost:~$ ssh -X remoteserver vmware

Vargu i kërkuar X11Forwarding yes në dosje sshd_config.

12. Kopjimi i skedarit në distancë duke përdorur rsync dhe SSH

rsync shumë më i përshtatshëm scp, nëse keni nevojë për kopje rezervë periodike të një drejtorie, një numër të madh skedarësh ose skedarë shumë të mëdhenj. Ekziston një funksion për rikuperimin nga dështimi i transferimit dhe kopjimi vetëm i skedarëve të ndryshuar, i cili kursen trafikun dhe kohën.

Ky shembull përdor kompresimin gzip (-z) dhe mënyra e arkivimit (-a), e cila mundëson kopjimin rekurziv.

:~$ rsync -az /home/testuser/data remoteserver:backup/

13. SSH mbi rrjetin Tor

Rrjeti anonim Tor mund të tunelojë trafikun SSH duke përdorur komandën torsocks. Komanda e mëposhtme do të kalojë përfaqësuesin ssh përmes Tor.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Trupat do të përdorë portin 9050 në localhost për proxy. Si gjithmonë, kur përdorni Tor, duhet të kontrolloni seriozisht se çfarë trafiku po tunelohet dhe çështje të tjera të sigurisë operacionale (opsec). Ku shkojnë pyetjet tuaja DNS?

14. SSH në shembullin EC2

Për t'u lidhur me një shembull EC2, ju nevojitet një çelës privat. Shkarkoni atë (extension .pem) nga paneli i kontrollit Amazon EC2 dhe ndryshoni lejet (chmod 400 my-ec2-ssh-key.pem). Mbajeni çelësin në një vend të sigurt ose vendoseni në dosjen tuaj ~/.ssh/.

localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public

Parametër -i thjesht i thotë klientit ssh të përdorë këtë çelës. Skedari ~/.ssh/config Ideale për konfigurimin automatik të përdorimit të çelësit kur lidheni me një host ec2.

Host my-ec2-public
   Hostname ec2???.compute-1.amazonaws.com
   User ubuntu
   IdentityFile ~/.ssh/my-ec2-key.pem

15. Redaktimi i skedarëve të tekstit duke përdorur VIM nëpërmjet ssh/scp

Për të gjithë të dashuruarit vim Kjo këshillë do të kursejë pak kohë. Duke përdorur vim skedarët redaktohen përmes scp me një komandë. Kjo metodë thjesht krijon skedarin në nivel lokal /tmpdhe më pas e kopjon përsëri pasi e kemi ruajtur nga vim.

localhost:~$ vim scp://user@remoteserver//etc/hosts

Shënim: formati është paksa i ndryshëm nga i zakonshmi scp. Pas hostit kemi dyfishin //. Kjo është një referencë absolute e rrugës. Një prerje do të tregojë një shteg në lidhje me dosjen tuaj të shtëpisë users.

**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])

Nëse e shihni këtë gabim, kontrolloni dy herë formatin e komandës. Kjo zakonisht nënkupton një gabim sintaksor.

16. Montimi i një SSH në distancë si një dosje lokale me SSHFS

Me anë të sshfs - klienti i sistemit të skedarëve ssh - ne mund të lidhim një drejtori lokale me një vendndodhje të largët me të gjitha ndërveprimet e skedarëve në një sesion të koduar ssh.

localhost:~$ apt install sshfs

Instaloni paketën në Ubuntu dhe Debian sshfs, dhe më pas thjesht montoni vendndodhjen e largët në sistemin tonë.

localhost:~$ sshfs user@remoteserver:/media/data ~/data/

17. SSH Multiplexing me ControlPath

Si parazgjedhje, nëse ka një lidhje ekzistuese me një server në distancë duke përdorur ssh lidhjen e dytë duke përdorur ssh ose scp krijon një sesion të ri me vërtetim shtesë. Opsioni ControlPath lejon që sesioni ekzistues të përdoret për të gjitha lidhjet pasuese. Kjo do ta përshpejtojë ndjeshëm procesin: efekti është i dukshëm edhe në një rrjet lokal, dhe aq më tepër kur lidheni me burime të largëta.

Host remoteserver
        HostName remoteserver.example.org
        ControlMaster auto
        ControlPath ~/.ssh/control/%r@%h:%p
        ControlPersist 10m

ControlPath specifikon prizën për të kontrolluar për lidhje të reja për të parë nëse ka një seancë aktive ssh. Opsioni i fundit do të thotë që edhe pasi të dilni nga tastiera, seanca ekzistuese do të mbetet e hapur për 10 minuta, kështu që gjatë kësaj kohe mund të rilidheni në prizën ekzistuese. Për më shumë informacion, shihni ndihmën. ssh_config man.

18. Transmetoni video përmes SSH duke përdorur VLC dhe SFTP

Edhe përdoruesit e vjetër ssh и vlc (Video Lan Client) nuk janë gjithmonë të vetëdijshëm për këtë opsion të përshtatshëm kur vërtet duhet të shikoni një video përmes rrjetit. Në cilësimet Skedari | Hapni Rrjedën e Rrjetit programet vlc mund të futni vendndodhjen si sftp://. Nëse kërkohet një fjalëkalim, do të shfaqet një kërkesë.

sftp://remoteserver//media/uploads/myvideo.mkv

19. Autentifikimi me dy faktorë

I njëjti vërtetim me dy faktorë si llogaria juaj bankare ose llogaria e Google zbatohet për shërbimin SSH.

Sigurisht, ssh fillimisht ka një funksion vërtetimi me dy faktorë, që do të thotë një fjalëkalim dhe një çelës SSH. Avantazhi i një tokeni harduer ose aplikacioni Google Authenticator është se zakonisht është një pajisje fizike e ndryshme.

Shihni udhëzuesin tonë 8-minutësh për duke përdorur Google Authenticator dhe SSH.

20. Kërcim pret me ssh dhe -J

Nëse segmentimi i rrjetit do të thotë që ju duhet të kaloni nëpër host të shumëfishtë ssh për të arritur në rrjetin e destinacionit përfundimtar, shkurtorja -J do t'ju kursejë kohë.

localhost:~$ ssh -J host1,host2,host3 [email protected]

Gjëja kryesore për të kuptuar këtu është se kjo nuk është e njëjtë me komandën ssh host1, atëherë user@host1:~$ ssh host2 etj. Opsioni -J përdor me zgjuarsi përcjelljen për të detyruar localhost-in të krijojë një sesion me hostin e ardhshëm në zinxhir. Pra, në shembullin e mësipërm, hosti ynë lokal është vërtetuar në host4. Kjo do të thotë, përdoren çelësat tanë localhost dhe seanca nga localhost në host4 është plotësisht e koduar.

Për një mundësi të tillë në ssh_config specifikoni opsionin e konfigurimit ProxyJump. Nëse rregullisht duhet të kaloni nëpër disa hoste, atëherë automatizimi përmes konfigurimit do të kursejë shumë kohë.

21. Blloko përpjekjet për forcë brutale SSH duke përdorur iptables

Kushdo që ka menaxhuar një shërbim SSH dhe ka parë regjistrat e di për numrin e përpjekjeve të forcës brutale që ndodhin çdo orë të çdo dite. Një mënyrë e shpejtë për të reduktuar zhurmën në regjistra është zhvendosja e SSH në një port jo standard. Bëni ndryshime në skedar sshd_config nëpërmjet parametrit të konfigurimit Port##.

Me iptables Ju gjithashtu mund të bllokoni lehtësisht përpjekjet për t'u lidhur me një port pasi të keni arritur një prag të caktuar. Një mënyrë e thjeshtë për ta bërë këtë është përdorimi OSSEC, sepse jo vetëm që bllokon SSH, por bën një sërë masash të tjera të zbulimit të ndërhyrjeve të bazuara në emrat e hostit (HIDS).

22. SSH Escape për të ndryshuar përcjelljen e portit

Dhe shembulli ynë i fundit ssh projektuar për të ndryshuar përcjelljen e portit në fluturim brenda një sesioni ekzistues ssh. Imagjinoni këtë skenar. Jeni thellë në rrjet; ndoshta ka hipur mbi gjysmë duzine hoste dhe ka nevojë për një port lokal në stacionin e punës që përcillet te Microsoft SMB i një sistemi të vjetër Windows 2003 (ndokush e mban mend ms08-67?).

Duke klikuar enter, provoni të hyni në tastierë ~C. Kjo është një sekuencë e kontrollit të sesionit që lejon të bëhen ndryshime në një lidhje ekzistuese.

localhost:~$ ~C
ssh> -h
Commands:
      -L[bind_address:]port:host:hostport    Request local forward
      -R[bind_address:]port:host:hostport    Request remote forward
      -D[bind_address:]port                  Request dynamic forward
      -KL[bind_address:]port                 Cancel local forward
      -KR[bind_address:]port                 Cancel remote forward
      -KD[bind_address:]port                 Cancel dynamic forward
ssh> -L 1445:remote-win2k3:445
Forwarding port.

Këtu mund të shihni se ne kemi përcjellë portin tonë lokal 1445 te një host i Windows 2003 që kemi gjetur në rrjetin e brendshëm. Tani vetëm vraponi msfconsole, dhe mund të vazhdoni (duke supozuar se planifikoni të përdorni këtë host).

Përfundim

Këta shembuj, këshilla dhe komanda ssh duhet të japë një pikënisje; Më shumë informacion rreth secilës prej komandave dhe aftësive është i disponueshëm në faqet e njeriut (man ssh, man ssh_config, man sshd_config).

Unë kam qenë gjithmonë i magjepsur nga aftësia për të hyrë në sisteme dhe për të ekzekutuar komanda kudo në botë. Duke zhvilluar aftësitë tuaja me mjete si ssh do të bëheni më efektivë në çdo lojë që luani.

Burimi: www.habr.com

Shto një koment