Praktyske tips, foarbylden en SSH-tunnels

Praktyske tips, foarbylden en SSH-tunnels
Praktyske foarbylden SSH, dy't jo feardichheden as systeembehearder op ôfstân nei in nij nivo bringe sil. Kommando's en tips sille net allinich helpe om te brûken SSH, mar ek navigearje it netwurk mear competently.

Witte in pear trúkjes ssh nuttich foar elke systeembehearder, netwurkingenieur of feiligensspesjalist.

Praktyske SSH Foarbylden

  1. SSH socks proxy
  2. SSH-tunnel (poarte trochstjoere)
  3. SSH-tunnel nei tredde host
  4. Reverse SSH tunnel
  5. SSH reverse proxy
  6. Ynstallearje VPN oer SSH
  7. In SSH-kaai kopiearje (ssh-copy-id)
  8. Utfiering fan kommando op ôfstân (net-ynteraktyf)
  9. Paketopfang en besjen op ôfstân yn Wireshark
  10. In lokale map kopiearje nei in tsjinner op ôfstân fia SSH
  11. GUI-applikaasjes op ôfstân mei SSH X11 Trochstjoere
  12. Kopiearje fan bestannen op ôfstân mei rsync en SSH
  13. SSH oer Tor netwurk
  14. SSH nei EC2 eksimplaar
  15. Tekstbestannen bewurkje mei VIM fia ssh/scp
  16. Befestigje SSH op ôfstân as lokale map mei SSHFS
  17. Multiplexing SSH mei ControlPath
  18. Stream fideo oer SSH mei VLC en SFTP
  19. Twa-faktor autentikaasje
  20. Jumping hosts mei SSH en -J
  21. SSH brute force-pogingen blokkearje mei iptables
  22. SSH Escape om poarte trochstjoere te feroarjen

Earst de basis

It parsearjen fan de SSH kommandorigel

It folgjende foarbyld brûkt mienskiplike parameters dy't faak tsjinkomme by it ferbinen mei in tsjinner op ôfstân SSH.

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

  • -v: Debuggen-útfier is benammen nuttich by it analysearjen fan autentikaasjeproblemen. Kin meardere kearen brûkt wurde om ekstra ynformaasje wer te jaan.
  • - p 22: ferbining haven nei in SSH-tsjinner op ôfstân. 22 hoecht net oantsjutte te wurden, om't dit de standertwearde is, mar as it protokol op in oare poarte stiet, spesifisearje wy it mei de parameter -p. De harkpoarte is oantsjutte yn it bestân sshd_config yn opmaak Port 2222.
  • -C: Kompresje foar ferbining. As jo ​​in trage ferbining hawwe of in protte tekst besjen, kin dit de ferbining fersnelle.
  • neo@: De rigel foar it @-symboal jout de brûkersnamme oan foar autentikaasje op de tsjinner op ôfstân. As jo ​​it net oantsjutte, sil it standert de brûkersnamme wêze fan it akkount wêrop jo op it stuit binne oanmeld (~$whoami). De brûker kin ek oantsjutte mei de parameter -l.
  • remoteserver: namme fan de host om te ferbinen mei ssh, dit kin in folslein kwalifisearre domeinnamme wêze, in IP-adres, of elke host yn it lokale hostbestân. Om te ferbinen mei in host dy't sawol IPv4 as IPv6 stipet, kinne jo de parameter tafoegje oan 'e kommandorigel -4 of -6 foar goede resolúsje.

Alle boppesteande parameters binne opsjoneel útsein remoteserver.

Mei help fan de konfiguraasje triem

Hoewol in protte binne bekend mei de triem sshd_config, der is ek in client konfiguraasje triem foar it kommando ssh. Standertwearde ~/.ssh/config, mar it kin wurde definiearre as in parameter foar in opsje -F.

Host *
     Port 2222

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

D'r binne twa host-yngongen yn it foarbyld ssh-konfiguraasjebestân hjirboppe. De earste betsjut alle hosts, allegear mei de konfiguraasjeparameter Port 2222. De twadde seit dat foar de host remoteserver in oare brûkersnamme, poarte, FQDN en IdentityFile moatte wurde brûkt.

In konfiguraasjetriem kin in protte typtiid besparje troch avansearre konfiguraasje automatysk tapasse te litten by it ferbinen mei spesifike hosts.

It kopiearjen fan bestannen oer SSH mei SCP

De SSH-kliïnt komt mei twa oare heul handige ark foar it kopiearjen fan bestannen fersifere ssh ferbining. Sjoch hjirûnder foar in foarbyld fan standertgebrûk fan de scp- en sftp-kommando's. Tink derom dat in protte fan 'e ssh-opsjes ek jilde foar dizze kommando's.

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

Yn dit foarbyld de triem mypic.png kopiearre nei remoteserver oan map /media/data en omneamd ta mypic_2.png.

Ferjit net oer it ferskil yn 'e havenparameter. Dit is wêr't in protte minsken fongen wurde as se lansearje scp fan de kommandorigel. Hjir is de havenparameter -P, en net -p, Krekt as yn in ssh client! Jo sille ferjitte, mar meitsje jo gjin soargen, elkenien ferjit.

Foar dyjingen dy't bekend binne mei konsole ftp, in protte fan 'e kommando's binne ferlykber yn sftp. Jo kinne dwaan triuwe, sette и lssa't it hert begeart.

sftp neo@remoteserver

Praktyske foarbylden

Yn in protte fan dizze foarbylden kinne de resultaten wurde berikt mei ferskate metoaden. Lykas yn al ús learboeken en foarbylden, foarkar wurdt jûn oan praktyske foarbylden dy't gewoan dogge harren wurk.

1. SSH sokken proxy

De SSH Proxy-funksje is nûmer 1 foar in goede reden. It is machtiger dan in protte realisearje en jout jo tagong ta elk systeem dat de tsjinner op ôfstân tagong hat, mei praktysk elke applikaasje. In ssh-kliïnt kin ferkear troch in SOCKS-proxy tunnelje mei ien ienfâldich kommando. It is wichtich om te begripen dat ferkear nei systemen op ôfstân komt fan in tsjinner op ôfstân, dit sil oanjûn wurde yn 'e webserverlogs.

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

Hjir rinne wy ​​in sockenproxy op TCP-poarte 8888, it twadde kommando kontrolearret dat de haven aktyf is yn harkmodus. 127.0.0.1 jout oan dat de tsjinst allinich op localhost rint. Wy kinne in wat oars kommando brûke om te harkjen op alle ynterfaces, ynklusyf ethernet of wifi, dit sil oare applikaasjes (browsers, ensfh.) Op ús netwurk tastean om te ferbinen mei de proxytsjinst fia de ssh socks proxy.

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

No kinne wy ​​de browser konfigurearje om te ferbinen mei de socks proxy. Selektearje yn Firefox Ynstellings | Basic | Netwurk ynstellings. Spesifisearje it IP-adres en de poarte om te ferbinen.

Praktyske tips, foarbylden en SSH-tunnels

Notysje asjebleaft de opsje ûnderoan it formulier om ek de DNS-oanfragen fan jo browser fia in SOCKS-proxy te gean. As jo ​​​​in proxy-tsjinner brûke om webferkear op jo lokale netwurk te fersiferjen, wolle jo dizze opsje wierskynlik selektearje sadat DNS-oanfragen troch de SSH-ferbining tunneld wurde.

Sockenproxy aktivearje yn Chrome

It starten fan Chrome mei bepaalde kommandorigelparameters sil de socks-proxy ynskeakelje, en ek DNS-oanfragen fan 'e browser tunnelje. Fertrouwe mar kontrolearje. Brûke tcpdump om te kontrolearjen dat DNS-fragen net mear sichtber binne.

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

Gebrûk fan oare applikaasjes mei in proxy

Hâld der rekken mei dat in protte oare applikaasjes ek sokke proxies kinne brûke. De webbrowser is gewoan de populêrste fan allegear. Guon applikaasjes hawwe konfiguraasjeopsjes om in proxy-tsjinner yn te skeakeljen. Oaren hawwe in bytsje help nedich mei in helpprogramma. Bygelyks, proxychains kinne jo rinne troch in socks proxy Microsoft RDP, etc.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Socks proxy konfiguraasje parameters wurde ynsteld yn de proxychains konfiguraasje triem.

Hint: as jo buroblêd op ôfstân brûke fan Linux op Windows? Besykje de klant FreeRDP. Dit is in mear moderne ymplemintaasje dan rdesktop, mei in folle soepeler ûnderfining.

Opsje om SSH te brûken fia socks proxy

Jo sitte yn in kafee of hotel - en wurde twongen om frij ûnbetroubere WiFi te brûken. Wy lansearje in ssh-proxy lokaal fan in laptop en ynstallearje in ssh-tunnel yn it thúsnetwurk op in lokale Rasberry Pi. Mei help fan in blêder of oare applikaasjes konfigurearre foar in socks proxy, wy kinne tagong ta alle netwurk tsjinsten op ús thús netwurk of tagong ta it ynternet fia ús thús ferbining. Alles tusken jo laptop en jo thússerver (fia Wi-Fi en ynternet nei jo hûs) is fersifere yn in SSH-tunnel.

2. SSH-tunnel (poarte trochstjoere)

Yn syn ienfâldichste foarm iepenet in SSH-tunnel gewoan in poarte op jo lokale systeem dy't oanslút op in oare poarte oan 'e oare ein fan' e tunnel.

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

Litte wy nei de parameter sjen -L. It kin beskôge wurde as de lokale kant fan harkjen. Dus yn it foarbyld hjirboppe harket poarte 9999 oan 'e kant fan' e localhost en trochstjoerd fia poarte 80 nei remoteserver. Tink derom dat 127.0.0.1 ferwiist nei localhost op 'e tsjinner op ôfstân!

Litte wy de stap omheech gean. It folgjende foarbyld kommunisearret harkjende havens mei oare hosts op it lokale netwurk.

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

Yn dizze foarbylden meitsje wy ferbining mei in poarte op 'e webserver, mar dit kin in proxy-tsjinner wêze as in oare TCP-tsjinst.

3. SSH tunnel nei in tredde-partij host

Wy kinne deselde parameters brûke om in tunnel te ferbinen fan in tsjinner op ôfstân nei in oare tsjinst dy't rint op in tredde systeem.

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

Yn dit foarbyld ferwize wy in tunnel fan remoteserver nei in webserver dy't rint op 10.10.10.10. Ferkear fan remoteserver nei 10.10.10.10 net mear yn de SSH-tunnel. De webserver op 10.10.10.10 sil remoteserver beskôgje as de boarne fan weboanfragen.

4. Reverse SSH tunnel

Hjir sille wy in harkpoarte konfigurearje op 'e tsjinner op ôfstân dy't werom sil ferbine mei de lokale poarte op ús localhost (as in oar systeem).

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

Dizze SSH-sesje bringt in ferbining fan poarte 1999 op tsjinner op ôfstân nei poarte 902 op ús lokale client.

5. SSH Reverse Proxy

Yn dit gefal stelle wy in socks-proxy op ús ssh-ferbining, mar de proxy harket op 'e ôfstân fan' e tsjinner. Ferbinings mei dizze proxy op ôfstân ferskine no út 'e tunnel as ferkear fan ús localhost.

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

Problemen oplosse mei SSH-tunnels op ôfstân

As jo ​​​​problemen hawwe mei SSH-opsjes op ôfstân wurkje, kontrolearje dan mei netstat, hokker oare ynterfaces de harkpoarte is ferbûn mei. Hoewol't wy oanjûn 0.0.0.0 yn 'e foarbylden, mar as de wearde GatewayPorts в sshd_config Klear foar nee, dan sil de harker allinich bûn wêze oan localhost (127.0.0.1).

Feilichheidswarskôging

Tink derom dat troch it iepenjen fan tunnels en sokke proxy's, ynterne netwurkboarnen tagonklik wêze kinne foar net-fertroude netwurken (lykas it ynternet!). Dit kin in serieus feiligensrisiko wêze, dus soargje derfoar dat jo begripe wat de harker is en wêr't se tagong ta hawwe.

6. Ynstallearje VPN fia SSH

In mienskiplike term ûnder spesjalisten yn oanfalsmetoaden (pentesters, ensfh.) is "in steunpunt yn it netwurk." Sadree't der in ferbining is oprjochte op ien systeem, dat systeem wurdt de poarte foar fierdere tagong ta it netwurk. In stipepunt wêrmei jo yn 'e breedte kinne bewegen.

Foar sa'n fuotstân kinne wy ​​brûke in SSH proxy en proxychains, lykwols binne d'r guon beheiningen. It sil bygelyks net mooglik wêze om direkt mei sockets te wurkjen, sadat wy gjin havens binnen it netwurk kinne scannen fia Nmap SYN.

Mei dizze mear avansearre VPN-opsje wurdt de ferbining fermindere nei nivo 3. Wy kinne dan gewoan ferkear troch de tunnel routerje mei standert netwurkrouting.

De metoade brûkt ssh, iptables, tun interfaces en routing.

Earst moatte jo dizze parameters ynstelle sshd_config. Sûnt wy meitsje feroarings oan de ynterfaces fan sawol de ôfstân en client systemen, wy nedich root rjochten oan beide kanten.

PermitRootLogin yes
PermitTunnel yes

Dan sille wy in ssh-ferbining meitsje mei de parameter dy't de inisjalisaasje fan tun-apparaten freget.

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

Wy soene no in tunapparaat moatte hawwe by it werjaan fan ynterfaces (# ip a). De folgjende stap sil IP-adressen tafoegje oan de tunnel-ynterfaces.

SSH klantside:

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

SSH Server Side:

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

No hawwe wy in direkte rûte nei in oare host (route -n и ping 10.10.10.10).

Jo kinne elk subnet troch in host oan 'e oare kant rûte.

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

Oan 'e kant op ôfstân moatte jo ynskeakelje 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

Boom! VPN oer SSH-tunnel by netwurklaach 3. No is dat in oerwinning.

As der problemen foarkomme, brûk dan tcpdump и pingom de oarsaak te bepalen. Sûnt wy spylje op laach 3, sille ús icmp-pakketten troch dizze tunnel gean.

7. Kopiearje de SSH-kaai (ssh-copy-id)

D'r binne ferskate manieren om dit te dwaan, mar dit kommando besparret tiid troch gjin bestannen mei de hân te kopiearjen. It kopiearret gewoan ~/.ssh/id_rsa.pub (as de standertkaai) fan jo systeem nei ~/.ssh/authorized_keys op in tsjinner op ôfstân.

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

8. Utfiering fan kommando op ôfstân (net-ynteraktyf)

ploech ssh Kin wurde keppele oan oare kommando's foar in mienskiplike, brûkerfreonlike ynterface. Foegje gewoan it kommando ta dat jo wolle útfiere op 'e host op ôfstân as de lêste parameter yn oanhalingstekens.

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

Yn dit foarbyld grep útfierd op it lokale systeem neidat it log is ynladen fia ssh-kanaal. As it bestân grut is, is it handiger om te rinnen grep op 'e ôfstân troch gewoan beide kommando's yn dûbele oanhalingstekens yn te sluten.

In oar foarbyld fiert deselde funksje as ssh-copy-id foarbyld 7.

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

9. Remote pakket capture en besjen yn Wireshark

Ik naam ien fan ús tcpdump foarbylden. Brûk it om pakketten op ôfstân te fangen en de resultaten direkt yn 'e lokale Wireshark GUI te werjaan.

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

10. It kopiearjen fan in lokale map nei in tsjinner op ôfstân fia SSH

In moaie trúk dy't in map mei help fan komprimearret bzip2 (dit is de -j opsje yn it kommando tar), en helje dan de stream op bzip2 oan 'e oare kant, it meitsjen fan in dûbele map op' e tsjinner op ôfstân.

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

11. Remote GUI Applikaasjes mei SSH X11 Forwarding

As X is ynstalleare op de client en de tsjinner op ôfstân, dan kinne jo op ôfstân in GUI-kommando útfiere mei in finster op jo lokale buroblêd. Dizze funksje bestiet al in lange tiid, mar is noch altyd heul nuttich. Starte in webblêder op ôfstân of sels de VMWawre Workstation-konsole lykas ik yn dit foarbyld dwaan.

localhost:~$ ssh -X remoteserver vmware

Fereaske string X11Forwarding yes yn triem sshd_config.

12. Kopiearje fan triem op ôfstân mei rsync en SSH

rsync folle handiger scp, as jo periodike backups nedich hawwe fan in map, in grut oantal bestannen, of heul grutte bestannen. D'r is in funksje om te herstellen fan in oerdrachtfal en allinich feroare bestannen te kopiearjen, wat ferkear en tiid besparret.

Dit foarbyld brûkt kompresje gzip (-z) en argyfmodus (-a), dy't rekursyf kopiearjen mooglik makket.

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

13. SSH oer it Tor netwurk

It anonime Tor-netwurk kin SSH-ferkear tunnel mei it kommando torsocks. It folgjende kommando sil de ssh-proxy troch Tor passe.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsocks sil poarte 9050 brûke op localhost foar proxy. Lykas altyd, by it brûken fan Tor moatte jo serieus kontrolearje hokker ferkear wurdt tunnelearre en oare problemen mei operasjonele feiligens (opsec). Wêr geane jo DNS-fragen hinne?

14. SSH to EC2 eksimplaar

Om ferbining te meitsjen mei in EC2-eksimplaar, hawwe jo in privee kaai nedich. Download it (.pem-útwreiding) fan it Amazon EC2-kontrôlepaniel en feroarje de tagongsrjochten (chmod 400 my-ec2-ssh-key.pem). Hâld de kaai op in feilich plak of pleats it yn jo eigen map ~/.ssh/.

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

Parameter -i fertelt gewoan de ssh-kliïnt om dizze kaai te brûken. Map ~/.ssh/config Ideaal foar it automatysk konfigurearjen fan kaaigebrûk by it ferbinen mei in ec2-host.

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

15. Teksttriemmen bewurkje mei VIM fia ssh / scp

Foar alle leafhawwers vim Dizze tip sil wat tiid besparje. Troch te brûken vim bestannen wurde bewurke fia scp mei ien kommando. Dizze metoade makket it bestân gewoan lokaal yn /tmpen kopiearret it dan werom as wy it bewarre hawwe vim.

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

Opmerking: it formaat is wat oars as it gewoane scp. Nei de gasthear wy hawwe dûbele //. Dit is in absolute paadferwizing. Ien slash sil in paad oanjaan relatyf oan jo thúsmap users.

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

As jo ​​​​dizze flater sjogge, kontrolearje dan dûbel it kommandoformaat. Dit betsjut normaal in syntaksisflater.

16. Montearje in ôfstân SSH as in lokale map mei SSHFS

Mei help fan sshfs - client foar bestânsysteem ssh - wy kinne in lokale map ferbine mei in lokaasje op ôfstân mei alle triem ynteraksjes yn in fersifere sesje ssh.

localhost:~$ apt install sshfs

Ynstallearje it pakket op Ubuntu en Debian sshfs, en montearje dan gewoan de lokaasje op ôfstân op ús systeem.

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

17. SSH Multiplexing mei ControlPath

Standert, as d'r in besteande ferbining is mei in tsjinner op ôfstân brûkt ssh twadde ferbining mei help ssh of scp stelt in nije sesje yn mei ekstra autentikaasje. Opsje ControlPath lit de besteande sesje brûkt wurde foar alle folgjende ferbiningen. Dit sil it proses signifikant fersnelle: it effekt is merkber sels op in lokaal netwurk, en noch mear by it ferbinen mei boarnen op ôfstân.

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

ControlPath spesifisearret de socket om te kontrolearjen op nije ferbiningen om te sjen oft der in aktive sesje is ssh. De lêste opsje betsjut dat sels nei't jo de konsole ferlitte, de besteande sesje 10 minuten iepen bliuwt, dus yn dizze tiid kinne jo opnij ferbine mei de besteande socket. Foar mear ynformaasje, sjoch de help. ssh_config man.

18. Stream fideo oer SSH mei VLC en SFTP

Sels lange tiid brûkers ssh и vlc (Video Lan Client) binne net altyd bewust fan dizze handige opsje as jo wirklik in fideo oer it netwurk moatte besjen. Yn ynstellings Triem | Iepenje Netwurkstream programma vlc kinne jo ynfiere de lokaasje as sftp://. As in wachtwurd nedich is, sil in prompt ferskine.

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

19. Twa-faktor autentikaasje

Deselde twa-faktor autentikaasje as jo bankrekken of Google akkount jildt foar de SSH tsjinst.

Fansels, ssh hat ynearsten in twa-faktor autentikaasje funksje, dat betsjut in wachtwurd en in SSH kaai. It foardiel fan in hardware-token as Google Authenticator-app is dat it normaal in oar fysyk apparaat is.

Sjoch ús 8-minuten hantlieding foar mei Google Authenticator en SSH.

20. Jumping hosts mei ssh en -J

As netwurksegmentaasje betsjut dat jo troch meardere ssh-hosts moatte springe om nei it definitive bestimmingsnetwurk te kommen, sil de fluchtoets -J jo tiid besparje.

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

It wichtichste ding om hjir te begripen is dat dit net itselde is as it kommando ssh host1, dan user@host1:~$ ssh host2 ensfh De opsje -J brûkt tûk trochstjoere om localhost te twingen om in sesje te fêstigjen mei de folgjende host yn 'e keten. Dat yn it boppesteande foarbyld is ús localhost authentisearre foar host4. Dat is, ús localhost-kaaien wurde brûkt, en de sesje fan localhost nei host4 is folslein fersifere.

Foar sa'n mooglikheid yn ssh_config spesifisearje konfiguraasje opsje ProxyJump. As jo ​​​​regelmjittich troch ferskate hosts moatte gean, dan sil automatisearring fia de konfiguraasje in protte tiid besparje.

21. Block SSH brute krêft besykjen mei help fan iptables

Elkenien dy't in SSH-tsjinst beheard hat en de logs besjoen hat, wit oer it oantal brute krêftpogingen dy't elke oere fan elke dei foarkomme. In rappe manier om lûd yn 'e logs te ferminderjen is SSH te ferpleatsen nei in net-standert haven. Meitsje feroarings oan it bestân sshd_config fia konfiguraasje parameter Haven##.

Mei help fan iptables Jo kinne besykjen om te ferbinen mei in haven ek maklik blokkearje by it berikken fan in bepaalde drompel. In maklike manier om dit te dwaan is te brûken OSSEC, om't it net allinich SSH blokkearret, mar docht in bosk oare hostnamme-basearre ynbraakdeteksje (HIDS) maatregels.

22. SSH Escape te feroarjen haven trochstjoere

En ús lêste foarbyld ssh ûntworpen om poarte trochstjoere te feroarjen binnen in besteande sesje ssh. Stel jo dit senario foar. Jo binne djip yn it netwurk; miskien hopped oer in heal dozen hosts en nedich in lokale haven op it wurkstasjonStencils dat wurdt trochstjoerd nei de Microsoft SMB fan in âlde Windows 2003 systeem (ien ûnthâlde ms08-67?).

Klikje enter, besykje yn te gean yn 'e konsole ~C. Dit is in sesjekontrôle-sekwinsje wêrmei feroarings kinne wurde makke oan in besteande ferbining.

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.

Hjir kinne jo sjen dat wy ús lokale poarte 1445 trochstjoerd hawwe nei in Windows 2003-host dy't wy fûn hawwe op it ynterne netwurk. No mar rinne msfconsole, en jo kinne trochgean (oannommen dat jo fan plan binne dizze host te brûken).

Fertraging

Dizze foarbylden, tips en kommando's ssh moat in útgongspunt jaan; Mear ynformaasje oer elk fan 'e kommando's en mooglikheden is beskikber op 'e man-siden (man ssh, man ssh_config, man sshd_config).

Ik bin altyd fassinearre west troch de mooglikheid om tagong te krijen ta systemen en kommando's oeral yn 'e wrâld út te fieren. Troch jo feardigens te ûntwikkeljen mei ark lykas ssh do silst wurden effektiver yn alle spultsje jo spylje.

Boarne: www.habr.com

Add a comment