Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
Je to jednoduché, jednak v tom hrají roli pocity, kdy někdo nemusí chtít posílat data přes třetí stranu. Další důvod je zbytečná saturace internetové konektivity. Další může být to, že chceme uživatelům povolit jen výměnu souborů uvnitř sítě bez možnosti to poslat ven (třeba uživatelé nemají ani přístup na internet). Důvodů může být mnoho.
Chceme, aby to bylo bezpečné, vše šifrované, aby to bylo nenáročné na provoz, aby to bylo pro uživatele jednoduché atd. Namátkou jsem narazil kdysi na tyto projekty:
Jak nadpis napovídá, vybral jsem si tento projekt. Je jednoduchý, vyvíjí se, php zná každý, takže v případě potřeby interní devíci mohou provést úpravy apod.
Fce, které projekt podporuje:
Na tom není nic bestiálního. Používám Debian, takže návod je pro něj, ale vesměs je to na všech distribucích stejné. Stačí Apache + php.
# stažení zdrojáků cd /var/www git clone https://gitlab.com/mojo42/Jirafeau.git # nastavení oprávnění: chown -R www-data:www-data Jirafeau # základní nastavení nano Jirafeau/lib/config.original.php ... $cfg['web_root'] = 'https://filechange.corp.devaine.cz/'; ... $cfg['var_root'] = '/var/www/data/'; ... $cfg['organisation'] = 'Devaine a.s.'; ... $cfg['contactperson'] = 'admin@devaine.cz' ... $cfg['enable_crypt'] = true; ...
Následně nastavíme web na apache:
# /etc/apache2/sites-available/filechange.corp.devaine.cz.conf <VirtualHost *:80> ServerAdmin admin@devaine.cz ServerName filechange.corp.devaine.cz VirtualDocumentRoot /var/www/Jirafeau/ <Directory /var/www/Jirafeau/> AllowOverride All Options -Indexes </Directory> <Directory /var/www/Jirafeau/data> AllowOverride All Options -Indexes order deny,allow deny from all </Directory> CustomLog /var/log/apache2/filechange.corp.devaine.cz-access.log common ErrorLog /var/log/apache2/filechange.corp.devaine.cz-error.log </VirtualHost> <VirtualHost *:443> ServerAdmin admin@devaine.cz ServerName filechange.corp.devaine.cz VirtualDocumentRoot /var/www/Jirafeau/ <Directory /var/www/Jirafeau/> AllowOverride All Options -Indexes </Directory> <Directory /var/www/Jirafeau/data> AllowOverride All Options -Indexes order deny,allow deny from all </Directory> CustomLog /var/log/apache2/filechange.corp.devaine.cz-access.log common ErrorLog /var/log/apache2/filechange.corp.devaine.cz-error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/filechange.corp.devaine.cz.cer SSLCertificateKeyFile /etc/apache2/ssl/filechange.corp.devaine.cz.pem SSLCertificateChainFile /etc/apache2/ssl/DevaineRootCA-G2.crt </VirtualHost>
Povolíme konfiguraci a reloadneme apache:
a2ensite filechange.corp.devaine.cz /etc/init.d/apache2 reload
Otevřeme si web "https://filechange.corp.devaine.cz" a projdeme jednoduchým průvodcem nastavení. Nakonfigurováno jest:
I když je povolené šifrování v konfiguráku, tak nemusí fungovat a na pozadí nemusí šifrovat. Pro šifrování je vyžadován "mcrypt" modul do php. Tento modul je ale už obsolete. Nicméně lze stále používat / nainstalovat ho :
# instalace mcrypt pecl install mcrypt # konfigurace pro php: nano /etc/php/7.4/apache2/conf.d/40-mcrypt.ini extension=mcrypt.so # restart apache /etc/init.d/apache2 restart
To, zda je mcrypt v provozu, lze zjistit přes phpinfo.
To, zda funguje šifrování lze ověřit tak, že admin stažený soubor přes admin menu neotevře, jelikož nemá správnou url, jejíž součástí je dešifrovací klíč.
Protože nastává problém, tak je v plánu se modulu mcrypt zbavit a používat místo něj openssl, viz ticket: #295. Každopádně mcrypt ještě funguje minimálně s php 8.1.
Možná také bude někdy implementováno šifrování na straně klienta, viz #10. V některých případech by to bylo lepší, než na straně serveru. Třeba pokud máte koupenou malou VM s jedním core :).
Na toto je třeba zápis do cronu (pod uživatelem www-data, jelikož pod ním nám běží apache):
crontab -u www-data -e # deaktivujeme emailové notifikace MAILTO="" # m h dom mon dow command */10 * * * * php /var/www/Jirafeau/admin.php clean_expired */15 * * * * php /var/www/Jirafeau/admin.php clean_asyn
Je dostupné na adrese /admin.php
Lze v něm smazat nějaký link, nebo se podívat na přehled nahraných souborů. Soubory ale otevřít nejdou, protože jsou zašifrovány.
1) I když admin menu neumí nic, tak pro jistotu povolíme jen pro skutečného admina. Přidáme si tedy do konfigurace web serveru pravidlo (192.168.1.1 je povolená adresa pro přístup):
<ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(/admin.php).*$ RewriteCond %{REMOTE_ADDR} !=192.168.1.1 # or this ip #RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx # if not fail RewriteRule ^.*$ / [F] </ifmodule>
2) Další problém může být to, že publikujeme ".git", takže šup s ním ven dalším pravidlem:
RedirectMatch 404 /\.git
3) Pokud je služba veřejná, může nám jí kdokoli zahltit. Povolíme tedy upload jen adresám našich poboček a zbytek zakážeme. To se dělá v konfiguraci Jirafeau
nano lib/config.local.php ... 'upload_password' => array ( ), 'upload_ip' => array ('192.168.1.2','192.168.1.2','192.168.1.3'), 'upload_ip_nopassword' => array ('192.168.1.2','192.168.1.2','192.168.1.3'), ...
4) Chybí kontrola uploadovaných souborů. To znamená, že útočník může nahrát třeba eicar soubor. Proti tomu existuje opatření, což je vypnutí náhledů uploadnutých souborů. To se opět dělá v konfiguračním souboru:
'preview' => false,
5) Nesouvisí tolik s bezpečností, ale pokud neprovozujete php nativně pod Apache, a budete uploadovat velké soubory, může se vám vytimeoutovat spojení na fastcgi, či jinde. Je na to tedy třeba myslet.
Apache:
# /etc/apache2/sites-available/filechange.corp.devaine.cz.conf <VirtualHost *:80> ServerAdmin admin@devaine.cz ServerName filechange.corp.devaine.cz VirtualDocumentRoot /var/www/Jirafeau/ # prevent to access to git repository RedirectMatch 404 /\.git <ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(/admin.php).*$ RewriteCond %{REMOTE_ADDR} !=192.168.1.1 # or this ip #RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx # if not fail RewriteRule ^.*$ / [F] </ifmodule> <Directory /var/www/Jirafeau/> AllowOverride All Options -Indexes </Directory> <Directory /var/www/Jirafeau/data> AllowOverride All Options -Indexes order deny,allow deny from all </Directory> CustomLog /var/log/apache2/filechange.corp.devaine.cz-access.log common ErrorLog /var/log/apache2/filechange.corp.devaine.cz-error.log </VirtualHost> <VirtualHost *:443> ServerAdmin admin@devaine.cz ServerName filechange.corp.devaine.cz VirtualDocumentRoot /var/www/Jirafeau/ # prevent to access to git repository RedirectMatch 404 /\.git <ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(/admin.php).*$ RewriteCond %{REMOTE_ADDR} !=192.168.1.1 # or this ip #RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx # if not fail RewriteRule ^.*$ / [F] </ifmodule> <Directory /var/www/Jirafeau/> AllowOverride All Options -Indexes </Directory> <Directory /var/www/Jirafeau/data> AllowOverride All Options -Indexes order deny,allow deny from all </Directory> CustomLog /var/log/apache2/filechange.corp.devaine.cz-access.log common ErrorLog /var/log/apache2/filechange.corp.devaine.cz-error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/filechange.corp.devaine.cz.cer SSLCertificateKeyFile /etc/apache2/ssl/filechange.corp.devaine.cz.pem SSLCertificateChainFile /etc/apache2/ssl/DevaineRootCA-G2.crt </VirtualHost>
Jirafeau config
<?php /* FIX ME */ $cfg = array ( 'web_root' => 'https://filechange.corp.devaine.cz', 'var_root' => '/var/www/Jirafeau/data/', 'lang' => 'auto', 'style' => 'devaine', 'organisation' => ''Devaine a.s.', 'contactperson' => 'admin@devaine.cz', 'title' => '', 'preview' => false, 'enable_crypt' => true, 'link_name_length' => 8, 'upload_password' => array ( ), 'upload_ip' => array ('192.168.1.2','192.168.1.2','192.168.1.3' ), 'upload_ip_nopassword' => array ('192.168.1.2','192.168.1.2','192.168.1.3' ), 'admin_password' => '701hgfhgfhgfhgfhgffdsgf78bc43dfecae8fdsfdsfdsfsd5fewfewfw', 'admin_http_auth_user' => 'admin', 'availabilities' => array ( 'minute' => true, 'hour' => true, 'day' => true, 'week' => true, 'month' => true, 'quarter' => false, 'year' => false, 'none' => false, ), 'availability_default' => 'month', 'maximal_upload_size' => 0, 'proxy_ip' => array ( ), 'installation_done' => true, );
Je to hodně malý projekt, velmi nenáročný a jednoduchý. Pro větší nasazení nebude vhodnů kvůli svým bezpečnostním nedostatkům a kvůli i chybějícím funkcím (např. šifrování na straně klienta). Pro mé nasazení je ale plně vhodný.
Zdar Max
Tiskni
Sdílej:
#
. Není klíč za #?
třeba uživatelé nemají ani přístup na internet).zajímavá nacistická firma