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 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ářů: 0
    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ářů: 1
    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
    6.10. 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

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

    Reverzní SSH tunel

    12.6.2015 19:34 | Přečteno: 2515× | Debian | Výběrový blog | poslední úprava: 13.6.2015 10:47

    Návod jak vytvořit reverzní SSH tunel, s tím, že se uživateli, který tento tunel vytváří, zakáže vše ostatní. Může se hodit např. při administraci notebooků kamarádů, kteří chtějí vyřešit nějaký problém, ale nemají zrovna veřejnou IP.

    Vytvoříme nového uživatele sshforward, kterému nedovolíme logování pomocí hesla a login shell nastavíme na nologin. Poté nastavíme jako vlastníka, jeho domovského adresáře, uživatele root.

    server# adduser --shell /usr/sbin/nologin --disabled-password sshforward
    server# chown root.root /home/sshforward
    

    Promažeme domovský adresář.

    server# cd /home/sshforward
    server# find -mindepth 1 -delete
    

    Vytvoříme adresář pro uložení veřejných klíčů a nakopírujeme do něj veřejný klíč pro uživatele sshforward. Do cílového souboru můžeme přidat větší množství veřejných klíčů, pokud chceme, aby reverzní tunel mohlo vytvářet více různých uživatelů.

    server# mkdir /etc/ssh/authorized_keys
    server# cp id_ed25519.pub /etc/ssh/authorized_keys/sshforward
    

    Povolíme pouze přihlašování pomocí klíčů. Dále omezíme možnosti uživatele sshforward, který bude moci pouze vytvořit reverzní tunel na libovolném portu (když nepočítám ty privilegované <=1023), přesměrovat se na localhost:22 serveru (toto pravidlo omezuje i dynamické přesměrování portů). A zavřeme ho do chrootu.

    server# vim /etc/ssh/sshd_config
    RSAAuthentication yes
    PubkeyAuthentication yes
    ChallengeResponseAuthentication no
    PasswordAuthentication no
    UsePAM no
    
    Match Group sshforward
       AuthorizedKeysFile /etc/ssh/authorized_keys/%u
       ChrootDirectory %h
       ForceCommand /usr/sbin/nologin
       AllowTcpForwarding yes
       AllowAgentForwarding no
       PermitTunnel no
       PermitTTY no
       GatewayPorts no
       X11Forwarding no
       PermitOpen localhost:22
    

    Restartujeme SSH server.

    server# service ssh restart
    

    Vytvoříme reverzní tunel na portu 5022.

    notebook$ autossh -M 0 -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -N -R 5022:localhost:22 sshforward@server
    

    Zkusíme se připojit ze serveru na notebook.

    server$ ssh -p 5022 username@localhost
    

    Na serveru můžeme zahazovat všechny odchozí pakety uživatele sshforward, na reverzní tunel to nemá vliv a zařídíme tím ještě větší omezení možností uživatele sshforward.

    server# iptables -I OUTPUT -m owner --uid-owner sshforward -j DROP
    

    Otestujeme zda-li fungují naše omezení.

    notebook$ ssh sshforward@server
    PTY allocation request failed on channel 0
    Could not chdir to home directory /home/sshforward: No such file or directory
    /usr/sbin/nologin: No such file or directory
    Connection to server closed.
    
    notebook$ sftp sshforward@server
    Couldn't read packet: Connection reset by peer
    
    notebook$ ssh sshforward@server date
    Could not chdir to home directory /home/sshforward: No such file or directory
    /usr/sbin/nologin: No such file or directory
    
    notebook$ ssh -N -D 8080 sshforward@server
    channel 1: open failed: administratively prohibited: open failed
    notebook$ curl -I --socks5 localhost:8080 http://mojeip.cz
    curl: (7) Failed to receive SOCKS5 connect request ack.
    
    notebook$ ssh -N -L 8080:mojeip.cz:80 sshforward@server
    channel 1: open failed: administratively prohibited: open failed
    notebook$ curl -I localhost:8080
    curl: (52) Empty reply from server
    
    notebook$ ssh -N -L 2222:localhost:22 sshforward@server
    channel 1: open failed: administratively prohibited: open failed
    notebook$ ssh -p 2222 localhost
    ssh_exchange_identification: Connection closed by remote host
    

    Budu rád za případné podnětné připomínky v diskuzi na toto téma.

    Zdroje:

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    13.6.2015 09:17 pavele
    Rozbalit Rozbalit vše Re: Reverzní SSH tunel
    A nestačilo by na straně serveru neupravovat ssh-server a přidat do uživatele sshforward klíč:

    no-agent-forwarding,no-X11-forwarding,no-user-rc,no-pty,command="read a; exit" ssh-rsa AAAB3N.....
    Fuky avatar 13.6.2015 10:58 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Reverzní SSH tunel

    Cíl byl, omezit uživatele sshforward, pokud možno co nejvíce, včetně uzavření do chrootu.

    Jendа avatar 13.6.2015 13:30 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Reverzní SSH tunel
    command="read a; exit"
    SHELLSHOCK (takhle mi vyownovali server chvilku po publikaci, ještě než byl v repozitáři opravený bash)
    17.4.2019 13:00 conor mcgregor
    Rozbalit Rozbalit vše Re: Reverzní SSH tunel
    i am already play this game,such a great and amazing simple puzzle game,now don't waste time,just click here Mahjong connect online no installing and charges required here,easily played on this visit.

    Založit nové vláknoNahoru

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