Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Byla publikována Výroční zpráva Blender Foundation za rok 2024 (pdf).
Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Ve stručnosti si pro začátek řekněme, co je to Bayesovský filtr, jak funguje a proč je pro nás tak zajímavý. Bayesovský filtr vypočítává pravděpodobnost toho, jestli je daný mail spam nebo ne. Hlavní podstatou je určování pravděpodobnosti klíčových slov, jejichž průměr určí výslednou hodnotu, tj. jaká je šance, že celý mail je spam. Výhodou oproti ostatním filtrům je především to, že se stále učí z nových došlých mailů, které jsou ručně nebo automaticky označovány jako spam a tím se neustále rozrůstá databáze, podle které je možné odhadovat pravděpodobnost nevyžádané pošty.
Ve skutečnosti existuje více variací Bayesovského filtru a pravděpodobně každá implementace má své výhody. Nicméně všechny stojí na výše popsaném základním principu. My se dnes podíváme na dva programy, kde je tento filtr využit. První je desktopové řešení a tím je emailový klient oblíbeného prohlížeče Mozilla, druhý je naopak serverové řešení SpamAssassin hodící se především pro spojení s mailserverem.
V Mozille funguje antispamová ochrana velmi jednoduše. Stačí každý nevyžádaný příchozí email označit jako "Junk" ("Nevyžádaná") a Mozilla si příště bude pamatovat, že takový a jemu podobné má rovnou zahazovat a to buď do složky "Junk", nebo jinam dle nastaveni. Pravidla pro označování mailů jako spamu si Mozilla vytváří právě na základě Bayesovského filtru, z čehož vyplývá, že čím více budeme mít jak vyžádané, tak nevyžádané (a řádně označené) pošty, tím přesnější filtr bude. Už při menším počtu začne filtr celkem slušně fungovat, ale pro správnou funkci je zapotřebí relativně velké množství vzorků, takže minimálně zpočátku není dobré slepě věřit, že vše, co skončí ve složce "Junk", je opravdu jen spam. Proto je lepší ji čas od času zkontrolovat.
Pro zprovoznění správné JunkMail funkce je třeba ji nějak nastavit. Provedeme to ve složce Tools/Junk Mail Controls (Nástroje/Nastavení nevyžádané pošty). Nastavují se zde účty, na které se bude filtr aplikovat, také "White Lists", které budou obsahovat buď adresy z osobního adresáře nebo z posbíraných adres. Je také samozřejmě možné celou kontrolu povolit nebo zakázat. Dále zde najdeme, jakým způsobem se má nakládat právě s poštou označenou jako "Junk". Pro každý účet je možné nechtěnou poštu přesunout do složky "Junk", nebo je možné spam ze všech účtů shromažďovat do jediné složky. Je také možné nastavit, za jak dlouho se mají "junkmaily" ze složek odstranit, eventuálně je možné je odstraňovat rovnou. Dále je možné zapnout/vypnout logování.
Ještě pro doplnění je třeba říci, že v Mozille-ThunderBird (samostatný email klient) je nastavení malinko odlišné. Celé nastavení je rozděleno do tří záložek - pravděpodobně pro budoucí rozšíření. Na první záložce je navíc položka pro "očištění" HTML spamu. Dále například na záložce "Adaptive Filters" je možné službu pouze zapnout/vypnout. Předpokládám, že v budoucnu bude možné nějaké další nastavení. Poslední záložkou je "Black Lists", kde asi bude možné nastavovat známé "černé listiny", ale tato možnost zatím nebyla v Mozille ThunderBird 0.1a aktivována.
SpamAssassin je perlový program, takže nutným předpokladem je mít nainstalován Perl. Jako další je potřeba mít následující perl moduly:
File::Spec, Pod::Usage, HTML::Parser, Sys::Syslog .
|
Pod "rootem" lze všechny nainstalovat pomocí příkazu:
perl -MCPAN -e 'Modul::Name' .
|
Bez práv "roota" je to o něco složitější, nicméně to taky jde.
Ale přidávat tyto moduly je nutné pouze pokud se SpamAssassin instaluje ze zdrojového kódu. U ostatních způsobů by se měly nainstalovat samy.
Nainstalovat SpamAssasin je možné mnoha způsoby. Download oficiálních verzí je k dispozici na zde nebo mirror zde.
V nejnovějších distribucích RedHat, Mandrake a Debian je SpamAssassin už obsažen, takže je možné jej vybrat již při instalaci systému. Pokud tak neučiníme při instalaci, pak máme k dispozici následující možnosti:
rpm -ivh spamassassin-*.i386.rpm
|
apt-get install spamassassin
|
tar -zxvf Mail-SpamAssassin-*
|
pokud budeme instalovat bez superuživatelských práv pouze do svého domovského adresáře, tak můžeme nahradit třetí řádek následujícím:
perl Makefile.PL PREFIX=~/sausr SYSCONFDIR=~/saetc
|
perl -MCPAN -e shell
|
Jestli se podařilo SpamAssassin nainstalovat správně je možné vyzkoušet příkazem:
/usr/bin/spamassassin < /usr/share/doc/spamassassin-2.55/sample-spam.txt
|
Samozřejmě příkaz v téhle podobě bude fungovat pouze pokud je nainstalována verze 2.55 do standardních adresářů. Jeho výstupem by měl být mail, který ve svých hlavičkách obsahuje následující položky:
X-Spam-Status:
|
V těchto hlavičkách se objeví, jestli je mail označen jako spam, jaké je jeho skóre, verze SpamAssassinu, zpráva a příznak, který by v tomto konkrétním případě měl být 'YES'.
Spustit SpamAssasin je možné z mnoha míst a záleží na našem nastavení systému, který zpracovává poštu. Protože nám ale jde především o nastavení filtrů, ukážu některé jednodušší varianty. Na oficiálních stránkách SpamAssassinu se můžeme dočíst, kde všude ho lze integrovat. Mezi ty zajímavější patří Amavisd-new, MailScanner, Sendmail a další. Všechny nástroje fungují na stejném principu a na některém místě zpracování mailu se SpamAssassin spustí a zapíše do hlaviček výsledek. My si tedy ukážeme zapojení do systému přes Procmail a Postfix.
Ještě je třeba říci, že SpamAssassin může běžet ve dvou módech. Jednak jako démon, který běží na pozadí a jeho klientem je program "spamc", a nebo se vždy spouští celý program "spamassassin". Démona může spouštět pouze uživatel root a to například příkazem /etc/init.d/spamassassin start
. Používání démona by mělo mít výhodu hlavně v rychlosti zpracování.
Toto je velmi jednoduchá záležitost. Pro celosystémové použití (Site-Wide use) do /etc/procmailrc
nebo pouze pro uživatele do ~/.procmailrc
zapíšeme následující:
MAILDIR=$HOME/mail
|
Druhý řádek záleží na našem nastavení. Prostě je to cesta buď ke klientovi "spamc" nebo přímo k programu "spamassassin".
Pro automatickou filtraci můžeme použít další pravidlo, které zprávy označené jako spam uloží do speciální schránky. Pokud to budeme chtít udělat pro všechny uživatele, pak v /etc/procmailrc
, pro jednotlivé uživatele opět do ~/.procmailrc
, nastavíme:
:0
|
SpamAssassin je možné integrovat přímo do Postfixu během několika málo kroků. Pěkný, funkční návod "krok za krokem" je možné nalézt zde. Integrace do Postfixu jsou kroky 3 - 9. Zbytek už je opět filtrace přes procmail, která je už výše zmíněná.
SpamAssassin nabízí velmi širokou škálu nastavení. Systémové nastavení se nalézá v souboru /etc/mail/spamassassin/local.cf
, uživatelské nastavení pak v souboru ~/.spamassassin/user_prefs
. Voleb je opravdu mnoho, jejich seznam je zde. Několik základních si ale představíme.
V témže souboru je možné měnit hodnotu jednotlivých pravidel pomocí direktivy
score SYMBOLIC_TEST_NAME n.nn
|
čímž můžeme výrazně ovlivnit, co se bude a nebude považovat za spam. Symbolická jména testů je možné nalézt v adresáři /usr/share/spamassassin/
, kde jsou v různých souborech popsána všechna pravidla. Tato pravidla se nedoporučuje měnit, protože při upgradu na novější verzi budou přepsána. Jsou také popsána včetně výchozích hodnot zde.
Poslední věc, kterou ještě zmíním, je pomocná aplikace pro vytváření
databáze pro Baeysovský filtr. Tato aplikace se nazývá sa-learn
a najdeme ji v adresáři s nainstalovanými binárkami. Nejjednodušší použití je zhruba takovéto:
/usr/bin/sa-learn --spam --mbox ~/mail/spam
|
Přidá do uživatelské databáze spam ze složky, do které ukládáme spam.
/usr/bin/sa-learn --ham --mbox /var/spool/mail/user_name
|
Přidá do uživatelské databáze ham ("nespam") ze složky, ve které je došlá pošta s nižším než potřebným skóre.
Tak to byl takový zevrubný popis a průvodce instalací SpamAssassinu. Je to opravdu velmi rozsáhlé téma a i když se to třeba nezdá, tak SpamAssassin nabízí mnohem širší možnosti než co jsou výše popsány. Pro vyloženě zvídavé jsou připraveny následující odkazy, oficiální dokumentace, manuálové stránky a samozřejmě také "pan Google" je ochoten kdykoli pomoci.
Razor - uživatelská databáze spamu, založená na faktu, že jeden stejný mail se rozesílá na tisíce adres. V případě, že spam někdo dostane dříve než my, označí jej a odešle do sdílené databáze, máme pak možnost do této databáze nahlédnout a stejný mail případně zamítnout.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
#!/bin/sh #---------------------------------------- # FUNCTIONS #---------------------------------------- function mylog() { MYLOG_CURRENT=`date "+%Y-%m-%d %H:%M:%S"` echo "$MYLOG_ID $MYLOG_CURRENT $1" >> $MYLOG } #---------------------------------------- # PREPARE DIRECTORIES AND VARIABLES #---------------------------------------- MYLOG=/var/log/bogofilter.log MYDIR=/data/scripts/bogowrap MBXS_SPAM=$MYDIR/mbxs_spam MBXS_NOSPAM=$MYDIR/mbxs_nospam export PATH="/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin" export WORDLIST_DIR=$MYDIR/wordlists case "$1" in "-l") #-------------------------------------------- # LEARNING #-------------------------------------------- mkdir $WORDLIST_DIR 2> /dev/null mkdir $WORDLIST_DIR.tmp 2> /dev/null rm -f $WORDLIST_DIR.tmp/*.db 2> /dev/null [ "$2" = "-e" ] || cp -f $WORDLIST_DIR/* $WORDLIST_DIR.tmp/ 2> /dev/null mylog "Bogofilter learning started (prepare)." SPAM_COUNT=`find $MBXS_SPAM -follow | grep -c ""` mylog "Bogofilter learning of $SPAM_COUNT spam messages started." find $MBXS_SPAM -follow | egrep "\.$" | nice -n 10 awk '{system("cat \""$1"\" | \ bogofilter -s -d "ENVIRON["WORDLIST_DIR"]".tmp")}' mylog "Bogofilter learning of $SPAM_COUNT nospam messages started." [ $? -eq 0 ] && find $MBXS_NOSPAM -follow -printf "%TY%Tm%Td %p\n" | egrep "\.$" | sort | \ tail -$SPAM_COUNT | nice -n 10 awk '{system("cat \""$2"\" | \ bogofilter -n -d "ENVIRON["WORDLIST_DIR"]".tmp")}' if [ $? -eq 0 ] then rm -f $WORDLIST_DIR/goodlist.db 2> /dev/null bogoutil -d $WORDLIST_DIR.tmp/goodlist.db | bogoutil -l $WORDLIST_DIR/goodlist.db rm -f $WORDLIST_DIR/spamlist.db 2> /dev/null bogoutil -d $WORDLIST_DIR.tmp/spamlist.db | bogoutil -l $WORDLIST_DIR/spamlist.db fi mylog "Bogofilter learning finished." exit $? ;; "-a") #-------------------------------------------- # ANALYZING #-------------------------------------------- SPAM=No MYFILE=$MYDIR`tempfile` mkdir $SPAM_TREZOR 2> /dev/null cp "$2" "$MYFILE" bogofilter -I "$MYFILE" -O "$2" -p -d $WORDLIST_DIR [ $? -eq 0 ] && SPAM=Yes mylog "Bogofilter analysis of $2 done (X-Bogosity: $SPAM)." rm -f "$MYFILE" ;; *) echo "Syntax : bogowrap [-l [-e]|-aA idea na zaver. Proc vyse uvedeny princip pouzivat pouze na spam? Proc jej nevyuzit i pro bezne zatridovani zprav metodou 'by example'?]" echo "Options : -l ... learn" echo " -a ... analyze message " echo " -e ... learn and emty wordlists, used with -l" exit 0 ;; esac
maps_rbl_domains = relays.ordb.org, bl.spamcop.net, dnsbl.njabl.orgna inych mailserveroch tiez jednoducho nastavitelne. bye