Praktikaj Konsiloj, Ekzemploj kaj SSH-Tuneloj

Praktikaj Konsiloj, Ekzemploj kaj SSH-Tuneloj
Praktikaj ekzemploj SSHtio prenos viajn kapablojn kiel fora sistemadministranto al nova nivelo. Komandoj kaj konsiletoj helpos ne nur uzi SSH, sed ankaŭ navigi la reton pli inteligente.

Sciante kelkajn lertaĵojn ssh utila al iu ajn sistemadministranto, ret-inĝeniero aŭ sekureca profesiulo.

Praktikaj SSH-ekzemploj

  1. SSH-ŝtrumpetoj prokurilo
  2. SSH-tunelo (havena plusendado)
  3. SSH-tunelo al tria gastiganto
  4. Inversa SSH-tunelo
  5. SSH Inversa Prokurilo
  6. Instalante VPN super SSH
  7. Kopiu SSH-ŝlosilo (ssh-copy-id)
  8. Fora komanda ekzekuto (ne-interaga)
  9. Forkapto kaj spektado de pakaĵetoj kun Wireshark
  10. Kopiante lokan dosierujon al fora servilo per SSH
  11. Foraj GUI-aplikoj kun SSH X11 Plusendado
  12. Fora dosiero kopiado kun rsync kaj SSH
  13. SSH tra la Tor reto
  14. SSH al EC2-instanco
  15. Redaktado de tekstaj dosieroj kun VIM per ssh/scp
  16. Munti foran SSH kiel lokan dosierujon kun SSHFS
  17. Multipleksado de SSH kun ControlPath
  18. Flui video per SSH kun VLC kaj SFTP
  19. Dufakta aŭtentikigo
  20. Gastiganto saltanta kun SSH kaj -J
  21. Blokante SSH-krudfortajn provojn kun iptables
  22. SSH Escape por ŝanĝi havenon plusendita

Bazoj unue

SSH Komandolinia Analizo

La sekva ekzemplo uzas oftajn eblojn ofte renkontitajn dum konektado al fora servilo SSH.

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

  • -v: La sencimiga eligo estas precipe utila kiam oni analizas aŭtentigajn problemojn. Povas esti uzata plurfoje por montri pliajn informojn.
  • - p 22: konekta haveno al fora SSH-servilo. 22 ne devas esti specifita, ĉar ĉi tiu estas la defaŭlta valoro, sed se la protokolo estas sur iu alia haveno, tiam ni specifas ĝin uzante la parametron -p. La aŭskulta haveno estas specifita en la dosiero sshd_config en formato Port 2222.
  • -C: kunpremo por konekto. Se vi havas malrapidan kanalon aŭ rigardas multe da teksto, ĉi tio povas akceli la konekton.
  • neo@: La linio antaŭ la @ signo indikas la uzantnomon por aŭtentikigi ĉe la fora servilo. Se vi ne specifas ĝin, ĝi defaŭlte al la uzantnomo de la konto, al kiu vi nun estas ensalutinta (~$ whoami). La uzanto ankaŭ povas esti specifita per la parametro -l.
  • remoteserver: nomo de la gastiganto al kiu konektiĝi ssh, ĝi povas esti plene kvalifikita domajna nomo, IP-adreso aŭ iu ajn gastiganto en la lokaj gastigantoj-dosiero. Por konektiĝi al gastiganto kiu subtenas kaj IPv4 kaj IPv6, vi povas aldoni la komandlinian parametron -4-6 por ĝusta rezolucio.

Ĉiuj ĉi-supraj parametroj estas laŭvolaj krom remoteserver.

Uzante agordan dosieron

Kvankam multaj konas la dosieron sshd_config, ekzistas ankaŭ klienta agorda dosiero por la komando ssh. Defaŭlta valoro ~/.ssh/config, sed ĝi povas esti difinita kiel parametro al opcio -F.

Host *
     Port 2222

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

La ekzemplo ssh-agorda dosiero supre havas du gastigajn enirojn. La unua indikas ĉiujn gastigantojn, ĉar ĉiuj aplikas la agorda parametro de Port 2222. La dua diras tion por la gastiganto. fora servilo vi devus uzi malsaman uzantnomon, havenon, FQDN kaj IdentityFile.

Agorda dosiero povas ŝpari multe da tempo de tajpado de signoj, permesante ke altnivela agordo estu aplikata aŭtomate kiam li konektas al specifaj gastigantoj.

Kopiante dosierojn per SSH per SCP

La SSH-kliento venas kun du aliaj tre oportunaj iloj por kopii dosierojn ĉifrita ssh-konekto. Malsupre estas ekzemplo de tipa uzo de la komandoj scp kaj sftp. Notu, ke multaj el la opcioj por ssh validas ankaŭ por ĉi tiuj komandoj.

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

En ĉi tiu ekzemplo la dosiero miapic.png kopiita al fora servilo al dosierujo /media/datenoj kaj renomita al miapic_2.png.

Ne forgesu pri la diferenco en la haveno-parametro. Sur ĉi tio renkontas multajn, kiuj lanĉas scp de la komandlinio. Jen la haveno-parametro -Pkaj ne -pkiel en ssh-kliento! Vi forgesos, sed ne maltrankviliĝu, ĉiuj forgesas.

Por tiuj, kiuj konas konzolon ftp, multaj el la komandoj estas similaj en sftp. Vi povas fari puŝo, metis и lskiel via koro deziras.

sftp neo@remoteserver

Praktikaj ekzemploj

En multaj el ĉi tiuj ekzemploj, la rezulto povas esti atingita per malsamaj metodoj. Kiel en ĉiuj niaj lernolibroj kaj ekzemploj, oni preferas praktikajn ekzemplojn, kiuj nur faras la lertaĵon.

1. SSH-ŝtrumpetoj prokurilo

La funkcio de SSH Proxy estas numero 1 pro bona kialo. Ĝi estas pli potenca ol plej multaj homoj pensas kaj donas al vi aliron al ajna sistemo al kiu fora servilo havas aliron, uzante preskaŭ ajnan aplikaĵon. Ssh-kliento povas tuneli trafikon tra SOCKS-prokurilo per unu simpla komando. Gravas kompreni, ke trafiko al foraj sistemoj venos de fora servilo, kiel estos indikite en la retservilaj protokoloj.

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

Ĉi tie ni komencas ŝtrumpetprokurilon sur TCP-haveno 8888, la dua komando kontrolas, ke la haveno estas aktiva en aŭskulta reĝimo. 127.0.0.1 precizigas, ke la servo nur funkcias per localhost. Ni povas uzi iomete malsaman komandon por aŭskulti en ĉiuj interfacoj, inkluzive de ethernet aŭ wifi, ĉi tio permesos al aliaj aplikaĵoj (retumiloj, ktp.) en nia reto konektiĝi al la prokura servo per la prokurilo ssh socks.

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

Nun ni povas agordi la retumilon por konekti al la ŝtrumpeta prokurilo. En Firefox elektu Agordoj | Ĉefa | Retaj agordoj. Indiku la IP-adreson kaj pordon al kiu konektiĝi.

Praktikaj Konsiloj, Ekzemploj kaj SSH-Tuneloj

Atentu la opcion ĉe la malsupro de la formularo, por ke la DNS-demandoj de la retumilo ankaŭ trairu la SOCKS-prokurilon. Se vi uzas prokuran servilon por ĉifri retan trafikon en via loka reto, tiam vi verŝajne volos elekti ĉi tiun opcion por ke DNS-demandoj estu tuneligitaj per la SSH-konekto.

Aktivigo de ŝtrumpetaj prokurilo en Chrome

Lanĉi Chrome kun certaj komandliniaj opcioj ebligos la ŝtrumpetprokurilon kaj ankaŭ tuneli DNS-demandojn de la retumilo. Fidu sed kontrolu. Uzu tcpdump por kontroli ke DNS-demandoj ne plu estas videblaj.

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

Uzante aliajn aplikojn kun prokurilo

Memoru, ke multaj aliaj aplikoj ankaŭ povas uzi ŝtrumpetajn prokurojn. La TTT-legilo estas simple la plej populara el ili ĉiuj. Iuj aplikaĵoj havas agordajn elektojn por aktivigi prokurilon. Aliaj bezonas iom da helpo kun helpa programo. Ekzemple, prokurĉenoj permesas vin trakuri ŝtrumpetojn-proxy Microsoft RDP, ktp.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

La ŝtrumpetaj prokuraj agordaj parametroj estas fiksitaj en la agorda dosiero de proxychains.

Sugesto: ĉu vi uzas fora labortablo de Linukso al Vindozo? Provu Klienton FreeRDP. Ĉi tio estas pli moderna efektivigo ol rdesktop, kun multe pli milda interago.

Opcio uzi SSH per ŝtrumpetaj prokurilo

Vi sidas en kafejo aŭ hotelo - kaj estas devigita uzi sufiĉe nefidinda WiFi. De la tekkomputilo, ni lanĉas ssh-prokurilon loke kaj starigas ssh-tunelon al la hejma reto sur la loka Rasberry Pi. Uzante retumilon aŭ aliajn aplikojn agorditajn por ŝtrumpeta prokurilo, ni povas aliri ajnajn retajn servojn en nia hejma reto aŭ enreti per nia hejma konekto. Ĉio inter via tekkomputilo kaj via hejma servilo (per Wi-Fi kaj interreto al via hejmo) estas ĉifrita en SSH-tunelo.

2. SSH-tunelo (havena plusendado)

En ĝia plej simpla formo, SSH-tunelo simple malfermas havenon en via loka sistemo, kiu konektas al malsama haveno ĉe la alia fino de la tunelo.

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

Ni analizu la parametron -L. Ĝi povas esti opiniita kiel la loka aŭskultanta flanko. Tiel, en la supra ekzemplo, haveno 9999 aŭskultas ĉe la lokahost-flanko kaj plusendita sur haveno 80 al la fora servilo. Notu, ke 127.0.0.1 rilatas al localhost sur la fora servilo!

Ni supreniru la ŝtuparon. La sekva ekzemplo ligas aŭskultajn havenojn al aliaj gastigantoj en la loka reto.

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

En ĉi tiuj ekzemploj, ni konektas al haveno sur la retservilo, sed ĉi tio povus esti prokura servilo aŭ iu ajn alia TCP-servo.

3. SSH-tunelo al tria gastiganto

Ni povas uzi la samajn eblojn por tuneli de fora servilo al alia servo funkcianta sur tria sistemo.

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

En ĉi tiu ekzemplo, ni plusendas tunelon de fora servilo al retservilo funkcianta je 10.10.10.10. Trafiko de fora servilo al 10.10.10.10 ne plu en SSH-tunelo. La retservilo je 10.10.10.10 konsideros fora servilo kiel la fonto de retpetoj.

4. Inversa SSH-tunelo

Ĉi tie ni starigos aŭskultan havenon sur la fora servilo, kiu konektos reen al loka haveno sur nia loka gastiganto (aŭ alia sistemo).

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

Ĉi tiu SSH-sesio establas konekton de haveno 1999 sur la fora servilo al haveno 902 sur nia loka kliento.

5. SSH Reverse Proxy

En ĉi tiu kazo, ni agordas ŝtrumpetojn prokurilon sur nia ssh-konekto, tamen la prokurilo aŭskultas ĉe la fora fino de la servilo. Konektoj al ĉi tiu fora prokurilo nun eliras el la tunelo kiel trafiko de nia loka gastiganto.

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

Solvado de Malproksimaj SSH-Tuneloj

Se vi havas problemojn por funkcii la forajn opciojn de SSH, kontrolu netstat, al kiuj aliaj interfacoj la aŭskulta haveno estas konektita. Kvankam ni indikis 0.0.0.0 en la ekzemploj, sed se la valoro GatewayPorts в sshd_config starigis al ne, tiam la aŭskultanto nur estos ligita al localhost (127.0.0.1).

Sekureca Averto

Bonvolu noti, ke dum malfermado de tuneloj kaj ŝtrumpetaj prokuriloj, internaj retaj rimedoj povas esti haveblaj al nefidindaj retoj (ekzemple, la Interreto!). Ĉi tio povas esti grava sekureca risko, do certigu, ke vi komprenas, kio estas aŭskultanto kaj al kio ĝi havas aliron.

6. Instalu VPN per SSH

Ofta termino inter atakantoj (pentestistoj, ktp.) estas "reta fulcro". Post kiam ligo estas establita sur unu sistemo, tiu sistemo iĝas la enirejo por plia aliro al la reto. Apogpunkto, kiu ebligas al vi moviĝi larĝe.

Por tia piedtenejo, ni povas uzi SSH-prokurilon kaj prokurĉenoj, tamen estas iuj limigoj. Ekzemple, ne eblos labori rekte kun ingoj, do ni ne povos skani havenojn ene de la reto per Nmap SYN.

Uzante ĉi tiun pli altnivelan VPN-opcion, la konekto falas al nivelo 3. Ni povas tiam simple direkti trafikon tra la tunelo uzante norman retvojigon.

La metodo uzas ssh, iptables, tun interfaces kaj vojigo.

Unue vi devas agordi ĉi tiujn parametrojn sshd_config. Ĉar ni faras ŝanĝojn al la interfacoj de kaj la fora kaj klienta sistemoj, ni bezonas radikajn permesojn ambaŭflanke.

PermitRootLogin yes
PermitTunnel yes

Tiam ni establos ssh-konekton uzante la parametron, kiu petas la inicialigon de tun-aparatoj.

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

Ni nun havu tun-aparaton dum montrado de interfacoj (# ip a). La sekva paŝo aldonos IP-adresojn al la tunelaj interfacoj.

SSH-klienta flanko:

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

SSH-servila flanko:

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

Nun ni havas rektan vojon al alia gastiganto (route -n и ping 10.10.10.10).

Eblas direkti ajnan subreton tra la gastiganto sur la alia flanko.

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

Ĉe la fora flanko, ebligu 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

Eksplodo! VPN super SSH-tunelo ĉe retotavolo 3. Ĉi tio jam estas venko.

Se estas problemoj, uzu tcpdump и pingpor determini la kaŭzon. Ĉar ni ludas ĉe tavolo 3, niaj icmp-pakoj trairos ĉi tiun tunelon.

7. Kopiu SSH-ŝlosilo (ssh-copy-id)

Estas pluraj manieroj fari tion, sed ĉi tiu komando ŝparas tempon ne kopiante la dosierojn permane. Ĝi simple kopias ~/.ssh/id_rsa.pub (aŭ la defaŭltan ŝlosilon) de via sistemo al ~/.ssh/authorized_keys sur fora servilo.

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

8. Fora komanda ekzekuto (ne-interaga)

teamo ssh povas esti ligita al aliaj komandoj por la kutima uzant-amika interfaco. Nur aldonu la komandon, kiun vi volas ruli sur la fora gastiganto kiel la lastan parametron inter citiloj.

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

En ĉi tiu ekzemplo grep estas ekzekutita en la loka sistemo post kiam la protokolo estis elŝutita per la ssh-kanalo. Se la dosiero estas granda, estas pli oportune ruliĝi grep sur la fora flanko simple enmetante ambaŭ komandojn inter citiloj.

Alia ekzemplo plenumas la saman funkcion kiel ssh-copy-id el ekzemplo 7.

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

9. Fora Paka Kapto kaj Wireshark Vido

Mi prenis unu el niaj tcpdump ekzemploj. Uzu ĝin por kapti pakaĵetojn malproksime kaj resendi la rezulton rekte al la GUI de via loka Wireshark.

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

10. Kopiante lokan dosierujon al fora servilo per SSH

Bela lertaĵo per kiu kunpremas dosierujon bzip2 (ĉi tio estas la opcio -j en la komando tar) kaj poste prenas la rivereton bzip2 aliflanke, kreante duplikatan dosierujon sur la fora servilo.

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

11. Foraj GUI-aplikoj kun SSH X11 plusendado

Se kaj la kliento kaj la fora servilo havas "x" instalitan, tiam vi povas malproksime ekzekuti GUI-komandon, kun fenestro sur via loka labortablo. Ĉi tiu funkcio ekzistas delonge, sed ankoraŭ estas tre utila. Lanĉu malproksiman retumilon aŭ eĉ VMWawre Workstation-konzolon kiel mi faras en ĉi tiu ekzemplo.

localhost:~$ ssh -X remoteserver vmware

Ŝnuro bezonata X11Forwarding yes en dosiero sshd_config.

12. Foraj kopiaj dosieroj uzante rsync kaj SSH

rsync multe pli oportuna scpse vi bezonas periodan sekurkopion de dosierujo, granda nombro da dosieroj, aŭ tre grandaj dosieroj. Estas funkcio por rekuperi post malsukceso de translokigo kaj kopii nur ŝanĝitajn dosierojn, kio ŝparas trafikon kaj tempon.

Ĉi tiu ekzemplo uzas kunpremadon gzip (-z) kaj arkivreĝimo (-a), kiu ebligas rekursivan kopiadon.

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

13. SSH tra la Tor reto

La anonima Tor-reto povas tuneli SSH-trafikon per la komando torsocks. La sekva komando sendos ssh-prokurilon per Tor.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsokoj uzos la havenon 9050 sur localhost por la prokurilo. Kiel ĉiam kiam vi uzas Tor, vi devas serioze kontroli kian trafikon tunelas kaj aliajn problemojn pri operacia sekureco (opsec). Kien viaj DNS-petoj iras?

14. SSH al EC2-instanco

Necesas privata ŝlosilo por konekti al EC2-instanco. Elŝutu ĝin (.pem etendo) de la kontrolpanelo de Amazon EC2 kaj ŝanĝu la permesojn (chmod 400 my-ec2-ssh-key.pem). Konservu la ŝlosilon en sekura loko aŭ metu ĝin en vian dosierujon ~/.ssh/.

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

Parametro -i simple diras al la ssh-kliento uzi tiun ŝlosilon. Dosiero ~/.ssh/config ideala por aŭtomate agordi ŝlosilan uzadon dum konekto al ec2-gastiganto.

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

15. Redaktu tekstajn dosierojn per VIM per ssh/scp

Por ĉiuj amantoj vim ĉi tiu konsileto ŝparos al vi iom da tempo. Uzante vim dosieroj estas redaktitaj per scp per unu komando. Ĉi tiu metodo simple kreas la dosieron loke en /tmp, kaj tiam kopias ĝin reen post kiam ni konservis ĝin vim.

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

Noto: la formato estas iomete malsama al la kutima scp. Post la gastiganto ni havas duoblon //. Ĉi tio estas absoluta vojo-referenco. Ununura oblikvo signifos, ke la vojo estas relativa al la hejma dosierujo users.

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

Se vi vidas ĉi tiun eraron, kontrolu la komandan formaton. Ĉi tio kutime signifas sintaksan eraron.

16. Muntu fora SSH kiel loka dosierujo kun SSHFS

Kun la helpo de sshfs - dosiersistemo kliento ssh - ni povas munti lokan dosierujon al fora loko kun ĉiuj dosierinteragoj en ĉifrita sesio ssh.

localhost:~$ apt install sshfs

Instalu la pakaĵon sur Ubuntu kaj Debian sshfs, kaj poste simple muntu la malproksiman lokon al nia sistemo.

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

17. Multiplexing SSH kun ControlPath

Defaŭlte, se ekzistas ekzistanta konekto al fora servilo uzante ssh dua ligo kun sshscp establas novan sesion kun plia aŭtentigo. Opcio ControlPath permesas al vi uzi ekzistantan sesion por ĉiuj postaj konektoj. Ĉi tio signife akcelos la procezon: la efiko estas videbla eĉ en la loka reto, kaj des pli kiam ligite al foraj rimedoj.

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

ControlPath specifas la ingon por novaj konektoj por kontroli aktivan seancon ssh. La lasta opcio signifas, ke eĉ post elsalutiĝo el la konzolo, la ekzistanta sesio restos malfermita dum 10 minutoj, do dum tiu tempo vi povas rekonekti sur la ekzistanta ingo. Vidu helpon por pliaj informoj. ssh_config man.

18. Flui video super SSH kun VLC kaj SFTP

Eĉ delongaj uzantoj ssh и vlc (Video Lan Kliento) ne ĉiam scias pri ĉi tiu oportuna opcio kiam vi vere bezonas spekti videon tra la reto. En agordoj dosiero | Malfermu Network Stream programoj vlc vi povas enigi la lokon kiel sftp://. Se pasvorto estas postulata, oni petos vin.

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

19. Dufaktora aŭtentigo

La sama dufaktora aŭtentigo kiel via banka konto aŭ Google-konto validas por la SSH-servo.

Kompreneble, ssh komence havas dufaktoran aŭtentikigfunkcion, kio signifas pasvorton kaj SSH-ŝlosilon. La avantaĝo de aparatara ĵetono aŭ Google Authenticator-programo estas, ke ĝi kutime estas malsama fizika aparato.

Vidu nian 8-minutan gvidilon pri uzante Google Authenticator kaj SSH.

20. Saltantaj gastigantoj per ssh kaj -J

Se retsegmentado postulas, ke vi saltu tra pluraj ssh-gastigantoj por atingi vian finan celreton, la ŝparvojo -J ŝparos al vi tempon.

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

La ĉefa afero ĉi tie estas kompreni, ke ĉi tio ne similas al la komando ssh host1tiam user@host1:~$ ssh host2 kaj tiel plu.La opcio -J lerte uzas plusendon por ke localhost establas kunsidon kun la sekva gastiganto en la ĉeno. Do en la supra ekzemplo, nia loka gastiganto aŭtentikigas al host4. Tio estas, niaj lokalhost-ŝlosiloj estas uzataj, kaj la sesio de localhost ĝis host4 estas plene ĉifrita.

Por tia ŝanco ssh_config specifu agordan opcion ProxyJump. Se vi regule devas iri tra pluraj gastigantoj, tiam aŭtomatigo per la agordo ŝparos multan tempon.

21. Blokado de SSH-krudfortaj provoj kun iptables

Ĉiu, kiu administris SSH-servon kaj rigardis la protokolojn, konscias pri la nombro da krudfortaj provoj, kiuj okazas ĉiun horon de ĉiu tago. Rapida maniero redukti ŝtipbruon estas movi SSH al ne-norma haveno. Faru ŝanĝojn al la dosiero sshd_config uzante agordan opcion Haveno##.

Kun la helpo de iptables vi ankaŭ povas facile bloki provojn de konekto al haveno kiam certa sojlo estas atingita. Facila maniero fari ĉi tion estas uzi OSSEC, ĉar ĝi ne nur blokas SSH, sed elfaras amason da aliaj hostname-bazitaj entruddetekto (HIDS) mezuroj.

22. SSH-Escape por Ŝanĝi Haven-Sendadon

Kaj nia lasta ekzemplo ssh desegnita por ŝanĝi havensendadon sur la flugo ene de ekzistanta sesio ssh. Imagu tian scenaron. Vi estas profunde en la reto; eble saltis tra duondekduo da gastigantoj kaj bezonas lokan havenon sur la laborstacio, kiu estas plusendita al la Microsoft SMB de malnova Windows 2003 sistemo (ĉu iu memoras ms08-67?).

Klakante enter, provu tajpi en konzolo ~C. Ĉi tio estas seanca eskapa sekvenco, kiu ebligas al vi fari ŝanĝojn al ekzistanta konekto.

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.

Ĉi tie vi povas vidi, ke ni plusendis nian lokan havenon 1445 al Windows 2003 gastiganto, kiun ni trovis en la interna reto. Nun nur kuru msfconsole, kaj vi estas bona por iri (supoze ke vi planas uzi ĉi tiun gastiganton).

Kompletigo

Ĉi tiuj ekzemploj, konsiletoj kaj komandoj ssh devus doni deirpunkton; Pliaj informoj pri ĉiu el la komandoj kaj funkcioj estas haveblaj sur la manpaĝoj (man ssh, man ssh_config, man sshd_config).

Mi ĉiam estis fascinita de la kapablo aliri sistemojn kaj plenumi komandojn ie ajn en la mondo. Disvolvante viajn kapablojn per iloj kiel ssh vi fariĝos pli efika en kia ajn ludo vi ludas.

fonto: www.habr.com

Aldoni komenton