Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Minulý díl naznačil jeden zajímavý problém, který se při kontrole zpráv na různý problematický obsah vyskytl. Doba, kdy byla e-mailová zpráva pouhými několika řádky textu, je dávno pryč. Dnes se elektronickou poštou posílají i věci, ze kterých „otcům zakladatelům“ této technologie možná vstávají hrůzou vlasy na hlavě. Zkrátka podstatná část zpráv má nějakou přílohu, a to často i několik, případně i vnořených do sebe. Asi ještě častěji se zprávy posílají ve více alternativních podobách, typicky holý text a HTML.
Ale to není všechno. Přestože existuje jakýsi standard MIME (Multipurpose Internet Mail Extensions, víceúčelová rozšíření internetové pošty, definice je v RFC 2045, 2046 atd.) který se o tyto věci stará, jeho implementace jsou dost rozmanité, navíc se v praxi často vyskytuje také technologie TNEF (Transport Neutral Encapsulation Format) starající se o přílohy.
Proto je potřeba, aby programy, které se starají o analýzu zpráv, buď samy tyto technologie podporovaly, anebo byly doplněny dalším nástrojem, který formát zpracuje a předloží ke kontrole již zcela nezáludné datové objekty (soubory).
Druhé řešení, tedy použití samostatného nástroje, má výhodu v tom, že pak lze skládat dohromady přesně ty komponenty, které se k danému účelu nejvíce hodí, aniž by podporovaly poměrně složité formáty zpráv. Lze například použít téměř libovolný antispamový a téměř libovolný antivirový program, bez nutnosti zjišťovat, zda si poradí s MIME nebo TNEF.
Speciální nástroj tedy vezme zprávu, rozebere ji na jednotlivé části, případně může ještě rozkládat i vnitřní soubory (pokud jde například o archivy), a výsledek předloží k potřebným kontrolám. Je několik možností, jak to udělat. Například může jít o běžícího démona, který dostává od poštovního serveru (Postfixu) jednotlivé zprávy a ty pak zpracovává. Jiné řešení může spočívat v přímém spouštění programu pro každou zprávu.
Jedním z takových specializovaných programů je amavisd-new. Je to vylepšená verze již nevyvíjeného démona Amavis. amavisd-new je napsán v Perlu, je relativně náročný na paměť, nicméně nabízí široké možnosti, co se týká jeho propojení s kontrolními programy. Bohatě využívá knihovny jazyka Perl a také různé systémové knihovny, proto je škála jeho schopností závislá primárně na tom, co je v systému nainstalováno – samotný program toho podporuje opravdu hodně.
Pro kontrolu zpráv proti spamu je nyní třeba propojit nástroj pro rozebírání zpráv (tedy například amavisd-new) s programem, který zajistí vlastní kontrolu. Nástrojů existuje řada, s různou škálou funkcí a s různou kvalitou. Nicméně nepsaným standardem v této oblasti se stal program Spamassassin.
Spamassassin je součástí (podprojektem) velkého projektu Apache. Je to opět nástroj psaný v jazyce Perl. Obsahuje nepřebernou škálu všemožných testů, které lze (nikoli nutně, záleží na nastavení) pro kontrolu zpráv použít. Patří mezi ně bayesovský test, různé kontroly hlaviček (hlavičky typické pro spam, podezřelé kombinace hlaviček, nekorektní obsah…) i těla (charakteristické konstrukce, spamově typický HTML kód, podivné nakládání s obrázky apod.), prohledávání blacklistů a whitelistů místních i vzdálených, práce s národními specifiky atd.
Kromě vestavěných kontrol lze používat i kontroly připravené pro konkrétní server (administrátorské testy). Existují i sady pravidel, které jsou k dispozici ke stažení a používání. Všechny testy mají ale jedno společného – za splnění testu (zpráva odpovídá kritériím) Spamassassin přidělí určitý počet bodů, kladných, nebo záporných. Podle součtu bodů se pak se zprávou nakládá (viz minulý díl).
Využití bodování sice mírně otupuje některé kontroly a navíc znamená nutnost projít vždy všemi testy (výpočetní náročnost!), přináší ale jednu obrovskou výhodu: Je velmi malá pravděpodobnost (při správném nastavení skoro nulová), že bude zahozena legitimní zpráva. Nastavení prahů pro jednotlivé operace se zprávou je v rukou správce serveru, podobně i případná změna bodového ohodnocení jednotlivých testů.
Viry a jiný malware (škodlivý software) se dnes šíří často právě elektronickou poštou. Proto je žádoucí nebezpečné zprávy na serveru zachytit a zlikvidovat. To lze zařídit propojením „rozebírače zpráv“ s antivirovým programem.
Díky rozebrání zprávy na jednotlivé soubory lze nasadit prakticky jakýkoli antivirový program. Ve světě svobodného softwaru je k dispozici výborný program ClamAV (relativně pomalý, ale jinak kvalitativně srovnatelný s často draze placenými proprietárními antiviry). Kdo ho nechce používat, případně má již k dispozici jiný program, může ho v podstatě bez problémů použít, protože amavisd-new je připraven pro spolupráci s většinou používaných antivirových programů.
Pozor u proprietárních antivirových programů – licence k užití může být vázána na počet schránek nebo jinak omezena. Přestože třeba není licenční omezení vynucováno technickými prostředky, nadlimitní užívání programu je nelegální. Je třeba tedy nějakým způsobem tuto věc ošetřit, aby nemohly nastat nějaké potíže právního charakteru.
Z teoretického pohledu to vypadá hezky, ale teď jde o to, poskládat všechny části dohromady. Vznikne tedy celek složený z programů Postfix, amavisd-new, Spamassassin a ClamAV (na serveru bude samozřejmě i Dovecot, ale ten teď není zajímavý). Jednotlivé programy je nejlépe instalovat z balíčků (například v distribuci Debian jsou všechny uvedené programy k dispozici v hlavním repozitáři). Může se stát, že v balíčcích nejsou aktuální verze (to je problém hlavně u antiviru), potom je třeba zvážit, zda raději riskovat s neaktuální verzí nebo s ručně připravovaným balíčkem (instalace přímo ze zdrojových kódů je ta úplně poslední možnost, je obecně lepší raději vytvářet balíčky).
Následující odstavce vycházejí z verzí (programů amavisd-new, Spamassassin a ClamAV), které jsou aktuálně k dispozici ve standardních repozitářích distribuce Debian Lenny. Pokud máte jinou distribuci nebo chcete používat novější verzi, bude možná potřeba některé věci mírně poupravit.
Popisovaná metoda propojení je založena na tom, že Postfix přijme každou zprávu (samozřejmě pokud ji neodmítne nebo nezahodí na základě nějakého pravidla v konfiguraci), tu předá programu amavisd-new, po kontrole ji zase převezme zpět a dále s ní nakládá, jako kdyby žádná kontrola nebyla.
Funguje to tak, že amavisd-new naslouchá na socketu, přes který mu Postfix předává zprávy, a získává návratový kód (podle kterého určí, zda má případně odeslat notifikaci o nedoručení). Na dalším socketu naslouchá Postfix (další instance služby smtpd
) a přebírá si zkontrolované a případně označkované zprávy zpět. Pro komunikaci lze použít protokol SMTP nebo LMTP.
Pro použití protokolu SMTP se přidají do souboru master.cf
následující řádky (předpokládá se zde, že amavisd-new poběží na portu 10024 a příjem zpět do Postfixu na portu 10025):
smtp-amavis unix – – n – 5 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes 127.0.0.1:10025 inet n – – – – smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
V souboru přibyly dvě služby. První (smtp-amavis
) slouží jako rozhraní pro komunikaci s programem amavisd-new. Běží na unixovém socketu a chová se do určité míry jako SMTP klient, tedy vyzvedne zprávu z fronty a pokusí se ji doručit. Nebude však doručovat nějakému konkrétnímu příjemci, nýbrž ji předá ke kontrole (jak se to zajistí, to se ukáže teprve za malý okamžik – zatím zde ani nikde nefiguruje zmíněné číslo portu 10024).
Jak je vidět z parametrů, lze spustit nanejvýš 5 instancí současně (tím lze limitovat, kolik zpráv se bude současně kontrolovat; vzhledem k poměrně vysokým nárokům amavisd-new i dalších kontrolních programů je dobré se držet raději „při zemi“, pokud nemá počítač dostatek zdrojů – jinak může jít výkon drasticky dolů). Časový limit na dokončení SMTP příkazu DATA je 1200 sekund (to je zcela dostatečné, šlo by nastavit i nižší limit) a jsou vypnuty DNS dotazy (nejsou potřeba).
Druhá služba je určena k přebírání zpráv zpět do Postfixu. Běží na portu 10025 a má řadu specifických parametrů, které mají přednost před parametry v konfiguračním souboru. Cílem je, aby se některé hodnoty nastavily jinak – například jsou zásadně pozměněna přístupová pravidla a hlavně musí být zakázán filtr obsahu (content_filter
), o kterém bude hned vzápětí řeč.
V souboru main.cf jsou změny jen kosmetické. Nový bude pouze tento řádek:
content_filter = smtp-amavis:[127.0.0.1]:10024
Tady se vysvětlují obě výše zmíněné záležitosti. Jedná se přesně o onen parametr content_filter
, který je třeba při zpětném přebírání předefinovat (pokud by tomu tak nebylo, vznikla by nekonečná smyčka). Také se tu objevuje zmíněný port 10024.
Funguje to tak, že když je do fronty vložena zpráva, při vyzvednutí je předána ke kontrole podle parametru content_filter
. K tomu poslouží služba smtp-amavis
spouštěná podle definice v souboru master.cf
, která zprávu obdrží přes unixový socket (s názvem smtp-amavis
) a předá ji programu amavisd-new přes internetový socket 10024. Při předávání zpět do programu Postfix zprávu obdrží speciální instance SMTP serveru, která je nakonfigurována podle definic v souboru master.cf
. Pak už se samozřejmě další kontrola obsahu neprovádí (protože je zakázána) a zpráva se doručuje běžným způsobem, tedy buď lokálně (třeba do úložiště typu Maildir), nebo na vzdálený server.
Program amavisd-new má velmi složitou konfiguraci, naštěstí v běžných případech není třeba se příliš nořit do jejích zákoutí a stačí se pohybovat jen po povrchu. Standardně to vypadá tak, že v adresáři /etc/amavis/conf.d
existuje řada souborů, v nichž jsou různá konfigurační pravidla roztříděná podle určení. Zásadou je nesahat do existujících nastavení a veškeré modifikace dělat samostatně (kvůli lepší orientaci a také proto, aby šly přímo použít změny výchozího nastavení od autora a distributora). Pro tyto účely bývá k dispozici například soubor nazvaný 50-user
; pokud žádný takový není, stačí ho vytvořit. Soubory se zpracovávají podle abecedy, čili nastavení učiněná v dříve zpracovávaném souboru lze předefinovat v souboru pozdějším.
Konfigurační soubor je ve skutečnosti úplně obyčejný zdrojový soubor jazyka Perl. Proto je potřeba zachovávat syntaxi tohoto jazyka. Na začátku každého souboru se uvádí use strict;
– to proto, aby se použil nejpřísnější režim, který zakazuje nebezpečné jazykové konstrukty. Na konci souboru se uvádí 1;
(samozřejmě jednička, nikoli malé „L“), čímž se zajistí návratová hodnota.
Co všechno je potřeba nastavit? Moc toho není. Takto může vypadat příklad nastavení:
use strict; $mydomain = "moje.domena"; $myhostname = "postak.moje.domena"; $MAXLEVELS = 10; $MAXFILES = 1000; $MAX_EXPANSION_QUOTA = 50 * 1048576; $banned_filename_re = new_RE( qr'\.[^./]*\.(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)\.?$'i, qr'.\.(exe|vbs|pif|scr|bat|cmd|com|cpl)$'i, qr'^\.(exe-ms)$', ); 1;
Uvedený soubor má tři části. V první se nastavuje doména a název počítače (podobně jako v main.cf
u Postfixu). Druhá říká, jakým způsobem se mají rozbalovat archivy (max. 10 rekurzí, max. 1000 souborů, max. využitý prostor 50 MB) – je to ochrana proti útokům extrémními archivy, které by jinak spotřebovaly obrovské množství zdrojů. Poslední část je výraz, kterým se definují zakázané přílohy zpráv. V tomto případě jsou zakázány nebezpečné soubory obsahující často e-mailové červy.
Ve výchozí konfiguraci programu amavisd-new bývá obvykle vypnuta antispamová a antivirová kontrola. Je to logické, protože není dopředu jasné, jaký program (zejména v případě virů, protože tam existují spousty použitelných programů) bude nasazen a hlavně zda vůbec. Spustíte-li tedy nyní Postfix a amavisd-new, bude už fungovat kontrola (zprávy se budou předávat, zpracovávat a kontrolovat), ale aktivní budou pouze základní kontroly (podle konfigurace), například ta výše definovaná, blokující zprávy se zakázanými soubory.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
@av_scanners
pro clamav bych jen doplnil, ze jsou jiz jako odkomentovane uvedeny v souboru 15-av_scanners
, ze je neni nutne tedy kamkoliv psat.
smtp-amavis unix – – n – 5 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yespodle dokumentace a nektereho z prnich dilu serialu je v configu master.cf posledni sloupec nazev spustitelneho programu jez provadi sluzbu, v prikladu tedy smtp coz je soucast postfixu, jak podle tohoto nastaveni postfix pozna se ma spustit externi program amavis a ma mu predat zpravu?