abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 2
    dnes 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 10
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 3
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Jak se pomocí ssh prohrabat na počítač ve vnitřní síti

    Způsobů je samozřejmě celá řada, zde popsaný je určen pro situaci, že se potřebuji dostávat na stroj který je za nějakým NAT a proxy. Vyžaduje jednak spolupráci ze strany uživatele (i když se samozřejmě dá bez ní obejít, ale to už není předmětem tohoto postupu) a stroj s veřejnou IP adresou. Na obou strojích je třeba mít účet a přinejmenším právo pomocí sudo spouštět ssh démona.

    Popis situace

    Počítač na který se potřebujeme dostat, běží ve vnitřní síti (s neveřejnou IP adresou) a jediný způsob jakým se uživatel může dostávat na web je prostřednictvím autorizované HTTP proxy. Za předpokladu že je správce proxy paranoik jsou pro komunikaci povoleny maximálně porty 80 (http) a 443 (https).

    V takovém případě nezbývá, než mít možnost spustit na vzdáleném stroji ssh démona tak aby naslouchal na některém z povolených portů.
    Přitom je třeba zajistit, aby se nedostal do konfliktu s jinou aplikací. Tj. pokud na vzdáleném stroji běží také https tak může mezi ním a ssh démonem na portu 443 vznikat problém. Dejme tomu, že na proxy je povolen také port 17222. Pak tedy na vzdáleném stroji spustíme ssh démona naslouchajícího na tomto portu:

    UserVenku@verejnystroj~$ /usr/sbin/sshd -p 17222
    

    Tím získáme ssh server naslouchající na povoleném portu ke kterému se může uživatel z vnitřní sítě připojit. Protože je však v síti za autorizovanou HTTP proxy, tak to nemůže provést přímo, ale musí mít k dispozici nějaký nástroj, který mu to umožní.
    Takovým nástrojem je třeba aplikace proxytunnel. Pokud je v systému nainstalovaná, stačí do souboru ~/.ssh/config v adresáři uživatele, ketrý se bude připojovat na verejnystroj přidat následující:

    Host cokoliv
        ProtocolKeepAlives 30
        ProxyCommand /usr/local/bin/proxytunnel -p <IPproxy>:<PortProxy> \
                                                -u <ProxyUser> -s <ProxyUserPass> \
                                                -d <IPverejnystroj>:17222
    

    Je doufám jasné, že místo údajů v lomených závorkách je třeba dosadit příslušné údaje. Parametr ProtocolKeepAlives zajistí, že ssh klient v pravidelných 30 sekundových intervalech pošle datový paket, kterým spojení oživí. Pokud bychom tento parametr neuvedli, tak je velmi pravděpodobné, že by nám proxy brzy toto spojení odstřihla.

    Pokud jste se dostali až sem, tak by mělo být možné se přihlásit z terminálu počítače ve vnitřní síti pomocí na stroj venku.

    user@stroj~$ ssh UserVenku@cokoliv
    

    Jistě jste si povšimli, že při připojení není uvedena přímo adresa veřejného stroje, ale název, kterým je toto připojení identifikováno v souboru ~/.ssh/config

    Vytvoření tunelu

    Pokud nám výše uvedený postup funguje a uživatel ze stroje ve vnitřní síti se přihlásí na veřejný stroj, tak by již mělo jít vytvořit také ssh tunel z veřejného stroje na stroj uvnitř.

    Jak už jsem uvedl, aby to bylo možné, musí běžet také na stroji ve vnitřní síti ssh démon. Většinou tomu tak je a běží na standardním portu 22, ale nemusí tomu tak být. Pak je třeba, aby měl uživatel možnost sám spustit ssh démona na některém neobsazeném portu třeba pomocí sudo

    user@stroj~$ sudo  /usr/sbin/sshd -p 444
    

    Pak vytvoří tunel:

    user@stroj~$ ssh -R <LibovolnyPort>:localhost:<PortSshStroje> UserVenku@cokoliv
    

    Po vytvoření tunelu se pak může kdokoliv kdo má účet na stroji ve vnitřní sítě z tohoto veřejného stroje přihlásit na jeho stroj následujícím příkazem:

    JinyUserVenku@verejnystroj~$ ssh -p <LibovolnyPort> JinyUserUvnitr@localhost
    

    Připojení na vnitřní stroj by mělo být možné po dobu trvání tunelu. Tzn. dokud jeji uživatel z vnitřní sítě nezruší, nebo dokud "neodstřelí" démona naslouchajícího na jeho stroji.

    Upozornění

    Pro správce: Uvědomte si, že každý takový tunel je bezpečnostním rizikem pro vnitřní síť, proto dobře zvažte komu umožníte přístup k ssh na vzdáleném stroji (nahradit vnitřní stroj vlastním není až takový problém) a stávajícího ssh démona pokud možno co nejvíc zajistěte proti zneužití. Také zakažte všechny nepužívané porty a ty které necháte povolené průběžně monitorujte.

    Pro uživatele: Pamatujte, že na internetu je člověk jako nahý. Každá datová komunikace se někde loguje a není vůbec žádný problém pro zkušenějšího administrátora zjistit že někdo dělá neplechu. Jen paranoik si může myslet, že mu někdo analyzuje obsah odchozích a příchozích dat, nicméně síťové adresy, použité porty, uživatelská jména a objem dat napoví mnohé. Nehřešte na benevolenci svých správců a nezneužívejte možností tunelování. Vyhnete se tak nepříjemným otázkám.

    Dokument vytvořil: Aleš Kapica, 25.1.2007 10:54 | Poslední úprava: miso, 3.6.2007 20:25 | Historie změn | Zobrazeno: 2160×

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.