GNU/Linux >> Znalost Linux >  >> Panels >> Webmin

SSL tunely

Na této stránce je zdokumentován program STunnel a modul Webmin pro jeho nastavení.

Úvod do SSL a STunnel

SSL je protokol pro šifrování dat v připojení TCP při jejich přenosu po síti. Původně byl vyvinut k ochraně provozu mezi webovými prohlížeči a servery, ale lze jej použít k šifrování jakéhokoli druhu datového toku, který by se normálně posílal přes protokol TCP.

Protokol SSL umožňuje klientům a serverům, aby se navzájem autentizovali, takže klient si může být jistý, že se skutečně připojuje k hostiteli, o kterém si myslí, že je. To se provádí pomocí certifikátů, které jsou vydávány certifikační autoritou uznávanou klientem (aby mohly být ověřeny) a přidružené k určitému názvu hostitele. Bez certifikátů by útočník mohl přesměrovat připojení SSL na svůj vlastní server a zachytit citlivé informace od klienta, který si myslí, že mluví se skutečným serverem.

Jakákoli data, která putují internetem nezašifrovaná, mohou být zachycena a přečtena útočníkem s přístupem k jedné ze sítí, kterými prochází. Dokonce i data přenášená mezi klientským a serverovým systémem v síti LAN lze snadno poslouchat. Když se připojíte k serveru telnet, FTP nebo POP3, vaše heslo je odesláno přes síť, a proto jej může zachytit útočník.

SSL lze použít k ochraně dat v těchto situacích, ale pouze v případě, že to klient i server podporují. Většina webových prohlížečů a poštovních klientů může vytvářet připojení HTTP, POP3 a IMAP šifrovaná SSL, ale ne všechny webové a POP3 servery je mohou přijmout. Obzvláště POP3 je těžké chránit, protože standardní server dodávaný s většinou unixových systémů SSL vůbec nepodporuje. Naštěstí však existuje řešení - STunnel.

STunnel je jednoduchý program, který převádí nešifrované připojení na šifrované SSL. Obvykle je nastaven tak, aby se spouštěl ze superserveru, jako je inetd nebo xinetd, a poté spouštěl nějaký jiný program, jako je server POP3, který nepodporuje SSL. Tento design mu umožňuje chránit jakýkoli server, který je normálně spuštěn z inetd, jako jsou telnet, NNTP a IMAP servery.

Ne všechny servery však mohou být užitečně chráněny šifrováním, protože neexistuje žádný klient, který by je používal v režimu SSL. Nikdy jsem například neslyšel o telnetu nebo FTP klientovi, který by mohl používat SSL, protože běžný balíček SSH již umožňuje šifrovaná vzdálená přihlášení a přenosy souborů.

Modul SSL tunely

Tento modul Webmin usnadňuje nastavení superserverových služeb, které spouštějí STunnel pro spuštění nějakého serverového programu. I když to lze provést ručně pomocí modulu Internetové služby (popsaného v kapitole 15), tento je speciálně navržen pro nastavení a konfiguraci STunnelu. Automaticky detekuje, zda máte nainstalovaný inetd a/nebo xinetd, načte jejich konfigurace, aby zkontroloval existující tunely SSL, a přidá k nim, když vytvoříte nový tunel. Pokud jsou nainstalovány oba, jsou do konfigurace xinetd přidány nové tunely SSL, protože podle mého názoru je z těchto dvou lepší.

Modul lze nalézt ve Webminu v kategorii Networking v hlavním menu. Když kliknete na jeho ikonu, zobrazí se stránka podobná té, která je uvedena níže, se seznamem všech existujících tunelů. V dolní části stránky je tlačítko označené Použít změny který po kliknutí znovu spustí inetd nebo xinetd, čímž se aktuální konfigurace aktivuje.


Modul SSL tunely

Pokud program nelze na vašem serveru najít, zobrazí se místo toho chybová zpráva jako *Příkaz STunnel /usr/bin/stunnel nebyl nalezen ve vašem systému*. To může znamenat, že není nainstalován nebo že modul hledá příkaz stunnel ve špatném adresáři. V druhém případě můžete upravit konfiguraci modulu, jak je vysvětleno v části *Konfigurace modulu SSL Tunnels* dále na stránce.

Pokud však program opravdu není nainstalován, zkontrolujte disk CD s operačním systémem nebo webovou stránku, zda neexistuje balíček pro STunnel. Pokud ano, můžete jej nainstalovat pomocí modulu Software Packages. Jinak si budete muset stáhnout zdrojový kód z www.stunnel.org, zkompilovat a nainstalovat.

Vytváření a úprava tunelů SSL

Pokud chcete chránit nějakou službu pomocí šifrování SSL, budete muset vytvořit nový tunel SSL. Lze vytvořit dva různé typy tunelů – jeden, který spouští serverový proces jako inetd, nebo jeden, který se připojuje k jinému hostiteli a portu v režimu bez SSL. Druhá možnost je jednodušší, pokud již server běží v nešifrovaném režimu, ale bude o něco pomalejší kvůli nutnosti vytvořit další síťové připojení.

Než budete moci vytvořit tunel, musíte se rozhodnout pro číslo portu, který bude použit. Pro některé protokoly existuje standardní číslo portu - například 995 se často používá pro šifrovaný POP3 a 993 se používá pro šifrovaný IMAP. Číslo portu, které zvolíte, samozřejmě nesmí používat žádná jiná služba nebo server inetd ve vašem systému.

Postup vytvoření tunelu:

  1. Na hlavní stránce modulu klikněte na Přidat nový tunel SSL odkaz nad nebo pod tabulkou stávajících tunelů. Ve vašem prohlížeči se zobrazí formulář pro vytvoření zobrazený na obrázku 46-2.
  2. V Název služby zadejte jedinečný název pro službu inetd tohoto tunelu, například ssl-pop3 .
  3. V portu TCP zadejte číslo portu, na kterém má tunel přijímat připojení, například 993 .
  4. Pokud nechcete, aby byl tunel dočasně zakázán, nastavte Aktivní? pole na Ano .
  5. Pokud by tento tunel měl spouštět program jako POP3 server, vyberte Spustit program ve stylu inetd volba. V Cesta k programu zadejte úplnou cestu k serveru, například /usr/sbin/ipop3d . V s argumenty zadejte název programu následovaný libovolnými argumenty příkazového řádku, například ipop3d . Stejně jako u služeb vytvořených v modulu Internetové služby a protokoly musíte jako první argument uvést název programu.
  6. Pokud by se měl tento tunel připojit k nějakému existujícímu serveru, vyberte možnost Připojit ke vzdálenému hostiteli volba. Poté zadejte hostitele, ke kterému se chcete připojit (například localhost ) a číslo portu, který se má použít (např. 110). ) v *Vzdálený název hostitele a *Vzdálený port polí resp.
  7. Soubor certifikátu SSL a klíče pole určuje, který certifikát SSL bude předložen klientům pro toto připojení. Pokud jste si pomocí příkazu openssl vygenerovali vlastní certifikát s vlastním podpisem nebo skutečný certifikát, vyberte možnost Použít certifikát v souboru a do sousedního textového pole zadejte úplnou cestu k souboru. Jinak můžete zvolit Použít certifikát Webmin k použití stejného certifikátu, který Webmin používá v režimu SSL, nebo *Výchozí zkompilovaný* k použití certifikátu dodávaného se softwarem STunnel. Pokud generujete svůj vlastní certifikát, ujistěte se, že soubor obsahuje soukromý klíč i certifikát ve formátu PEM.
  8. Při připojování ke vzdálenému hostiteli lze STunnel nakonfigurovat tak, aby se choval opačně než normálně. Namísto přijímání připojení SSL a jeho dešifrování můžete místo toho zvolit, aby přijalo normální připojení a zašifrovalo ho pro připojení k jinému serveru s podporou SSL. Tento režim lze aktivovat výběrem Přijmout normální a připojit se pomocí SSL v poli *Režim tunelu*. To může být užitečné, pokud ani váš klientský nebo serverový program nepodporuje SSL, ale přesto chcete, aby data mezi nimi byla šifrována. V tomto režimu lze na klientském systému nastavit STunnel, nakonfigurovat jej pro připojení k jiné službě STunnel na serverovém systému, který používá režim *Přijmout SSL a normálně se připojit*.
  9. Klepněte na Vytvořit tlačítko v dolní části stránky pro přidání nové služby.
  10. Po návratu na hlavní stránku modulu klikněte na Použít změny aby byl nový tunel aktivní.


Formulář pro vytvoření tunelu SSL

Veškeré detaily existujícího tunelu lze upravit kliknutím na jeho název v seznamu na hlavní stránce modulu. Zobrazí se editační formulář podobný tomu na obrázku 46-2, ale se všemi poli již vyplněnými. Můžete buď provést změny a kliknout na Uložit zaznamenejte je, nebo klikněte na Smazat k úplnému odstranění tunelu. V opačném případě Použít změny Chcete-li provést změny, musíte kliknout na tlačítko na hlavní stránce.


Webmin
  1. Jabber IM Server

  2. Server PPTP VPN

  3. SSL tunely

  1. Databázový server PostgreSQL

  2. Server ProFTPD

  3. Proxy server Squid

  1. Klient LDAP

  2. Server WU-FTPD

  3. Restartujte server