V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
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.
Program Spamassassin má vlastní konfiguraci, přesto se při jeho použití přes amavisd-new provádí většina nastavení právě v konfiguraci amavisd-new. Má to své důvody – základní konfigurace pro Spamassassin je globální a použije se vždy, není-li předefinována. amavisd-new však právě některé hodnoty předefinovává a umožňuje tak ponechat výchozí nastavení Spamassassinu pro jiné účely. Není samozřejmě problém nakonfigurovat si jednotlivé parametry u Spamassassinu, často je to dokonce výhodné, pozor však na to, že nastavení jednotlivých parametrů u amavisd-new bude mít přednost.
Opět i zde platí, že mnoho věcí bývá ve výchozím stavu již vhodně nakonfigurováno, a proto do nich není třeba sahat. Něco ale může správce serveru chtít nastavit podle svého. Do konfigurace amavisd-new se tedy přidá například toto:
$sa_spam_subject_tag = "[SPAM] "; $sa_tag_level_deflt = 3.0; $sa_tag2_level_deflt = 5.0; $sa_kill_level_deflt = 8.0; $sa_dsn_cutoff_level = 11.0; $sa_quarantine_cutoff_level = 20.0;
První řádek říká, jakým způsobem se označí předmět zprávy, pokud bude detekována jako spam. Na dalších řádcích jsou pak prahy pro určité akce. První je označení zprávy neviditelnými hlavičkami, dále označení zprávy úpravou předmětu (viz výše), nedoručení zprávy, neodeslání notifikace o stavu doručení a nakonec nevložení do karantény.
„Karanténa“ je zvláštní cíl, do kterého se doručují zprávy, které neprošly kontrolou, ať už z jakýchkoli důvodů (spam, viry, poškozené hlavičky apod.). Mohou tam být i zprávy, které jsou současně doručeny i standardní cestou (typicky to bývá případ poškozených hlaviček). Výchozí metodou je doručování do místního úložiště, obvykle typu Maildir, umístěného například na /var/lib/amavis/virusmails
(buď přímo, nebo v podadresářích). amavisd-new však podporuje řadu dalších metod, například doručení protokoly SMTP či LMTP, předání nějakému spuštěnému programu nebo uložení do databáze. Pomocí nástroje amavisd-release
lze zprávy z karantény vyzvedávat, nicméně to vyžaduje poněkud složitější konfiguraci. Zprávy z karantény lze zpracovávat i mnoha jinými metodami.
Toto ale nestačí, protože je Spamassassin zatím vypnutý. Aby se projevil, je potřeba ho zapnout v konfiguraci amavisd-new:
@bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
Parametr definuje, kdy se se vynechává antispamová kontrola. Ve výchozím nastavení se vynechává vždy, kdežto výše uvedená definice omezí tyto případy na konkrétní situace určené třemi parametry (první je hešová mapa, druhý pole hodnot a třetí řetězec s výrazem). S využitím těchto parametrů lze případně antispamové kontrole zabránit (například pro příjemce, kteří si kontrolu nepřejí nebo pro určitý typ zpráv definovaný regulárním výrazem). Nyní už tedy bude antispamová kontrola fungovat naplno.
Pokud není třeba využívat uvedené tři parametry, lze některý z nich vynechat. Případně lze vynechat všechny tři a jako hodnotu pole bypass_spam_checks_maps
nastavit [0].
Někdy je žádoucí přidat si vlastní pravidla pro Spamassassin nebo změnit bodovou váhu těch stávajících. Možností, jak to realizovat, je více. Tou základní a nejobecnější je využít konfiguraci programu Spamassassin a do jeho souboru (typicky /etc/spamassassin/local.cf
) vložit takováto pravidla:
score FREE_PORN 3.5 header X_MYRULE_CASINO Subject =~ /casino/i score X_MYRULE_CASINO 5 header X_MYRULE_ABCLINUXU From =~ /\babclinuxu.cz\b/i score X_MYRULE_ABCLINUXU -2
První řádek je předefinice bodového ohodnocení pravidla FREE_PORN
(zpráva obsahuje „free porn“), které má výchozí hodnotu 1 bod. Namísto jediné hodnoty lze uvést hodnoty čtyři, a to pro pouze lokální testy, lokální + síťové, lokální + bayesovské a lokální + síťové + bayesovské (použije se hodnota podle režimu, v němž Spamassasin poběží; výchozí je čtvrtá varianta).
Další dvě dvojice řádků přidávají nová pravidla. První pomocí výrazu hledá v předmětu zprávy slovo „casino“ – pokud ho najde, ocení to pěti body. Druhé naopak snižuje o dva body skóre u zpráv, které se tváří (nemusí opravdu být!), že jsou z domény abclinuxu.cz
.
Používání vlastních pravidel a změn bodového hodnocení má význam hlavně v případech, kdy je potřeba přijímat poštu z nějakého mizerně nastaveného serveru nebo klientského programu (například starší verze Bugzilly generovaly nekorektní zprávy). Jednodušší obvykle bývá využít whitelist, ale někdy (například při nekonstantní cestě zpráv) se hodí i použití vlastních pravidel. Jiným případem jsou přívaly úporného spamu určitého typu, které nejsou dostatečně zvládány standardními pravidly ani se zapojením bayesovského filtru. Existují předem připravené sady pravidel, jejich nasazení je ale dobré si pořádně rozmyslet, každý server může být totiž zatěžován výrazně odlišnou škálou spamu.
Bayesovský filtr, aby fungoval skutečně kvalitně, je potřeba „naučit“ na legitimní zprávy a spam. Lze to dělat ručně, s výhodou lze však učení spouštět automaticky (z démona cron
), například každou noc společně s jinými každodenními úlohami. Důležité je, odkud brát zprávy obou skupin.
Legitimní zprávy lze brát z běžných poštovních složek. Optimální z hlediska složení zpráv by bylo brát složky všech uživatelů, jenže těch může být na serveru velmi mnoho, navíc ne každý svědomitě odstraňuje nalezený spam. Proto to lze řešit tak, že se zvolí schránka vhodného uživatele (například přímo správce serveru, pokud používá schránku pro všeobecnou poštu) a učení se spouští na ní.
Podobný problém je se vzorky spamu. Lze použít opět uživatelské složky s nevyžádanou poštou (například složku Junk
) a případně také adresář, do kterého se ukládají závadné zprávy (karanténa). Druhý případ je trochu problematický v tom, že tam mohou být i zcela korektní zprávy, navíc jednotlivé zprávy se obvykle ukládají do karantény komprimované atd.
sa-learn --no-sync --ham /var/mail/virtual/moje.domena/franta/cur sa-learn --sync --spam /var/mail/virtual/moje.domena/franta/.Junk/cur
Výše uvedený příklad ukazuje jednoduché učení podle dvou složek uživatele. Pro legitimní poštu se bere složka doručené pošty (jen ty zprávy, které už zpracoval poštovní klient) uživatele franta, pro spam potom složka Junk stejného uživatele. Všimněte si parametrů příkazu: --no-sync
zakazuje provedení synchronizace, --sync
naopak synchronizaci vynucuje. Spamassassin totiž zaznamenává změny do žurnálu, což je poměrně rychlé, a teprve později je aplikuje přímo do databáze (to je pomalé). Proto je lepší, pokud se provádí více operací s databází, synchronizaci provést až nakonec. Výchozí hodnota (tedy zda se synchronizace provede) je nastavena v konfiguraci, uvedené příkazy zajistí požadované chování bez ohledu na aktuální nastavení.
Podrobné informace o učení bayesovského filtru najdete v manuálu sa-learn(1)
. Dozvíte se tam také, jak databázi zálohovat a obnovovat (dobré pro přesun na jiný server) nebo jaká paradigmata lze pro učení použít a co to přináší.
Ochrana proti spamu je již připravena, to však neplatí pro ochranu proti virům. I pokud je již nainstalován antivirový program (v tomto případě ClamAV), zatím se žádné kontroly neprovádějí. Něco je potřeba (nebo je to vhodné) nastavit přímo u programu, hlavně se ale musí kontrolování zapnout u programu amavisd-new.
ClamAV se skládá ze tří hlavních komponent – skenovacího démona (a související konzolové utility), aktualizačního démona a konzolového programu. Pro účely kontroly pošty jsou důležité první dvě komponenty (třetí jen v rámci záložního mechanismu, viz dále). Skenovací démon se konfiguruje souborem umístěným typicky v /etc/clamav/clamd.conf
. Antivirový démon si toto nastavení při startu načte a pracuje podle něj.
Konfigurace bývá standardně připravena v distribučním balíčku, obvykle není potřeba nic moc měnit. Manuálová stránka clamd.conf(5)
obsahuje informace o tom, co lze jak nastavit. Řada parametrů se vztahuje k běžným souborovým kontrolám, některé ale mají význam i pro poštu. Zvlášť se to týká volby MailFollowURLs
, která na jednu stranu pomůže odhalit zákeřné odkazy vložené do zpráv, současně ale vystavuje server riziku DOS útoku (pokud bude ve zprávě odkazů velmi mnoho, server tím bude hodně zatížen a v závislosti na jeho výkonu a nastavení může z hlediska přenosu zpráv úplně zkolabovat).
Druhá komponenta, tedy aktualizační démon (stahuje a instaluje aktualizace virové databáze), se konfiguruje přes soubor /etc/clamav/freshclam.conf
. Také tento soubor bývá plně připraven pro fungování aktualizací. Je však výhodné nastavit si správně zrcadlo pro stahování aktualizací:
DatabaseMirror db.cz.clamav.net DatabaseMirror db.local.clamav.net DatabaseMirror database.clamav.net
Toto nastavení má zvláštní význam. Jednotlivá nastavení se zkoušejí shora dolů. První říká, že se mají použít česká zrcadla (aktuálně jde o pět serverů u různých provozovatelů). Pokud tato selžou, zkusí se druhé nastavení, které pomocí DNS serverů s GeoIP databází vrátí IP adresy nejbližších zrcadel. Poslední řádek je výchozí nastavení. Běžně vedou všechny tři hodnoty na stejnou sadu serverů, nicméně tvůrci programu ClamAV doporučují uvedené pořadí, už proto, že u prvního řádku není třeba provádět dotaz do databáze GeoIP.
Pokud je ClamAV připraven a oba démony správně spouštěny (způsobem specifickým pro distribuci, obvykle pomocí skriptů v rámci runlevelu), zbývá už jen zapnout jeho používání v amavisd-new. Nejprve samotné zapnutí:
@bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
Komu to připadá povědomé, má dobrou paměť, protože něco velmi podobného už tu bylo. Toto nastavení udává, za jakých podmínek se má antivirový test vynechat (podobně, jako se nastavovalo vynechání antispamové kontroly). Ve výchozím stavu se vynechává vždy, uvedená definice umožňuje použít opět stejné tři způsoby specifikace případů, kdy se kontrola vynechává (čili lze znovu jednu či více metod odstranit). Konfigurační nastavení se samozřejmě zapíše do příslušného souboru v /etc/amavis/conf.d
, tedy například do 50-user
.
Protože ale amavisd-new počítá se širokou škálou různých antivirových programů, potřebuje ještě vědět, jak konkrétně s programem ClamAV komunikovat. K tomu slouží další nastavení:
@av_scanners = ( ['ClamAV-clamd', \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"], qr/\bOK$/, qr/\bFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ] ); @av_scanners_backup = ( ['ClamAV-clamscan', 'clamscan', "--stdout --disable-summary -r --tempdir=$TEMPBASE {}", [0], qr/:.*\sFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ] );
V uvedeném konfiguračním fragmentu se nastavují dva parametry (mající podobu pole, byť zde jen o jediném prvku; obecně jich mohou mít víc). První, av_scanners
, je nastavení základního skeneru – ten se použije jako primární. Pole konkrétního skeneru obsahuje vždy identifikaci, program nebo komunikační metodu, parametry pro spuštění (resp. komunikační parametry), hodnotu pro „čistý“ soubor, hodnotu pro infikovaný soubor a hodnotu pro infikovaný soubor v archivu.
Pokud selže použití základního skeneru, uchýlí se amavisd-new k použití skeneru záložního, tedy podle av_scanners_backup
. Syntaxe zápisu je stejná. V tomto případě je jako záložní skener použita konzolová verze skeneru ClamAV nazvaná clamscan
. Tento záložní skener je výrazně pomalejší (řádově, protože musí pokaždé načíst celou virovou databázi), ale umožňuje provádět kontrolu i v případě, že jsou s démonem nějaké potíže.
Balíčky s programem amavisd-new obsahují předem připravenou konfiguraci pro mnoho antivirových programů. Jsou obvykle v jediném souboru, jako jedno velké pole, ovšem s tím, že jsou volby pro jednotlivé programy zakomentovány. Lze je buď odkomentovat a tak povolit (pokud by nebyl vhodný program již odkomentován jako výchozí, což ClamAV standardně bývá, proto není žádný další zásah potřeba), anebo si potřebnou část překopírovat do samostatného souboru (což je lepší, protože lze původní soubor hladce aktualizovat).
Pozor na to, aby měl amavisd-new právo komunikovat přes místní socket (například /var/run/clamav/clamd.ctl
) s démonem clamd
! I po instalaci jednotlivých programů z distribučních balíčků nemusí být práva nastavena správně (a třeba v distribuci Debian Lenny nejsou). Možností řešení je více, běžným je přidání uživatele, pod nímž běží clamd
(např. uživatel clamav
), do skupiny používané démonem amavisd-new (např. amavis
).
Po provedení všech uvedených nastavení by měl být výsledkem plně funkční systém, který provádí antispamovou a antivirovou kontrolu procházejících zpráv. Vzhledem ke složitosti každé z komponent není bohužel možné se jim jednotlivě detailně věnovat, nicméně kdo by potřeboval řešit něco specifického, může zalistovat v manuálových stránkách, kde je většina důležitých informací obsažena.
V následujícím dílu seriálu se prostor pro spammery ještě dále zmenší. Na scénu totiž vstoupí další metoda, vychvalovaná i proklínaná: greylisting. Ke slovu se dostane ještě jedna věc, a sice oddělení komunikace mezi servery vzájemně a mezi servery a klienty. Přestože totiž v praxi drtivě převažuje společné řešení na portu 25, architekti systémů elektronické pošty si to představovali trochu jinak – sice o něco složitěji, zato ale s různými výhodami.
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?