Käytännön vinkkejä, esimerkkejä ja SSH-tunneleita

Käytännön vinkkejä, esimerkkejä ja SSH-tunneleita
Käytännön esimerkkejä SSH, joka vie taitosi etäjärjestelmänvalvojana uudelle tasolle. Komennot ja vinkit auttavat paitsi käytössä SSH, mutta myös navigoida verkossa pätevämmin.

Tietäen muutaman tempun ssh hyödyllinen kaikille järjestelmänvalvojille, verkkoinsinööreille tai tietoturvaasiantuntijoille.

Käytännön SSH-esimerkkejä

  1. SSH-sukkien välityspalvelin
  2. SSH-tunneli (portin edelleenlähetys)
  3. SSH-tunneli kolmanteen isäntään
  4. Käänteinen SSH-tunneli
  5. SSH käänteinen välityspalvelin
  6. VPN:n asentaminen SSH:n kautta
  7. SSH-avaimen kopioiminen (ssh-copy-id)
  8. Etäkomennon suoritus (ei-interaktiivinen)
  9. Pakettien etäkaappaus ja katselu Wiresharkissa
  10. Paikallisen kansion kopioiminen etäpalvelimelle SSH:n kautta
  11. GUI-etäsovellukset SSH X11 Forwarding -toiminnolla
  12. Tiedostojen etäkopiointi rsyncin ja SSH:n avulla
  13. SSH Tor-verkon kautta
  14. SSH:sta EC2-esiintymään
  15. Tekstitiedostojen muokkaaminen VIM:llä ssh/scp:n kautta
  16. Liitä etä-SSH paikalliseksi kansioksi SSHFS:n avulla
  17. SSH:n multipleksointi ControlPathilla
  18. Suoratoista videota SSH:n kautta käyttämällä VLC:tä ja SFTP:tä
  19. Kaksivaiheinen todennus
  20. Hyppyisännät SSH:lla ja -J:llä
  21. SSH:n brute force -yritysten estäminen iptablesin avulla
  22. SSH Escape muuttaa portin edelleenohjausta

Ensin perusasiat

SSH-komentorivin jäsentäminen

Seuraava esimerkki käyttää yleisiä parametreja, joita esiintyy usein muodostettaessa yhteyttä etäpalvelimeen SSH.

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

  • -v: Vianetsintätulos on erityisen hyödyllinen todennusongelmia analysoitaessa. Voidaan käyttää useita kertoja lisätietojen näyttämiseen.
  • - p 22: liitäntäportti SSH-etäpalvelimelle. 22 ei tarvitse määrittää, koska tämä on oletusarvo, mutta jos protokolla on jossain muussa portissa, määritetään se parametrilla -p. Kuunteluportti on määritetty tiedostossa sshd_config muodossa Port 2222.
  • -C: Puristus liittämistä varten. Jos yhteys on hidas tai katselet paljon tekstiä, tämä voi nopeuttaa yhteyttä.
  • neo@: @-symbolia edeltävä rivi osoittaa etäpalvelimen todennuksen käyttäjänimen. Jos et määritä sitä, se käyttää oletuksena sen tilin käyttäjätunnusta, johon olet tällä hetkellä kirjautuneena (~$whoami). Käyttäjä voidaan määrittää myös parametrilla -l.
  • remoteserver: sen isännän nimi, johon yhteys muodostetaan ssh, tämä voi olla täysin kelvollinen verkkotunnuksen nimi, IP-osoite tai mikä tahansa isäntä paikallisessa hosts-tiedostossa. Voit muodostaa yhteyden isäntään, joka tukee sekä IPv4:tä että IPv6:ta, lisäämällä parametrin komentoriville -4 tai -6 oikean ratkaisun saamiseksi.

Kaikki yllä olevat parametrit ovat valinnaisia ​​paitsi remoteserver.

Käyttämällä asetustiedostoa

Vaikka monet tuntevat tiedoston sshd_config, komennolla on myös asiakasmääritystiedosto ssh. Oletusarvo ~/.ssh/config, mutta se voidaan määrittää vaihtoehdon parametriksi -F.

Host *
     Port 2222

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

Yllä olevassa esimerkki-ssh-määritystiedostossa on kaksi isäntämerkintää. Ensimmäinen tarkoittaa kaikkia isäntiä, jotka kaikki käyttävät Port 2222 -konfiguraatioparametria. Toinen tarkoittaa, että isännälle etäpalvelin tulee käyttää eri käyttäjänimeä, porttia, FQDN:ää ja IdentityFilea.

Määritystiedosto voi säästää paljon kirjoitusaikaa sallimalla lisämäärittelyn automaattisen käyttöönoton yhteydessä tiettyihin isäntiin.

Tiedostojen kopioiminen SSH:n kautta SCP:n avulla

SSH-asiakkaan mukana tulee kaksi muuta erittäin kätevää työkalua tiedostojen kopioimiseen salattu ssh-yhteys. Katso alla esimerkki scp- ja sftp-komentojen vakiokäytöstä. Huomaa, että monet ssh-vaihtoehdot koskevat myös näitä komentoja.

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

Tässä esimerkissä tiedosto mypic.png kopioitiin etäpalvelin kansioon /media/data ja nimettiin uudelleen mypic_2.png.

Älä unohda porttiparametrien eroa. Tästä monet jäävät kiinni laukaisunsa aikana scp komentoriviltä. Tässä on portin parametri -PEikä -p, aivan kuten ssh-asiakasohjelmassa! Unohdat, mutta älä huoli, kaikki unohtavat.

Konsolin tunteville ftp, monet komennot ovat samanlaisia sftp. Voit tehdä työntää, laittaa и lskuten sydän haluaa.

sftp neo@remoteserver

Käytännön esimerkkejä

Monissa näistä esimerkeistä tulokset voidaan saavuttaa eri menetelmillä. Kuten kaikissa meidän oppikirjoja ja esimerkit, etusija annetaan käytännön esimerkeille, jotka vain tekevät tehtävänsä.

1. SSH-sukkien välityspalvelin

SSH-välityspalvelinominaisuus on numero 1 hyvästä syystä. Se on tehokkaampi kuin monet ymmärtävät ja antaa sinulle pääsyn mihin tahansa järjestelmään, johon etäpalvelimella on pääsy, käyttämällä käytännössä mitä tahansa sovellusta. Ssh-asiakas voi tunneloida liikennettä SOCKS-välityspalvelimen kautta yhdellä yksinkertaisella komennolla. On tärkeää ymmärtää, että liikenne etäjärjestelmiin tulee etäpalvelimelta, tämä ilmoitetaan verkkopalvelimen lokeissa.

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

Tässä suoritamme socks-välityspalvelimen TCP-portissa 8888, toinen komento tarkistaa, että portti on aktiivinen kuuntelutilassa. 127.0.0.1 osoittaa, että palvelu toimii vain localhostilla. Voimme käyttää hieman erilaista komentoa kuunnellaksesi kaikkia käyttöliittymiä, mukaan lukien ethernet tai wifi, jolloin muut verkkomme sovellukset (selaimet jne.) voivat muodostaa yhteyden välityspalvelimeen ssh socks -välityspalvelimen kautta.

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

Nyt voimme määrittää selaimen muodostamaan yhteyden socks-välityspalvelimeen. Valitse Firefoxissa Asetukset | Perus | Verkkoasetukset. Määritä yhteyden muodostava IP-osoite ja portti.

Käytännön vinkkejä, esimerkkejä ja SSH-tunneleita

Huomaa lomakkeen alareunassa oleva vaihtoehto, että myös selaimesi DNS-pyynnöt kulkevat SOCKS-välityspalvelimen kautta. Jos käytät välityspalvelinta verkkoliikenteen salaamiseen paikallisessa verkossa, sinun kannattaa todennäköisesti valita tämä vaihtoehto, jotta DNS-pyynnöt tunneloidaan SSH-yhteyden kautta.

Aktivoidaan sukat välityspalvelinta Chromessa

Chromen käynnistäminen tietyillä komentoriviparametreilla ottaa käyttöön socks-välityspalvelimen sekä tunneloinnin DNS-pyynnöistä selaimelta. Luota mutta tarkista. Käyttää tcpdump tarkistaaksesi, että DNS-kyselyt eivät ole enää näkyvissä.

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

Muiden sovellusten käyttäminen välityspalvelimen kanssa

Muista, että monet muut sovellukset voivat myös käyttää sukkavälityspalvelimia. Verkkoselain on yksinkertaisesti suosituin niistä kaikista. Joissakin sovelluksissa on määritysvaihtoehtoja välityspalvelimen käyttöön ottamiseksi. Toiset tarvitsevat hieman apua apuohjelman kanssa. Esimerkiksi, välitysketjut voit suorittaa sukkavälityspalvelimen Microsoft RDP jne.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Socks-välityspalvelimen määritysparametrit asetetaan proxychains-määritystiedostossa.

Vihje: jos käytät etätyöpöytää Linuxista Windowsissa? Kokeile asiakasta FreeRDP. Tämä on nykyaikaisempi toteutus kuin rdesktop, paljon sujuvammalla kokemuksella.

Mahdollisuus käyttää SSH:ta socks-välityspalvelimen kautta

Istut kahvilassa tai hotellissa - ja joudut käyttämään melko epäluotettavaa WiFi-yhteyttä. Käynnistämme ssh-välityspalvelimen paikallisesti kannettavasta tietokoneesta ja asennamme ssh-tunnelin kotiverkkoon paikalliseen Rasberry Pi -laitteeseen. Selaimella tai muilla socks-välityspalvelimelle konfiguroiduilla sovelluksilla voimme käyttää kaikkia kotiverkkomme verkkopalveluita tai käyttää Internetiä kotiyhteytemme kautta. Kaikki kannettavan tietokoneesi ja kotipalvelimesi välillä (Wi-Fi:n ja Internetin kautta kotiisi) on salattu SSH-tunnelissa.

2. SSH-tunneli (portin edelleenohjaus)

Yksinkertaisimmassa muodossaan SSH-tunneli yksinkertaisesti avaa portin paikallisessa järjestelmässäsi, joka muodostaa yhteyden toiseen porttiin tunnelin toisessa päässä.

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

Katsotaanpa parametria -L. Sitä voidaan pitää kuuntelun paikallisena puolena. Joten yllä olevassa esimerkissä portti 9999 kuuntelee paikallispalvelinta ja välitetään portin 80 kautta etäpalvelimelle. Huomaa, että 127.0.0.1 viittaa etäpalvelimen localhostiin!

Mennään portaalle. Seuraava esimerkki kommunikoi kuunteluportit muiden paikallisverkon isäntien kanssa.

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

Näissä esimerkeissä muodostamme yhteyden verkkopalvelimen porttiin, mutta tämä voi olla välityspalvelin tai mikä tahansa muu TCP-palvelu.

3. SSH-tunneli kolmannen osapuolen isännälle

Voimme käyttää samoja parametreja yhdistääksemme tunnelin etäpalvelimesta toiseen palveluun, joka toimii kolmannessa järjestelmässä.

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

Tässä esimerkissä ohjaamme tunnelin etäpalvelimelta verkkopalvelimelle, joka on käynnissä 10.10.10.10. Liikenne etäpalvelimelta 10.10.10.10 ei enää SSH-tunnelissa. Web-palvelin 10.10.10.10 pitää etäpalvelinta verkkopyyntöjen lähteenä.

4. Käänteinen SSH-tunneli

Tässä määritämme etäpalvelimen kuunteluportin, joka muodostaa yhteyden paikallispalvelimemme (tai muun järjestelmän) paikalliseen porttiin.

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

Tämä SSH-istunto muodostaa yhteyden etäpalvelimen portista 1999 paikallisen asiakkaamme porttiin 902.

5. SSH Reverse Proxy

Tässä tapauksessa asetamme ssh-yhteyteemme socks-välityspalvelimen, mutta välityspalvelin kuuntelee palvelimen etäpäätä. Yhteydet tähän etävälityspalvelimeen näkyvät nyt tunnelista liikenteenä paikalliselta isännältämme.

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

SSH-etätunneleiden ongelmien vianmääritys

Jos sinulla on ongelmia SSH-etävalintojen toiminnassa, tarkista netstat, mihin muihin liitäntöihin kuunteluportti on kytketty. Vaikka ilmoitimme esimerkeissä 0.0.0.0, mutta jos arvo GatewayPortit в sshd_config asetettu Nro, silloin kuuntelija on sidottu vain localhostiin (127.0.0.1).

Turvallisuusvaroitus

Huomaa, että avaamalla tunneleita ja socks-välityspalvelimia, sisäiset verkkoresurssit voivat olla epäluotettavien verkkojen (kuten Internet!) ulottuvilla. Tämä voi olla vakava turvallisuusriski, joten varmista, että ymmärrät, mikä kuuntelija on ja mihin heillä on pääsy.

6. VPN:n asentaminen SSH:n kautta

Yleinen termi hyökkäysmenetelmien asiantuntijoiden keskuudessa (pentesters jne.) on "verkon tukipiste". Kun yhteys on muodostettu yhteen järjestelmään, järjestelmästä tulee yhdyskäytävä verkkoon edelleen pääsylle. Tukipiste, jonka avulla voit liikkua leveästi.

Tällaiseen jalansijaan voimme käyttää SSH-välityspalvelinta ja välitysketjuton kuitenkin joitain rajoituksia. Esimerkiksi pistorasioiden kanssa ei voi työskennellä suoraan, joten emme voi skannata verkon portteja Nmap SYN.

Käyttämällä tätä edistyneempää VPN-vaihtoehtoa yhteys pienenee taso 3. Voimme sitten yksinkertaisesti reitittää liikenteen tunnelin läpi käyttämällä tavallista verkkoreititystä.

Menetelmä käyttää ssh, iptables, tun interfaces ja reititys.

Ensin sinun on asetettava nämä parametrit sshd_config. Koska teemme muutoksia sekä etä- että asiakasjärjestelmien rajapintoihin, me tarvitaan root-oikeudet molemmille puolille.

PermitRootLogin yes
PermitTunnel yes

Sitten muodostamme ssh-yhteyden parametrilla, joka pyytää tun-laitteiden alustusta.

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

Meillä pitäisi nyt olla tun-laite, kun näytämme liitäntöjä (# ip a). Seuraava vaihe lisää IP-osoitteet tunnelirajapintoihin.

SSH-asiakaspuoli:

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

SSH-palvelinpuoli:

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

Nyt meillä on suora reitti toiseen isäntään (route -n и ping 10.10.10.10).

Voit reitittää minkä tahansa aliverkon toisella puolella olevan isännän kautta.

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

Etäpuolella sinun on otettava käyttöön 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

Puomi! VPN SSH-tunnelin kautta verkkokerroksessa 3. Nyt se on voitto.

Jos ongelmia ilmenee, käytä tcpdump и pingsyyn selvittämiseksi. Koska pelaamme kerroksessa 3, icmp-pakettimme kulkevat tämän tunnelin läpi.

7. Kopioi SSH-avain (ssh-copy-id)

On olemassa useita tapoja tehdä tämä, mutta tämä komento säästää aikaa, koska se ei kopioi tiedostoja manuaalisesti. Se yksinkertaisesti kopioi ~/.ssh/id_rsa.pub (tai oletusavaimen) järjestelmästäsi ~/.ssh/authorized_keys etäpalvelimella.

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

8. Etäkomennon suoritus (ei-vuorovaikutteinen)

tiimi ssh Voidaan linkittää muihin komentoihin yhteisen, käyttäjäystävällisen käyttöliittymän luomiseksi. Lisää vain komento, jonka haluat suorittaa etäisännässä, viimeisenä parametrina lainausmerkeissä.

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

Tässä esimerkissä grep suoritetaan paikallisessa järjestelmässä sen jälkeen, kun loki on ladattu ssh-kanavan kautta. Jos tiedosto on suuri, se on helpompi ajaa grep kauko-puolella yksinkertaisesti sulkemalla molemmat komennot lainausmerkeissä.

Toinen esimerkki suorittaa saman toiminnon kuin ssh-copy-id esimerkistä 7.

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

9. Pakettien etäkaappaus ja katselu Wiresharkissa

Otin yhden meidän tcpdump esimerkkejä. Käytä sitä pakettien etäkaappaamiseen ja tulosten näyttämiseen suoraan paikallisessa Wireshark GUI:ssa.

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

10. Paikallisen kansion kopioiminen etäpalvelimelle SSH:n kautta

Mukava temppu, joka pakkaa kansion käyttämällä bzip2 (tämä on -j-vaihtoehto komennossa tar) ja hakee sitten streamin bzip2 toisella puolella luomalla kaksoiskansio etäpalvelimeen.

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

11. GUI-etäsovellukset SSH X11 Forwarding -toiminnolla

Jos X on asennettu asiakkaalle ja etäpalvelimelle, voit suorittaa GUI-komennon etänä paikallisella työpöydälläsi olevan ikkunan avulla. Tämä ominaisuus on ollut käytössä jo pitkään, mutta se on edelleen erittäin hyödyllinen. Käynnistä etäverkkoselain tai jopa VMWawre Workstation -konsoli, kuten teen tässä esimerkissä.

localhost:~$ ssh -X remoteserver vmware

Pakollinen merkkijono X11Forwarding yes tiedostossa sshd_config.

12. Tiedostojen etäkopiointi rsyncin ja SSH:n avulla

rsync paljon kätevämpää scp, jos tarvitset säännöllisiä varmuuskopioita hakemistosta, suuresta tiedostomäärästä tai erittäin suurista tiedostoista. Siinä on toiminto, jolla voidaan toipua siirtovirheestä ja kopioida vain muuttuneita tiedostoja, mikä säästää liikennettä ja aikaa.

Tässä esimerkissä käytetään pakkausta gzip (-z) ja arkistointitila (-a), joka mahdollistaa rekursiivisen kopioinnin.

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

13. SSH Tor-verkon kautta

Anonyymi Tor-verkko voi tunneloida SSH-liikennettä komennolla torsocks. Seuraava komento välittää ssh-välityspalvelimen Torin kautta.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Vartalosukat käyttää porttia 9050 localhostissa välityspalvelimena. Kuten aina, kun käytät Toria, sinun on tarkistettava vakavasti, mikä liikenne tunneloidaan, ja muut käyttöturvallisuusongelmat (opsec). Mihin DNS-kyselysi menevät?

14. SSH:sta EC2:een

Tarvitset yksityisen avaimen, jotta voit muodostaa yhteyden EC2-instanssiin. Lataa se (.pem-laajennus) Amazon EC2 -ohjauspaneelista ja muuta käyttöoikeuksia (chmod 400 my-ec2-ssh-key.pem). Säilytä avain turvallisessa paikassa tai laita se omaan kansioon ~/.ssh/.

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

Parametri -i yksinkertaisesti käskee ssh-asiakasta käyttämään tätä avainta. Tiedosto ~/.ssh/config Ihanteellinen avainten käytön automaattiseen määrittämiseen, kun muodostetaan yhteys ec2-isäntään.

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

15. Tekstitiedostojen muokkaaminen VIM:llä ssh/scp:n kautta

Kaikille ystäville vim Tämä vinkki säästää aikaa. Käyttämällä vim tiedostoja muokataan scp:n kautta yhdellä komennolla. Tämä menetelmä yksinkertaisesti luo tiedoston paikallisesti sisään /tmpja kopioi sen sitten takaisin, kun olemme tallentaneet sen vim.

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

Huomaa: muoto poikkeaa hieman tavallisesta scp. Isännän jälkeen meillä on tupla //. Tämä on ehdoton polkuviittaus. Yksi vinoviiva osoittaa polun suhteessa kotikansioosi users.

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

Jos näet tämän virheen, tarkista komennon muoto. Tämä tarkoittaa yleensä syntaksivirhettä.

16. Etä-SSH:n liittäminen paikalliseksi kansioksi SSHFS:n avulla

Keinoin sshfs - tiedostojärjestelmän asiakas ssh - Voimme yhdistää paikallisen hakemiston etäsijaintiin kaikilla tiedostovuorovaikutuksilla salatussa istunnossa ssh.

localhost:~$ apt install sshfs

Asenna paketti Ubuntuun ja Debianiin sshfsja liitä sitten etäsijainti järjestelmäämme.

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

17. SSH-kanavointi ControlPathilla

Oletuksena, jos etäpalvelimeen on olemassa yhteys ssh toinen yhteys käytössä ssh tai scp perustaa uuden istunnon lisätodennuksen kanssa. Vaihtoehto ControlPath mahdollistaa olemassa olevan istunnon käytön kaikissa myöhemmissä yhteyksissä. Tämä nopeuttaa prosessia merkittävästi: vaikutus on havaittavissa jopa paikallisessa verkossa, ja vielä enemmän, kun muodostat yhteyden etäresursseihin.

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

ControlPath määrittää socketin, joka tarkistaa, onko uusia yhteyksiä aktiivinen istunto ssh. Viimeinen vaihtoehto tarkoittaa, että jopa poistuessasi konsolista olemassa oleva istunto pysyy avoinna 10 minuuttia, joten tänä aikana voit muodostaa yhteyden uudelleen olemassa olevaan pistorasiaan. Katso lisätietoja ohjeesta. ssh_config man.

18. Suoratoista videota SSH:n kautta käyttämällä VLC:tä ja SFTP:tä

Jopa pitkäaikaiset käyttäjät ssh и vlc (Video Lan Client) eivät aina ole tietoisia tästä kätevästä vaihtoehdosta, kun sinun täytyy todella katsoa videota verkon kautta. Asetuksissa Tiedosto | Avaa Network Stream ohjelmat vlc voit syöttää sijainnin muodossa sftp://. Jos salasana vaaditaan, näyttöön tulee kehote.

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

19. Kaksivaiheinen todennus

Sama kaksivaiheinen todennus kuin pankkitilisi tai Google-tilisi koskee SSH-palvelua.

Tietenkin, ssh on aluksi kaksivaiheinen todennustoiminto, mikä tarkoittaa salasanaa ja SSH-avainta. Laitteiston tai Google Authenticator -sovelluksen etuna on, että se on yleensä erilainen fyysinen laite.

Katso 8 minuutin opas Google Authenticatorin ja SSH:n avulla.

20. Jumping hosts kanssa ssh ja -J

Jos verkon segmentointi tarkoittaa, että sinun täytyy hypätä useiden ssh-isäntien läpi päästäksesi lopulliseen kohdeverkkoon, -J-pikakuvake säästää aikaa.

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

Tärkeintä tässä on ymmärtää, että tämä ei ole sama kuin komento ssh host1, sitten user@host1:~$ ssh host2 jne. Vaihtoehto -J käyttää edelleenlähetystä taitavasti pakottaakseen localhostin muodostamaan istunnon ketjun seuraavan isännän kanssa. Joten yllä olevassa esimerkissä localhost on todennettu host4:lle. Toisin sanoen localhost-avaimia käytetään, ja istunto localhostista host4:ään on täysin salattu.

Tällaiseen mahdollisuuteen sisään ssh_config määritä asetusvaihtoehto Välityspalvelimen hyppy. Jos joudut säännöllisesti käymään useiden isäntien läpi, konfiguroinnin automatisointi säästää paljon aikaa.

21. Estä SSH:n brute force -yritykset käyttämällä iptablesia

Jokainen, joka on hallinnut SSH-palvelua ja katsonut lokeja, tietää, kuinka monta raa'aa voimaa tapahtuu joka tunti joka päivä. Nopea tapa vähentää lokien kohinaa on siirtää SSH ei-standardiporttiin. Tee muutokset tiedostoon sshd_config konfigurointiparametrin kautta Portti##.

Kanssa iptables Voit myös helposti estää yritykset muodostaa yhteys porttiin, kun tietty kynnys saavutetaan. Helppo tapa tehdä tämä on käyttää OSSEC, koska se ei vain estä SSH:ta, vaan tekee joukon muita isäntänimipohjaisia ​​tunkeutumisen havaitsemistoimenpiteitä (HIDS).

22. SSH Escape muuttaa portin edelleenlähetystä

Ja viimeinen esimerkkimme ssh suunniteltu muuttamaan portin edelleenohjausta lennossa olemassa olevan istunnon aikana ssh. Kuvittele tämä skenaario. Olet syvällä verkossa; ehkä hyppäsi yli puolen tusinaan isäntäkoneeseen ja tarvitsee työasemaan paikallisen portin, joka välitetään vanhan Windows 2003 -järjestelmän Microsoft SMB:lle (muistaako kukaan ms08-67?).

Napsauttamalla enter, yritä kirjoittaa konsoliin ~C. Tämä on istunnon ohjausjakso, jonka avulla voidaan tehdä muutoksia olemassa olevaan yhteyteen.

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.

Tässä näet, että olemme välittäneet paikallisen portin 1445 Windows 2003 -isäntään, jonka löysimme sisäisestä verkosta. Nyt vain juoksemaan msfconsole, ja voit jatkaa (olettaen, että aiot käyttää tätä isäntä).

Valmistuminen

Nämä esimerkit, vinkit ja komennot ssh pitäisi antaa lähtökohta; Lisätietoja kustakin komennosta ja ominaisuuksista on saatavilla man-sivuilla (man ssh, man ssh_config, man sshd_config).

Minua on aina kiehtonut kyky käyttää järjestelmiä ja suorittaa komentoja kaikkialla maailmassa. Kehittämällä taitojasi työkaluilla, kuten ssh sinusta tulee tehokkaampi kaikissa pelaamissasi peleissä.

Lähde: will.com

Lisää kommentti