Linux hallinta- ja koventaminen

X11 Forwarding ja SSH-tunnelointi (port forwarding)

Helppo
25 min

Käydään tässä moduulissa läpi, kuinka SSH-tunnelin yli voidaan avata GUI-pohjaisia ohjelmia, kuten esimerkiksi selaimen. Käydään tässä myös läpi, kuinka SSH:n kautta voidaan luoda tunneleita muihin kohdepalvelimelle avoinna oleville porteille, jotka eivät välttämättä ole meille suoraan auki.

Aloitetaan käynnistämällä alla oleva harjoitustehtävä ja toistetaan alla olevat vaiheet.

X11 Forwarding käyttäminen

Kun otetaan käyttöön X11 Forwarding SSH:n kautta, voit suorittaa graafisia sovelluksia etäpalvelimella, mutta niiden käyttöliittymä näkyy ja hallitaan paikallisesti. Tämä mahdollistaa esimerkiksi ohjelmien käytön, jotka vaativat graafisen käyttöliittymän, kuten tekstieditorit, kuvankäsittelyohjelmat tai muut graafiset sovellukset.

X11 Forwarding konfiguraation tarkistaminen

Jotta X11 Forwardingia voidaan käyttää, se täytyy olla käytössä SSH-palvelussa. Tarkistetaan tämä kirjautumalla palvelimelle SSH:n yli ja avataan SSH-konfigurointitiedosto nano-ohjelmalla.

SSH-palvelun konfigurointitiedosto löytyy polusta /etc/ssh/sshd_config.

X11 Forwadingin käyttäminen

Nyt kun tiedämme, että tämä on päällä ja tuettuna, niin voidaan kokeilla käynnistää nautilus-ohjelma siten, että tämän käyttöliittymä aukeaa Kali-koneellamme vaikka itse prosessi pyörii etäkoneella.

Jotta käyttöliittymä kulkeutuu SSH-tunnelin kautta, sinun täytyy luoda SSH-yhteys käyttämällä -X vipua, alla olevan esimerkin mukaan. Tämän jälkeen voit vain käynnistää nautilus-ohjelman, kirjoittamalla komennon nautilus.

ssh -X ubuntu@10.0.0.1

SSH port forwarding

Mitä tarkoittaa SSH port forwarding?

SSH Port Forwarding, tunnetaan myös nimellä SSH-tunnelointi, on tekniikka, joka mahdollistaa liikenteen ohjauksen tietystä portista turvallisesti SSH-yhteyden yli. Tämä on hyödyllistä, kun halutaan turvallisesti siirtää liikennettä kahden eri laitteen välillä tai päästä palvelimiin ja resursseihin, jotka eivät ole suoraan saavutettavissa Internetin kautta.

SSH Port Forwarding voidaan jakaa kolmeen päätyyppiin:

Local Port Forwarding:

  • Käytetään yhdistämään paikallinen kone etäpalvelimen kautta toiseen palvelimeen tai porttiin.
  • Esimerkiksi voit käyttää paikallista porttia tietyllä koneella ja ohjata liikenteen etäkoneen kautta toiseen koneeseen.
ssh -L local_port:remote_server:remote_port user@remote_server

Remote Port Forwarding:

  • Käytetään etäkoneen tekemiseen porttien kuuntelijaksi paikallisessa koneessa.
  • Voit tehdä paikallisesti käytettävän palvelun saataville etäkoneen kautta.
ssh -R remote_port:local_machine:local_port user@remote_server

Dynamic Port Forwarding (Dynamic SOCKS Proxy):

  • Luo dynaamisen välityspalvelimen (proxy), joka mahdollistaa useiden liikenteen ohjauksen SSH-yhteyden kautta.
  • Tyypillisesti käytetään esimerkiksi turvalliseen selailuun avoimissa Wi-Fi-verkoissa.
ssh -D local_socks_port user@remote_server

SSH Port Forwardingin avulla voit suojata liikennettäsi salatun SSH-yhteyden avulla ja saavuttaa palveluita, jotka eivät ole suoraan sinulle saavutettavissa. Se on tehokas tapa turvata yhteys.

SSH port forwarding esimerkki

Avataan seuraavaksi yksinkertainen HTTP-palvelu etäkoneella siten, että siihen pääsee käsiksi ainoastaan lokaalisti portista 8000 ja sitten pystytetään SSH-tunneli, jonka avulla voimme vierailla kyseisessä HTTP-palvelussa kalin omalla selaimella.

HTTP-palvelun pystytys etäkoneella

Suorita kuvan komento ja avaa uusi terminaali. Nyt etäkoneella pyörii HTTP-palvelu portissa 8000 lokaalisti, eli emme pääse palveluun käsiksi ilman SSH-tunnelointia. Tähän tarvitaan lokaali portin forwardaus.

SSH-tunnelin luonti

Komennossa vipu -L viittaa lokaaliin portin forwardaukseen ja ensimmäinen portti määrittää, mikä portti varataan tähän meidän koneella, jonka jälkeen määritetään, että mihin IP-osoitteeseen ja porttiin tunneli rakennetaan etäkoneen päässä.

Tämän jälkeen voidaan avata selain ja navigoida Kali-koneen lokaaliin porttiin 8000, jonka kautta liikenne valuu SSH-tunnelin kautta etäkoneen porttiin 8000, jossa HTTP-palvelu pyörii.

Kirjoita komento, jolla voit luoda lokaalin port forwardaus tunnelin etäkoneen kautta osoitteeseen 6.6.6.6 porttiin 4444. Omalla koneella käytetään porttia 7000. Etäkoneen IP on 10.0.0.1 ja käyttäjänimi ubuntu.

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.