Nástroj sql-tap je proxy mezi aplikací a databází, které zachytává všechny SQL dotazy a zobrazuje je v terminálovém rozhraní. Zde lze téměř v reálném čase zkoumat dotazy, sledovat transakce a spouštět SQL příkaz EXPLAIN. Podporované databázové systémy jsou pouze PostgreSQL a MySQL. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře dětí v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
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:
Tiskni
Sdílej:
Cíl byl, omezit uživatele sshforward, pokud možno co nejvíce, včetně uzavření do chrootu.
command="read a; exit"SHELLSHOCK (takhle mi vyownovali server chvilku po publikaci, ještě než byl v repozitáři opravený bash)