Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
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).
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