Home / Linux / SSH port forward beállítása

SSH port forward beállítása

Az SSH -n keresztüli port forwardolást egy általam használt levelezési példán keresztül mutatom be.

Követelmények, feladatok:

  • Egy nem biztonságos levelező szerver
  • Amihez van SSH elérésünk
  • Amihez van generált kulcsunk a “néma” csatlakozáshoz
  • Titkosított kapcsolat létrehozása ehhez a levelező szerverhez a levelek küldésére/letöltésére

Alapvető fogalmak ismerete:

  • SSH
  • Port (kapu)
  • RSA, DSA, Kulcs (key)
  • Levelező protokollok: SMTP, POP3, IMAP

Nem biztonságos levelező szerver

Ez alatt azt értem, hogy van egy levelező szerver amit használunk, de csak sima SMTP, POP3 vagy IMAP -ot használ. Ez azért nem biztonságos, mert minden egyes kapcsolat felvételkor – legyen az levél küldés vagy fogadás – elküldjük a jelszavunkat plain text-ben (plain text == olvasható) a hálózaton keresztül. Ezt pedig (főleg ha WIFI-zünk) nagyon egyszerűen ellophatják, amire eszközöket nem mondanék, de van, és meglehetősen egyszerű a használatuk.

Ezt a kapcsolatot kell titkosítani amire többek közt a SSH port forward megoldást ad.

SSH elérés

A művelethez szükséges, hogy legyen SSH elérésünk a szerverre, hogy annak 25-ös és 143 (IMAP = TCP/143; POP3 = 110) portját forwardolhassuk a saját gépünkre (localhost).

Generált kulcs a ?néma” csatlakozáshoz

Szükséges még a kulcs alapú hitelesítés engedélyezése a célszerver SSH konfigurációjában, hogy ne kelljen minden egyes alkalommal a jelszót is beírni.

/etc/ssh/sshd_config-ban:

PubKeyAuthentication 			yes

Kulcs alapú SSH login:

budacsik@puby:~$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/budacsik/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/budacsik/.ssh/id_rsa.
Your public key has been saved in /home/budacsik/.ssh/id_rsa.pub.
The key fingerprint is:
59:fe:f0:3e:c1:0f:7a:cd:2a:8b:b1:d9:c6:84:2e:8e 			budacsik@puby

Az ssh-keygen -el legyártjuk a privát (marad a mi gépünkön, default: ~/.ssh/id.rsa) és publikus (ezt átmásoljuk a szerverre, default: ~/.ssh/id_rsa.pub) kulcsunkat.

~$ scp .ssh/id_rsa.pub budacsik@mailserver.domain.com:~/.ssh

Majd a ~/.ssh könyvtárba lépve a levelező szerveren adjuk ki a következő parancsot:

~$ cat id_rsa.pub >> authorized_keys

Ezzel bemásoljuk a publikus kulcsunkat a szerver által ismer kulcsok közé.

Itt (a levelező szerveren) ellenőrizzük, hogy engedélyezve van e az SSH konfigurációjában a port forwardolás.

~$ grep "AllowTcpForwarding" /etc/ssh/sshd_config

#AllowTcpForwarding 			yes

Teszt! Nekem működik ;)

Note: Enter passphrase (empty for no passphrase):

Ha itt megadunk jelszót, akkor a szerver a kulcs elfogadása előtt ezt kérni fogja.

Fontosabb kapcsolók:

-t Megadhatjuk, hogy RSA vagy DSA kulcsot hozunk létre. Alapértelmezett az RSA.

-c Csak RSA1 támogatja. Komment lehet a kulcshoz fűzni, például az e-mail címünk. A komment része lesz a kulcsnak és a titkosításhoz lesz használva.

-f Megadhatjuk a kulcs nevét útvonallal együtt is. Alapértelmezetten: id_rsa és id_rsa.pub.

Fájlok:

~/.ssh/id_rsa

Ez tartalmazza a privát kulcsunkat. Ennek nem szabad olvashatónak

lennie más felhasználók számára.

~/.ssh/id_rsa.pub

Ez a publikus kulcsunk. Ezt hozzá kell adni minden szerveren a

~/.ssh/authirized_keys fájlhoz ahová szeretnénk ezzel a kulccsal jelszó

nélkül belépni.

Titkosított kapcsolat létrehozása ehhez a levelező szerverhez a levelek küldésére/letöltésére

A titkosított kapcsolat létrehozása után már hiába sniffelik le a forgalmunkat, nem tudják elolvasni a jelszavunkat, és az egyéb adatainkat.

Igaz, hogy erre is vannak támadási lehetőségek, de nagyobb ?szakértelmet” igényel. Ami azért csökkenti annak a lehetőségét, hogy támadás áldozatává váljunk.

Parancs szintaxisa

~$ ssh -L sport:lohalhost:dport budacsik@mailserv@domain.com

Parancs (v. 1)

~$ ssh -L 3025:localhost:25 budacsik@mailserv.domain.com
~$ ssh -L 3143:localhost:143 budacsik@mailserv.domain.com

Ezután a levelező kliensünket is módosítani kell a következő képpen:

SMTP server host: localhost
SMTP server port: 3025
IMAP server host: localhost
IMAP server port: 3143

A parancs első verziója működik, de bele tehetnénk egy fájlba is, hogy ne kelljen mindig beírni. Ehhez két hasznos kapcsolót még bele kell tenni:

-f Használatával a háttérben fog futni, nem kell nyitva maradnia egykonzolnak.

-N Port forward-nál használatos parancs, ha lenne is nyitott terminál, ez nem engedi, hogy parancsot futtassunk rajta. Hasznos,ha ez a cél.

Plusz, hogy ne legyen olyan ?nagy” a szkript, egy sorra redukáljuk:

Parancs (v. 2)

ssh -f -N -L 3025:localhost:25  -L 3143:localhost:143 budacsik@mailserv.domain.com

Note: a ?\” karakter csak a sortörés miatt szerepel, a parancsban nincs szerepe.

A valóságban ez egy sor, csak itt most nem fért ki egy sorba.

Teszt!

netstat -ntap | grep ssh
tcp     0   0 127.0.0.1:3143     0.0.0.0:*     LISTEN     10266/ssh
tcp     0   0 127.0.0.1:3025     0.0.0.0:*     LISTEN     10266/ssh

Levelező kliens megfelelő beállítása, levelek küldése/fogadása

Creative Commons License
Ez a Mű a Creative Commons Nevezd meg!-Így add tovább! 2.5 Magyarország Licenc feltételeinek megfelelően szabadon felhasználható.

Szerző budacsik

Kezdésnek mint rendszergazda, most mint adatbázis fejlesztő tevékenykedem munkaidőben. Szabadidőmben újabban igyekszem hasznos témákat felvenni, mint pl az iptables. Igyekszem a közösségnek hasznos munkákat találni magamnak.

Olvastad?

Router eszköz

Hogyan állítsuk vissza a gyári beállításokat egy router-en?

Sokszor megesik, hogy konfigurálgatunk egy-két dolgok a router-ben, azonban valamilyen hiba lép fel, és nem …

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

A weboldal használatának folytatásával Ön elfogadja a cookie-k használatát Adatkezelési tájékoztató és felhasználási feltételek

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy az "Elfogadás" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás