602SQL-Úplná dokumentace Index  

Vzdálený přístup na SQL server přes HTTP tunel

Přístupu klientů na SQL server umístěný v podnikové síti mohou bránit firewally, které omezují možnost připojení se na některá čísla portů. Často je však povolen přístup na port (obvykle s číslem 80), který používají web servery. Proto pro překonání firewallů lze použít techniku nazývanou HTTP tunelování spočívající v tom, že:

Přístup přes HTTP tunel lze využít například pro vzdálenou správu SQL serveru - umožňuje překonat zabezpečení podnikové sítě před průnikem zvenčí.

HTTP tunel nelze zprovoznit na SQL serveru, který běží na stejném počítači, kde je již zvolený port obsazen jinou aplikací (např. web serverem).

Obsadit port nižších čísel (jako 80) vyžaduje na Linuxu administrátorská práva, proto 602sql server musí pro tento účel být spuštěn pod účtem root, i když veškeré další aktivity bude provádět pod jiným účtem - podrobnosti o spouštění pod jiným účtem naleznete na stránce Provoz SQL serveru pod Linuxem.

Nastavení SQL serveru

Možnost přístupu na SQL server přes HTTP tunel se nastavuje v dialogu Protokoly a porty ve složce Systém.

Volbou protokolu HTTP tunelování síťového protokolu způsobíte, že počínaje příštím startem bude SQL server přijímat připojení také na portu zvoleném v poli Číslo portu pro HTTP tunel (obvykle 80) a bude na něm komunikovat v protokolu HTTP.

Omezení přístupů na SQL server přes HTTP tunel se nastavuje na stránce Bezpečnost v dialogu Provozní parametry ve složce Systém.

Combo Omezit HTTP přístup na uživatelské jméno dovoluje vybrat uživatelský účet, pod kterým se bude možno přihlásit přes HTTP tunel. Při pokusu přihlásit se pod jiným jménem dojde k chybě "Použití tohoto uživatelského jména je zakázáno". Pokud není vybráno žádné jméno, lze se přihlašovat pod všemi jmény.

Pokud je povolen anonymní přístup na SQL server, pak se lze anonymně přihlašovat i přes HTTP tunel, bez ohledu na nastavené omezení HTTP přístupu.

Nastavení klienta

Klient, který chce přistupovat na SQL server přes HTTP tunel, si tento server zaregistruje a v sekci Adresa SQL serveru uvede číslo portu zvoleného pro daný server (obvykle 80). Dále je třeba zatrhnout čtverec Připojovat se přes HTTP tunel.

Jeden SQL server smí být pod různými jmény registrován dvakrát - jednou pro přímý přístup na jeho vlastní port, podruhé pro přístup HTTP tunelem na port 80. V praxi však platí, že pokud funguje první možnost, není důvod používat druhou.

Vlastnosti připojení přes HTTP tunel

Je-li na serveru nastaveno filtrování IP adres, ze kterých se mohou připojovat klienti, pak se toto nastavení nevztahuje na přístup přes HTTP tunel. HTTP tunel je totiž míněn jako speciální nástroj pro přístup z vnějšího světa.

Pokud SQL server má certifikát a vyžaduje šifrované spojení s klientem, pak se šifruje i komunikace přes HTTP tunel. Komunikační protokol je pak podobný použití HTTPS protokolu.