Bevezetés
Minden webes szolgáltatás elérhető az interneten egy meghatározott URL-en keresztül, amely egyfajta "helyettesítő nevet" jelent az adott szolgáltatást nyújtó szerver IP-címének és portjának azonosításához. Ugyanaz a gép egyszerre különböző szolgáltatásokat kínál különböző portokon keresztül.
Biztonsági okokból szükség lehet egy webszolgáltatás portszámának elfedésére, és ezért olyan portszám megjelenítésére, amely nem felel meg annak, amelyet a szolgáltatás ténylegesen hallgat.
Ennek az oktatóanyagnak köszönhetően képes lesz kezelni a kiszolgáló portjait, konfigurálhatja az Ubuntuba integrált UFW tűzfalat. Különösen az útmutató utasításainak betartásával megtanulhatja továbbítani az adott portból érkező kéréseket egy másik portra (port továbbítás), miközben az utóbbi szolgáltatásait használja.
Szerverünk 70-es portján jelenleg nincs szolgáltatás. Másrészt a 8600-as porton aktív egy szolgáltatás, amely az útmutatóban használt példában egyszerű üzenetet ad vissza.
Ezért az oktatóanyag célja az UFW konfigurálása, hogy a felhasználók csatlakozhassanak a 70-es porthoz, de a 8600-as porton kínált szolgáltatást küldje vissza számukra a szerver.
Előkészületek
Az oktatóanyagban bemutatott példa teszteléséhez szüksége lesz az alábbiakra:
- Ubuntu 18.04 szerver;
- UFW, ami alapból telepíve van az Ubuntura (hacsak nem távolította el korábban).
Először csatlakozzon a szerverhez SSH kapcsolaton keresztül. Ha még nem tette meg, akkor ajánlott átböngésznie a Hogyan javítható az SSH biztonság az Ubuntu 18.04-en? útmutatónkat a folyamat megkezdése előtt. Helyi szerver esetén folytassa a következő lépéssel, és nyissa meg a szerver terminált.
Az UFW tűzfal konfigurálása
Eredetileg nincsenek olyan parancsok, amelyek lehetővé tennék a port továbbítását, vagyis az adott porton fogadott forgalmat átirányítanák egy másik választott portra. Ez a művelet azonban lehetséges az UFW alapjául szolgáló konfigurációs szabályok alapján - ez az alapértelmezett alkalmazás az Ubuntu tűzfalának konfigurálásához.
Először ellenőrizze, hogy a célport engedélyezve van-e a TCP forgalom számára, különben az UFW blokkolja az összes kérést az adott port felé. Tegye meg az ellenőrzést a következő paranccsal:
sudo ufw allow port_number/tcp
Megjegyzés: Cserélje le a "port_number" szót arra a célportra, ahová a forgalmat irányítani kívánja.
Mint korábban említettük, nincs közvetlen parancs ehhez az eljáráshoz. Tehát szerkesztenie kell manuálisan az UFW konfigurációs fájlt az "/etc/ufw/before.rules" könyvtárban:
cd /etc/ufw
sudo nano before.rules
A * filter szakasz előtt illessze be ezeket az utasításokat, módosítva az "exposed_port" és az "effective_port" paramétereket azzal a portszámmal, amelyen engedélyezni lehet a kívülről érkező kéréseket, és annak a portnak a kérését, amelyet a szolgáltatás ténylegesen használ.
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport exposed_port -j REDIRECT --to-port effective_port
COMMIT
Az alábbi kép egy példát mutat be a konfigurációról, amelyen keresztül a 70-es porton végrehajtott összes kérés átirányításra kerül a 8600-as portra.
Most adja hozzá a szabályt az SSH-kapcsolathoz, és indítsa újra az UFW tűzfalat a következő paranccsal:
sudo ufw allow OpenSSH
sudo ufw allow in ssh
sudo ufw enable
SSH kapcsolat használata esetén megkérdezi, hogy biztosan folytatja-e a műveletet, mivel ez végül megszakíthatja a kapcsolatot. Ezután írja be az "Y"-t és nyomja meg az Enter billentyűt.
Összegzés
Ezen a ponton a 70-es porton áthaladó összes forgalom átirányul a 8600-as portra és fordítva.
Ahogy az alábbi képen, ugyanazon a címen és ugyanazon a porton, amelyet eredetileg bemutattunk, most is hallgatja a korábban a 8600-as porton nyújtott szolgáltatást.
Ez többször is elvégezhető, minden szolgáltatáshoz, az Ön igényeinek megfelelően, a valós port számának eltakarása és a szerver biztonsága érdekében.