Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.
Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.
FTP klientů je celá řada, my si vyjmenujeme tři nejzákladnější.
Jeden z nejznámějších FTP klientů vůbec je FileZilla. Pokud používáme explicitní způsob šifrovaného spojení, tak v tomto klientu musíme zadat adresu serveru jako:
ftpes://adresa
Pro implicitní způsob šifrování je:
ftps://adresa
Hojně využívanmým klientem je Krusader aka KDE, aka kio-slaves. Aby nám fungovalo FTP v Krusaderu (Konqueroru apod.), je potřeba doinstalovat kio-ftps. Pro KDE 3 je k dispozici verze 1a, viz: kio-ftps-0.1a.tar.gz. Kdo nemá součástí distribuce, kompiluje se trojčlenkou:
tar xvfz kio-ftps-0.1a.tar.gz ./configure make make install
Poté stačí do Krusaderu zadat ftps://adresa a spojení je navázáno.
Pro KDE 4 je verze 0.2: kio-ftps-0.2.tar.gz, která se kompiluje pomocí CMake.
Pro GNOME je k dispozici gFTP. Pokud dostanete při pokusu o přihlášení na FTPS serveru tuto chybovou hlášku:
error 18:self signed certificate
tak si vypněte ověřování certifikátu v nastavení, nabídka FTP -> Preference -> Engine SSL -> Ověřit protistranu SSL. Další možností by mělo být umístění veřejného certifikátu vaší certifikační autority do adresáře certifikátů OpenSSL. V Debianu je v „/usr/lib/ssl/certs“ V Arch Linuxu jsou v /usr/share/ca-certificates/ a míří na ně symlinky z /etc/ssl/certs/.
Několik drobných tipů, co a jak nastavit.
Všechno šlape, uživatel funguje, ale vše v jeho adresáři jde smazat. Resp. práva se chovají tak, že pokud má adresář práva třeba root:root 755, tak soubor v onom adresáři s root:root 755 nejde smazat. Pokud má ovšem adresář třeba práva ftpuser:ftpgroup 755 a soubor root:root 700, tak lze soubor v klidu smazat a ProFTPD může běžet i pod uživatelem „proftpd“. Myslím si, že za to může mod_sql (měl by se chovat trochu korektněji k fyzickým právům a povolovat manipulaci se soubory těch uživatelů a skupin, které má definované v databázi). Provedeme si příklad řešení práv třeba na testovacím souboru (100 MiB na rychlost) pro download. Vytvoříme si ho takto (adresář ftp má práva třeba ftpuser:ftpgroup 775):
dd if=/dev/zero of=/home/ftp/100MiB.iso bs=1024 count=102400 # práva souboru jsou trochu irelevantní, ale budiž: chown proftpd:proftpd 100MiB.iso chmod 755 100MiB.iso
Nyní nastavíme práva, aby šel jen číst, a ne mazat. Potom upravíme proftpd.conf:
AllowOverride on #DenyFilter \*.*/ PathDenyFilter "(\.ftpaccess)$"
Nesmíme zapomenout na reload serveru:
/etc/init.d/proftpd reload
Tímto jsme si pomocí AllowOverride povolili možnost použití konfiguračního souboru .ftpaccess. Pomocí PathDenyFilter jsme zakázali možnost přepsání onoho souboru uživatelem.
Konečně si vytvoříme soubor .ftpaccess v adresáři uživatele „ftp“ (/home/ftp/.ftpaccess) a v případě, že chceme povolit pouhé čtení na náš testovací soubor, zapíšeme do něj:
PathDenyFilter "(\.ftpaccess|\100MiB.iso)$"
Do PathDenyFilter zapíšeme také zmíněný .ftpaccess. Definování PathDenyFilter v souboru .ftpaccess má za následek nepoužití této direktivy v proftpd.conf. .ftpaccess je načten při příchodu do adresáře, kde se nachází. Nyní mohou uživatelé tyto soubory jen číst. Pokud je klient již přihlášen, tak vytvořením onoho souboru nic nezmůžete, jelikož jej uživatel bude moci třeba smazat. Soubor se korektně načítá až při samotném přihlášení klienta. Resp. se mi zdá, že jen direktiva PathDenyFilter vyžaduje přihlášení klienta (BUG, nebo FEATURE?). Ostatní lze měnit za chodu a klient hned změny pocítí.
Soubor .ftpaccess je určen na řešení drobných restrikcí. Nelze v něm používat direktivu Directory, ač mi to částečně fungovalo. Pravidla se vždy aplikují na samotný adresář a podadresáře. Pokud v podadresáři vytvoříme .ftpaccess, tak budou platit pravidla zapsaná v něm atd.:
# zakaze upload (prepis) souboru 100MiB.iso, .ftpaccess a .htaccess: PathDenyFilter "(\.ftpaccess|\.htaccess|\100MiB.iso)$" # v aktualnim adresari budou vsichni moci cist, ale nikdo zapisovat (krome uzivatele "admin"): <Limit Write> AllowUser admin DenyAll Order allow,deny </Limit> <Limit Read> AllowAll </Limit> # povolime pristup ze vsech IP adres krom jedne: <Limit ALL> Deny 192.168.0.21 Allow all Order deny,allow </Limit> # omezeni rychlosti pro tento adresar a podadresare: TransferRate RETR 20:262144 # maximalni rychlost uploadu (od serveru ke klientu) je 20 KiB/s; do prenosu prvnich 256 KiB dat je rychlost maximalni
Nyní se podíváme na trochu složitější definování práv, zakládání tříd (classes) aj. Třídy lze definovat jen pomocí konfiguračních souborů ProFTPD. Aby nastavení vypadalo trochu přehledněji, vložíme si definice tříd stejně jako třeba nastavení SQL nebo TLS do jiného souboru. Do proftpd.conf doplníme:
Include /etc/proftpd/access.conf
Vytvoříme si soubor /etc/proftpd/access.conf a příklad nastavení by mohl vypadat nějak takto:
### seznam IP adres zlobivych uzivatelu:
<Class blacklist>
From 192.168.0.5
From 192.168.20.22
From 192.168.30.0/24
From 192.168.40.55
</Class>
### seznam VIP clenu:
<Class vip>
From 192.168.5.1
From 192.168.10.1
</Class>
### pokud se prihlasi uzivatel tonda, tak bude moci stahovat jen 20b KiB/s
# (plati pouze pro adresar ~/pokus/*, vsude jinde to pojede naplno)
<IfUser tonda>
<Directory ~/pokus/*>
TransferRate RETR 20
</Directory>
</IfUser>
### kdo neni clenem skupiny vip, tomu pojede stahovani z FTP max. 40 KiB/s
# a prvnich 256 KiB dat se bude stahovat plnou rychlosti:
<IfGroup !vip>
TransferRate RETR 40:262144
</IfGroup>
### kdo je clenem skupiny vip, tomu pojede stahovani 540 KiB/s
<IfGroup vip>
TransferRate RETR 540
</IfGroup>
### ti, jejichz IP nebo rozsah adres je definovan ve tride "blacklist",
# se nebudou moci prihlasit
<Limit LOGIN>
DenyClass blacklist
AllowAll
</Limit>
Dávejte si pozor na fyzická práva adresářů. Jak už bylo řečeno, všechny direktivy se nedají používat všude. Pokud vás zajímá nějaká direktiva, tak se na ni podívejte do dokumentace: List of Directives by Name.
Nyní se podíváme na moduly třetích stran, které jsme si ručně zkompilovali spolu s ProFTPD.
Do souboru /etc/proftpd/modules.conf si doplníme následující řádek:
LoadModule mod_md5.c # jako posledni by se mel vzdy nacitat tento modul: LoadModule mod_ifsession.c
Do souboru /etc/proftpd/access.conf si doplníme následující řádky a vše by mělo fungovat:
### Jestlize se uploadne soubor do adresare "upload", tak se k nemu vytvori kontrolni md5 soucet
# podadresar test je vynechan (kdyz se tam soubor uploadne, tak se md5 soucet generovat nebude)
<IfModule mod_md5.c>
MD5Engine on
MD5Path ~/upload/
MD5Path !~/upload/test
</IfModule>
### md5 soucet se bude generovat jen v pripade, ze bude dany soubor uploadovat uzivatel admin:
<Limit SITE_MD5>
AllowUser admin
DenyAll
</Limit>
Funkčnost vytváření md5 hashů můžeme vyzkoušet takto:
#:/# ftp 127.0.0.1 Connected to 127.0.0.1. 220::ffff:127.0.0.1 FTP server ready Name (127.0.0.1:root): admin 331 Password required for admin Password: 230 User admin logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> cd upload 250 CWD command successful ftp> quote SITE MD5 frozenbubble.exe quote site md5 frozenbubble.exe 200-2bbff112066c93871155d4cf1ada5d2d frozenbubble.exe 200 Please contact webmaster@abclinuxu.cz if this digest is inaccurate ftp>
Bohužel, po uploadnutí souboru na FTP server do příslušného adresáře nedojde k vytvoření dalšího souboru s md5 hashem. Takže všechno funguje, ale vlastně nefunguje).
Do /etc/proftpd/modules.conf doplníme:
LoadModule mod_sftp.c LoadModule mod_sftp_sql.c
Do /etc/proftpd/proftpd.conf doplníme řádek:
Include /etc/proftpd/sftp.conf
A do souboru /etc/proftpd/sftp.conf vložíme:
### Nastaveni v pripade, ze bychom chteli mit ulozeny klice v databazi a treba overovat uzivatele ceertifikaty apod.
# Osobne nepotrebuji, takze jsem nezkousel.
# (museli bychom si zrejme pridat sloupecek do tabulky k uzivatelum, kde by byl klic ulozen):
#<IfModule mod_sql.c>
# # Other mod_sql configuration here
#
# # Define a SELECT statement to retrieve users' authorized SSH keys
# SQLNamedQuery get-user-authorized-keys SELECT "key FROM sftpuserkeys WHERE name='%U'"
#
# # Define a SELECT statement to retrieve hosts' authorized SSH keys
# SQLNamedQuery get-host-authorized-keys SELECT "key FROM sftphostkeys WHERE host='%{0}'"
#</IfModule>
### Velmi jednoduche nastaveni SFTP:
<IfModule mod_sftp.c>
### Zapneme podporu SFTP:
SFTPEngine on
### Soubor s logem:
SFTPLog /var/log/proftpd/sftp.log
### Jelikoz se pouziva rozdilny zpusob prihlasovani,
# tak pro debug rezim pouzijeme nasledujici logovani:
#TraceLog /var/log/proftpd/sftp-trace.log
#Trace scp:20 sftp:20 ssh2:20
### Cesta ke klicum pro autentizaci (pouzijeme stavajici klice ssh demona):
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPHostKey /etc/ssh/ssh_host_rsa_key
### Zapneme kompresi:
SFTPCompression delayed
### Pokracujeme v prikladu s databazi (osobne nepotrebuji, takze jsem ani nezkousel):
# <IfModule mod_sftp_sql.c>
# # Instead of using a file-based key store, we tell mod_sftp to use
# # the SQL-based key store provided by mod_sftp_sql
# SFTPAuthorizedUserKeys sql:/get-user-authorized-keys
# SFTPAuthorizedHostKeys sql:/get-host-authorized-keys
# </IfModule>
</IfModule>
Nyní už stačí jen restart a je hotovo:
/etc/init.d/proftpd restart
Přihlašujeme se na port 21, tzn., že třeba v Krusaderu zadáme sftp://192.168.0.55:21. Poté už je krásně vidět, jak se nám plní soubor se záznamy /var/log/proftpd/sftp.log. Nebuďte ovšem bláhoví. Kdo si myslí, že může provozovat FTP/FTPS/SFTP na jednom portu, tak se mýlí. Pokud nastavíme SFTP, budeme moci používat jen tento protokol.
Do /etc/proftpd/modules.conf doplníme:
LoadModule mod_vroot.c
Do /etc/proftpd/proftpd.conf doplníme řádek:
Include /etc/proftpd/vroot.conf
A do souboru /etc/proftpd/vroot.conf vložíme:
<IfModule mod_vroot.c> VRootEngine on DefaultRoot ~ ### Vsem uzivatelum namapujeme tento adresar # (nefunguje soucasne s direktivou VRootServerRoot): VRootAlias upload /home/ftp/nejakaslozka/tamtaslozka ### Povolit symlinky: VRootOptions allowSymlinks ### Budeme logovat provoz: VRootLog /var/log/proftpd/vroot.log </IfModule>
Bohužel se mi tento modul nepodařilo zprovoznit. Alias se vytvoří, ale do logu se nic nezapisuje a do žádného adresáře nemám přístup. Ani do těch, kam jsem dřív mohl. U ProFTPD hodně záleží na pořadí modulů při kompilování, třeba ho tedy jen neumím správně zkompilovat.
Pokud se nám něco nedaří a chceme ladit, tak spustíme ProFTPD v debug režimu:
proftpd -d9 -n
V případě Debianu stačí upravit soubor /etc/default/proftpd takto:
# Defaults for ProFTPD initscript # Master system-wide ProFTPD switch. The initscript # will not run if it is not set to yes. RUN="yes" # Default options. # For more exhaustive logging, try "-d 3". OPTIONS="-d 9 -n"
A restartovat server:
/etc/init.d/proftpd restart
Nyní máme nainstalovaný a kompletně funkční ProFTPD server. Samotný server běží pod uživatelem a skupinou „profptd“. Uživatelské soubory spadají pod uživatele „ftpuser“ a skupinu „ftpgroup“. ProFTPD není rozhodně dokonalý FTP server, ale není ani nikterak špatný. Konfigurace mi přijde přehledná a práce s direktivami intuitivní. Jeho možnosti a rozšíření jsou velké, ač bohužel někdy ne zcela funkční (ve VirtualBoxu jsem měl i problémy s fitry na IP adresy, což ProFTPD umožňuje). Také by mě zajímalo, zda má někdo zkušenosti s nějakými externími moduly. V případě, že ano, může se o zkušenosti podělit pod článkem. To samozřejmě platí i o tipech na další různé možnosti nastavení.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
ferda si povoli prihlaseni pouze z IP 127.0.0.1 amalka si povoli prihlaseni pouze z IP 192.168.0.6 cmelda si povoli prihlaseni z 2 IP 192.168.0.7 a 192.168.0.8 brumbda se omezovat nehodla vubec
tohle umi treba pureftpd
ono to bolo myslene tak, ze ked nieco v php uploadujes cez tie jeho funkcie(move_uploaded_file....), tak owner/group je ten user pod ktorym bezi www server, a nie ten komu patria skripty... ciastocne riesenie je pouzivat mod_suphp (riesi to len otazku komu ten subor po vytvoreni patri), ale ani to neriesi zapisovanie quoty do databazy... to sa da imho vyriesit len quotami priamo v systeme...
, jinak pochvala za super článek!
peru se stim už celej den a pořád mi to nechce chodit. Co stím? Díky
. Také by měl mít nadřazený adresář práva ftpuser:ftpgroup a nejlépe 755.