<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux Tipps | SYN-FLUT.de</title>
	<atom:link href="https://www.syn-flut.de/tipps/linux/feed" rel="self" type="application/rss+xml" />
	<link>https://www.syn-flut.de/tipps/linux</link>
	<description>ein Blog über Linux, Open Source, Netzwerk, UC und mehr...</description>
	<lastBuildDate>Tue, 12 Dec 2023 13:59:54 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>https://www.syn-flut.de/wp-content/uploads/2016/03/cropped-Favicon-1-32x32.png</url>
	<title>Linux Tipps | SYN-FLUT.de</title>
	<link>https://www.syn-flut.de/tipps/linux</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress Seiten beschleunigen</title>
		<link>https://www.syn-flut.de/wordpress-seiten-beschleunigen</link>
					<comments>https://www.syn-flut.de/wordpress-seiten-beschleunigen#respond</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Thu, 24 Aug 2023 15:19:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Webserver]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=382</guid>

					<description><![CDATA[<p>Neulich hatte ich die Gelegenheit, mich mal wieder intensiv mit WordPress auseinanderzusetzen, insbesondere im Bereich Performance-Optimierung. Denn eines hat sich über die Jahre nicht verändert: WordPress läuft nach der Installation zunächst relativ träge. Dabei ist es für eine &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/wordpress-seiten-beschleunigen" class="more-link">Continue reading<span class="screen-reader-text"> "WordPress Seiten beschleunigen"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/wordpress-seiten-beschleunigen">WordPress Seiten beschleunigen</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Neulich hatte ich die Gelegenheit, mich mal wieder intensiv mit WordPress auseinanderzusetzen, insbesondere im Bereich Performance-Optimierung.</p>



<p>Denn eines hat sich über die Jahre nicht verändert: WordPress läuft nach der Installation zunächst relativ träge. Dabei ist es für eine gute Nutzererfahrung und auch für Google wichtig, dass die Seite schnell lädt.</p>



<p>Zum Glück gibt es jedoch bewährte Methoden und Tipps, mit denen man seiner Webseite den nötigen Turbo-Boost verpassen kann. In diesem Blogbeitrag möchte ich euch zeigen, wie ihr eure WordPress Seite schneller machen könnt.</p>
<p><span id="more-382"></span></p>


<a class="wp-block-read-more" href="https://www.syn-flut.de/wordpress-seiten-beschleunigen" target="_self">Weiterlesen<span class="screen-reader-text">: WordPress Seiten beschleunigen</span></a>


<h2 class="wp-block-heading">Verwendet nginx statt Apache</h2>



<p>Ganz ehrlich: Ich bin mit Apache &#8220;groß geworden&#8221; und die Konfiguration dessen geht mir leicht von der Hand. Trotzdem muss ich ehrlich zugeben, dass der Webserver nicht der schnellste ist. Ich habe daher bei meinem neuen Projekt von Anfang an auf nginx gesetzt und dies alleine machte das zu dem Zeitpunkt noch jungfräuliche WordPress schon super schnell.</p>



<p>Es gibt auch zahlreiche Benchmark-Ergebnisse dazu, z.B. <a href="https://cyberpanel.net/blog/apache-vs-nginx/">hier auf cyberpanel.net</a> wird sehr ausführlich darüber berichtet.</p>





<h2 class="wp-block-heading">Verwendet ein gutes Caching-Plugin</h2>



<p>Ein Caching-Plugin rendert die dynamische Webseite vor und speichert sie als statisches HTML ab, sodass der Webserver sie einfach ausliefern kann. Dies kann einen riesen Unterschied machen.</p>



<p>Ich habe mir alle verfügbaren Caching-Plugins angesehen und finde <a href="https://wordpress.org/plugins/wp-fastest-cache/">WP Fastest Cache</a> mit Abstand am besten. Es ist sehr einfach zu konfigurieren und hat die Ladezeiten gefühlt um 90% reduziert.</p>



<p>Die korrekte Funktion kann man mittels einem Kommentar im HTML der Website überprüfen:</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter size-full is-resized"><a href="https://www.syn-flut.de/wp-content/uploads/2023/08/image.png"><img decoding="async" class="wp-image-383" style="width: 582px; height: 60px;" src="https://www.syn-flut.de/wp-content/uploads/2023/08/image.png" alt="" width="582" height="60" srcset="https://www.syn-flut.de/wp-content/uploads/2023/08/image.png 742w, https://www.syn-flut.de/wp-content/uploads/2023/08/image-300x31.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></a></figure></div>


<h2 class="wp-block-heading">Verwendet einen Redis Object Cache</h2>



<p>Das WordPress-Plugin &#8220;<a href="https://wordpress.org/plugins/redis-cache/">Redis Object Cache</a>&#8221; erweitert den standardmäßigen Object Cache und nutzt Redis, um Daten zwischen Anfragen zu speichern. Daher kann dieses Plugin nur genutzt werden, wenn Ihr Redis installiert habt bzw. installieren könnt.</p>



<h4 class="wp-block-heading">Was ist Redis?</h4>



<p><a href="https://redis.io">Redis</a> ist ein Open-Source, in-memory Datenstrukturspeicher, der als Datenbank, Cache und Message Broker verwendet werden kann. Da sämtliche Daten im RAM liegen, ist er wahnsinnig schnell.</p>



<p>Unter Ubuntu 22.04 ist dieser super einfach via</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
apt-get install redis-server
</pre></div>


<p>zu installieren.</p>



<p>Er muss für eine simple lokale Installation nicht weiter konfiguriert werden. Der Dienst lauscht automatisch auf <samp>127.0.0.1:6379</samp> und <samp>::1:6379</samp> &#8211; ist also nur vom Server selbst zu erreichen.</p>



<p>Anschließend kann das WordPress-Plugin installiert und mit der lokalen Redis-Instanz verbunden werden.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.syn-flut.de/wp-content/uploads/2023/08/image-1.png"><img fetchpriority="high" decoding="async" width="401" height="490" class="wp-image-385" src="https://www.syn-flut.de/wp-content/uploads/2023/08/image-1.png" alt="" srcset="https://www.syn-flut.de/wp-content/uploads/2023/08/image-1.png 401w, https://www.syn-flut.de/wp-content/uploads/2023/08/image-1-246x300.png 246w" sizes="(max-width: 401px) 100vw, 401px" /></a></figure></div>


<h2 class="wp-block-heading">Verwendet ein Bild-Kompressions-Plugin</h2>



<p>Es gibt eine Reihe von Plugins, welche alle verwendeten Bilder automatisch richtig komprimieren, sodass nicht unnötig große Daten übertragen werden. Ich habe diesmal <a href="https://wordpress.org/plugins/wp-smushit/">Smush</a> verwendet und nutze aus dem Plugin auch die Lazy-Load Funktion, damit Bilder dynamisch und erst beim Scrollen nachgeladen werden.</p>



<p>&nbsp;</p>



<p>Mit diesen Tipps solltet ihr eure Seite deutlich beschleunigen können. Nach diesen Optimierungen erreiche ich einen PageSpeed Insighs Wert von 96 für den Desktop.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.syn-flut.de/wp-content/uploads/2023/08/image-2.png"><img decoding="async" width="946" height="709" class="wp-image-386" src="https://www.syn-flut.de/wp-content/uploads/2023/08/image-2.png" alt="" srcset="https://www.syn-flut.de/wp-content/uploads/2023/08/image-2.png 946w, https://www.syn-flut.de/wp-content/uploads/2023/08/image-2-300x225.png 300w, https://www.syn-flut.de/wp-content/uploads/2023/08/image-2-768x576.png 768w" sizes="(max-width: 946px) 100vw, 946px" /></a></figure></div><p>Der Beitrag <a href="https://www.syn-flut.de/wordpress-seiten-beschleunigen">WordPress Seiten beschleunigen</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/wordpress-seiten-beschleunigen/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rspamd, das bessere SpamAssassin</title>
		<link>https://www.syn-flut.de/rspamd-das-bessere-spamassassin</link>
					<comments>https://www.syn-flut.de/rspamd-das-bessere-spamassassin#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Sat, 11 May 2019 21:40:22 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[Antispam]]></category>
		<category><![CDATA[rspamd]]></category>
		<category><![CDATA[rspamd vs SpamAssassin]]></category>
		<category><![CDATA[SpamAssassin]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=364</guid>

					<description><![CDATA[<p>Immer wieder hörte ich in letzter Zeit von Rspamd. Zum Beispiel erst neulich in der Freak Show. Im Rahmen eines sowieso bei mir anstehenden Frühjahrsputzes wollte ich es nun auch mal ausprobieren. Soviel vorab: Ich liebe Rspamd und &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/rspamd-das-bessere-spamassassin" class="more-link">Continue reading<span class="screen-reader-text"> "Rspamd, das bessere SpamAssassin"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/rspamd-das-bessere-spamassassin">Rspamd, das bessere SpamAssassin</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Immer wieder hörte ich in letzter Zeit von Rspamd. Zum Beispiel erst neulich in der <a href="https://freakshow.fm/fs217-ueberspezifisches-dementi">Freak Show</a>. Im Rahmen eines sowieso bei mir anstehenden Frühjahrsputzes wollte ich es nun auch mal ausprobieren. Soviel vorab: Ich liebe Rspamd und ich bin ziemlich sicher, dass es den allermeisten Mailserver-Admins ähnlich gehen wird.</p>



<span id="more-364"></span>



<p>Seit etwa 2015 weht frischer Wind im Bereich Open-Source Spamfilter für Linux. Lange Zeit gab es im Prinzip nur SpamAssassin. Eine millionenfach bewährte Software, die zuverlässig ihren Job tut.  Auch ich war <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern">nach einigen Optimierungen</a> damit sehr zufrieden. Dennoch kann ich mir gut vorstellen, dass Rspamd in den nächsten Jahren hier stark Marktanteile übernehmen wird. Warum?</p>



<h2 class="wp-block-heading">Rspamd ist super einfach zu implementieren</h2>



<p>Es integriert sich sehr einfach in viele verschiedene MTAs. Nach der Installation von Rspamd ist in Postfix genau eine Zeile Konfiguration notwendig:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; gutter: false; title: ; notranslate">
smtpd_milters = inet:localhost:11332
</pre></div>


<p>Und schon ist Postfix um einen Spamfilter erweitert. Jedoch nicht <strong>*nur*</strong> um einen Spamfilter:</p>



<h2 class="wp-block-heading">Rspamd ersetzt alles andere</h2>



<p>Früher verwendete ich neben SpamAssassin für die reine Spamfilterung noch Postgrey fürs <a href="https://de.wikipedia.org/wiki/Greylisting">Greylisting</a>, OpenDKIM für das Hinzufügen von <a href="https://de.wikipedia.org/wiki/DomainKeys">DKIM-Signaturen</a> und Amavis für die Anbindung von Virenscannern an Postfix.</p>



<p>All das kann Rspamd von Haus aus. <a href="https://rspamd.com/features.html">Und noch viel mehr.</a></p>



<p>Rspamd wird als <a href="https://howto.lintel.in/what-is-milter/">milter</a> in den MTA integriert, deshalb bekommt Rspamd jeden Status des Mailempfangs mit und kann zu jedem Zeitpunkt manipulativ eingreifen oder dem MTA mitteilen, er möge die Mail temporär (Greylist) oder dauerhaft ablehnen.</p>



<h2 class="wp-block-heading">Rspamd ist die modernere Software</h2>



<p>Der Kern ist in C geschrieben, die Module in Lua. Zusätzlich kann Redis als Key-Value Datenbank im Backend verwendet werden. </p>



<p class="has-background has-very-light-gray-background-color"><strong>Tipp:</strong> Redis sollte auch in jedem Fall als Backend Datenbank verwendet werden, sonst bleiben viele Features (z.B. Greylisting, Rate Limiting, Neuronales Netzwerk, u.v.m) deaktiviert. Ich schreibe demnächst hier einen Beitrag, wie eine Rspamd Installation um Redis erweitert werden kann. Dadurch kann die Rspamd Erkennungsrate wesentlich verbessert werden.</p>



<p>Außerdem bringt es ein schickes Webinterface mit vielen nützlichen Statistiken mit.</p>



<p>Die Entwickler arbeiten stark an der Weiterentwicklung von Rspamd. Es wird immer nur die aktuellste Version unterstützt. Außerdem wollen die Entwickler Anpassungen durch die Linux-Distributionen vermeiden. Die Installation erfolgt üblicherweise über ein 3rd-Party-Repository direkt von Rspamd, sodass automatisch immer die aktuellste Version installiert ist. </p>



<h2 class="wp-block-heading">Rspamd ist schnell</h2>



<p>Laut der offiziellen Webseite wurde Rspamd von Anfang an auf Geschwindigkeit hin optimiert und benötigt nur ein Bruchteil der Ressourcen im Vergleich zu SpamAssassin. Das ist für mich persönlich jedoch weniger wichtig, so viele Mails gehen bei meinen Servern nicht durch, als das ich hier ein Unterschied merken würde.</p>



<h2 class="wp-block-heading">Rspamd filtert überragend</h2>



<p>Nach meiner Migration zu Rspamd vor circa einen Monat kam bis heute tatsächlich keine einzige Spam-Mail mehr durch. Auf die Konfiguration gehe ich im nächsten Artikel näher ein.</p>



<h2 class="wp-block-heading">Rspamd wird immer bekannter</h2>



<p>Aktuell ist die Software noch etwas unbekannt. Sie hat z.B. noch keinen Wikipedia-Artikel. Dennoch merke ich einen starken Zulauf, vor allem in den letzten zwei Jahren. Zum Beispiel berichtete kürzlich die <a href="https://freakshow.fm/fs217-ueberspezifisches-dementi">Freak Show</a> darüber. Außerdem verwendet Christoph Haas in seinem bekannten und seit vielen Jahren bewährtem Mailserver-Tutorial <a href="https://workaround.org/ispmail/stretch">ISPMail</a> nun ebenfalls Rspamd. Selbiges macht auch Thomas Leister im nicht weniger guten <a href="https://thomas-leister.de/mailserver-debian-stretch/">Tutorial von ihm</a>. Deutlich wird der Trend auch auf Google Trends:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="540" src="https://www.syn-flut.de/wp-content/uploads/2019/05/image-5-1024x540.png" alt="" class="wp-image-368" srcset="https://www.syn-flut.de/wp-content/uploads/2019/05/image-5-1024x540.png 1024w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-5-300x158.png 300w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-5-768x405.png 768w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-5.png 1438w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Weitere Informationen</h2>



<p>Findet ihr neben dem offiziellen <a href="https://rspamd.com/doc/quickstart.html">Quick-Start-Guide</a> auch in einer sehr guten Präsentation von <a href="https://www.heinlein-support.de/sites/default/files/Rspamd_und_Mailinfrastruktur_Heinlein-Support_2018.pdf">Heinlein Support</a>.</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/rspamd-das-bessere-spamassassin">Rspamd, das bessere SpamAssassin</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/rspamd-das-bessere-spamassassin/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>SpamAssassin auf Plesk-Servern ideal einstellen</title>
		<link>https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen</link>
					<comments>https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Wed, 08 May 2019 21:15:23 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[Antispam]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[SpamAssassin]]></category>
		<category><![CDATA[Ubuntu 16.04]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=344</guid>

					<description><![CDATA[<p>Vor Kurzem durfte ich mich mal wieder mit Servern beschäftigen, die mittels Plesk gemanaged werden. Plesk verwendet zur Spamfilterung ebenfalls SpamAssassin. Die Standardkonfiguration kann hier durchaus Optimiert werden, denn die Erkennungsrate von Spam ist bei Plesk Servern erst &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen" class="more-link">Continue reading<span class="screen-reader-text"> "SpamAssassin auf Plesk-Servern ideal einstellen"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen">SpamAssassin auf Plesk-Servern ideal einstellen</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Vor Kurzem durfte ich mich mal wieder mit Servern beschäftigen, die mittels <a href="https://de.wikipedia.org/wiki/Plesk">Plesk</a> gemanaged werden. Plesk verwendet zur Spamfilterung ebenfalls SpamAssassin. Die Standardkonfiguration kann hier durchaus Optimiert werden, denn die Erkennungsrate von Spam ist bei Plesk Servern erst mal recht gering. Doch der Reihe nach:</p>



<span id="more-344"></span>



<p>Die meisten Tipps meines Artikels &#8220;<a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern">SpamAssassin Erkennungsrate (deutlich) verbessern</a>&#8221; sind auch für Plesk-Server interessant. Bei einigen Details muss man jedoch aufpassen, da Plesk gerne Konfigurationsdateien überschreibt und auch &#8220;Eigenkonsktrukte&#8221; einbaut. So ist z.B. der LDA (Local Delivery Agent) meines Wissens nach eine Eigenentwicklung von Plesk. Mit folgenden Maßnahmen habe ich gute Ergebnisse erzielt:</p>



<h2 class="wp-block-heading">Verwendet einen lokalen Resolver</h2>



<p>Wie ich bereits im Hauptartikel  &#8220;<a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern">SpamAssassin Erkennungsrate (deutlich) verbessern</a>&#8221; näher erklärt habe, ist der wichtigste Schritt, einen lokalen DNS-Resolver zu verwenden. Die voreingestellten DNS-Server sind häufig bei vielen <a href="https://de.wikipedia.org/wiki/DNS-based_Blackhole_List">DNSBLs</a> auf der Blacklist. Deshalb klappen viele Checks von SpamAssassin nicht und die Erkennungsrate von Spam lässt deshalb zu Wünschen übrig. Bei Ubuntu 16.04 reicht es aus, <a href="https://en.wikipedia.org/wiki/Unbound_(DNS_server)">unbound </a>zu installieren und diesen anschließend in der resolv.conf einzutragen.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
apt update 
apt install unbound
nano /etc/resolv.conf
  # vorhandene DNS-Server auskommentieren
  # nameserver x.x.x.x
  # nameserver y.y.y.y

  # eigenen DNS-Resolver eintragen
  nameserver 127.0.0.1
</pre></div>


<p>Mehr sollte nicht nötig sein.  Ich halte übrigens nichts davon, die zuvor eingestellten Nameserver weiterhin als &#8220;Backup&#8221; eingetragen zu lassen. Soweit mir bekannt schickt Linux DNS-Requests immer an alle DNS-Server gleichzeitig und verwendet dann die Antwort, die am schnellsten eingetroffen ist. Damit schießt man sich mitunter ins eigene Knie, wenn die externen Server Einträge bereits im Cache haben, die der lokale Unbound erst noch auflösen muss.</p>



<p><strong>Zusatztipp:</strong> Bei OpenVZ-Basierten Servern wird die Datei /etc/resolv.conf bei jedem Boot mit der vom Provider gesetzten Standardkonfiguration überschrieben. Der Fehler passiert schnell und bleibt häufig unbemerkt. Bis auf den Umstand, dass noch immer viel Spam durchkommt. Im Zweifel Server durchbooten und prüfen, ob die Datei durch den Boot modifiziert wurde.  </p>



<p>Abhilfe schafft hier das Sperren der Datei, sodass noch nicht mal mehr Root Schreibzugriff hat:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
chattr +i /etc/resolv.conf
</pre></div>


<p>Falls man die Datei irgendwann wieder bearbeiten möchte, muss man sie zuvor mit dem Flag -i wieder entsperren.</p>



<p>Ich habe die Erfahrung gemacht, dass Plesk-basierte Server manchmal von Haus aus einen Bind9 DNS Server installiert haben, der bereits korrekt konfiguriert ist. Auch, wenn in den Service-Einstellungen von Plesk der &#8220;DNS-Service&#8221; deaktiviert ist. In einem Fall war der Service jedoch nach einem Neustart nicht mehr verfügbar. Deshalb habe ich mich lieber nicht drauf verlassen und Bind9 kurzerhand deaktiviert:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
netstat -tulpen | grep :53 #check, ob ein Daemon auf Port 53 lauscht. Falls es named (Bind9) ist:
systemctl stop bind9.service
systemctl disable bind9
</pre></div>


<h2 class="wp-block-heading">Verwendet Pyzor und Razor</h2>



<p>Auch hier ist die Konfiguration nahezu identisch mit meiner Vorgehensweise aus dem <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern#Verwendet_Pyzor_und_Razor">Hauptartikel</a>. Deswegen liste ich hier nur kurz die Kommandos für Ubuntu 16.04 auf:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
# Zunächst installieren:
apt install pyzor razor

# Pyzor und Razor initialisieren:
pyzor --homedir /etc/mail/spamassassin discover
mkdir /etc/spamassassin/.razor
sudo razor-admin -home=/etc/spamassassin/.razor -register
sudo razor-admin -home=/etc/spamassassin/.razor -create
sudo razor-admin -home=/etc/spamassassin/.razor -discover

# Anpassungen in einer neuen Datei vornehmen.
# Wichtig: nicht in /etc/spamassassin/local.cf eintragen (wie in meinem Hauptbeitrag gezeigt)
# da diese Datei bei Plesk-Updates überschrieben werden könnte.

nano /etc/spamassassin/99_pyzor_razor.cf
	use_pyzor 1
	pyzor_options --homedir /etc/mail/spamassassin
	pyzor_path /usr/bin/pyzor
	use_razor2 1
	razor_config /etc/mail/spamassassin/.razor/razor-agent.conf

    # Anpassung der Scores, wie ich ebenfalls im Hauptartikel erläutere
	score RCVD_IN_BL_SPAMCOP_NET 0 5.246 0 5.347
	score RCVD_IN_BRBL_LASTEXT 0 5.246 0 5.347
	score URIBL_BLACK 0 5.7 0 5.7
	score URIBL_WS_SURBL 0 2.659 0 2.608
	score URIBL_MW_SURBL 0 2.263 0 2.263
	score URIBL_CR_SURBL 0 2.263 0 2.263
	score URIBL_GREY 0 2.084 0 1.424
	score URIBL_DBL_SPAM    0 4.5 0 4.5
	score URIBL_DBL_PHISH   0 4.5 0 4.5
	score URIBL_DBL_MALWARE 0 4.5 0 4.5
	score URIBL_DBL_BOTNETCC 0 4.5 0 4.5
	score URIBL_DBL_ABUSE_SPAM 0 4.0 0 4.0
	score URIBL_DBL_ABUSE_PHISH 0 4.5 0 4.5
	score URIBL_DBL_ABUSE_MALW  0 4.5 0 4.5
	score URIBL_DBL_ABUSE_BOTCC 0 4.5 0 4.5
</pre></div>


<h2 class="wp-block-heading">Installiert das extremeshok-Plugin nach</h2>



<p>Auch hier zeige ich nur die Kommandos und verweise auf den <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern#Verwendet_zusaetzliche_Plugins">Hauptartikel</a>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
cd /tmp
wget https://github.com/extremeshok/spamassassin-extremeshok_fromreplyto/archive/1.3.1.tar.gz
tar -zxvf 1.3.1.tar.gz
cd spamassassin-extremeshok_fromreplyto-1.3.1/
mkdir /etc/mail/spamassassin/plugins/
cp plugins/* /etc/mail/spamassassin/plugins/
cp 01_extremeshok_fromreplyto.cf /etc/mail/spamassassin
systemctl restart spamassassin.service
</pre></div>


<h2 class="wp-block-heading">Verwendet zusätzliche Regeln</h2>



<p>Um die Regeln von Heinlein Support nachzuinstallieren, habe ich auf Basis des original Cron-Scripts eine Variante dafür gebastelt. Dieses Script kann auch zur initialen Installation verwendet werden. Wenn es unter /etc/cron.daily liegt und ausführbar ist, führt es Ubuntu ab sofort selbständig aus.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
nano /etc/cron.daily/61sa-update-heinlein

	#!/bin/bash

	sa_update()
	{
	        /usr/bin/sa-update --nogpg --channel spamassassin.heinlein-support.de
	        local rc=&quot;$?&quot;
	        case $rc in
	                # Only restart spamd if sa-update returns 0, meaning it updated the rules
	                0) env PATH=/opt/psa/admin/sbin:/usr/local/psa/admin/sbin:$PATH spammng --condrestart ;;
	                # If sa-update returns 1 then there are no updates
	                1) exit 0 ;;
	        esac
	        return $rc
	}

	sa_update &gt;&gt; /var/log/sa-update.log 2&gt;&amp;1
	exit 0

# Datei ausführbar machen
chmod +x /etc/cron.daily/61sa-update-heinlein

# Einmal händisch ausführen, sodass die Regeln heruntergeladen werden
/etc/cron.daily/61sa-update-heinlein

# Und zum Schluss SpamAssassin durchstarten.
systemctl restart spamassassin.service
</pre></div>


<h2 class="wp-block-heading">Lasst Plesk SpamAssassin trainieren</h2>



<p>Plesk liefert praktischerweise eine eigene Funktion mit, die den SpamAssassin Bayes-Filter anhand der sich bereits in den Mailboxen befindlichen Mails trainiert. Dabei werden alle gelesenen Mails im Posteingang als &#8220;Ham&#8221; gelernt, alle Mails im Spam-Ordner hingegen als &#8220;Spam&#8221;. Die Besonderheit der Funktion ist, dass jede Mailbox seine eigene Bayes-Datenbank benutzt. Das lässt sich meines Wissens auch nicht (ohne großen Aufwand) ändern. </p>



<p>Ein Userbasiertes Training ist auf der einen Seite super, da es sehr genau ist und keine Probleme durch anderer User Mails entstehen können. Auf der anderen Seite werden für das Training eine Menge Mails benötigt. Diese Mails muss jeder Benutzer selbst im Postfach haben, sonst bleibt der Bayes-Filter für dasjenige Postfach einfach deaktiviert. Ich glaube erst nach 200 gelernten Ham-Mails und zusätzlich 200 gelernten Spam-Mails aktiviert sich das Bayes-Modul.</p>



<p>Laut der (etwas widersprüchlichen) <a href="https://support.plesk.com/hc/en-us/articles/115003117405-How-to-train-SpamAssassin-">Online-Hilfe von Plesk</a> wird das Modul wohl nicht selbständig gestartet, deshalb habe ich vorsichtshalber ein Script unter /etc/cron.daily platziert:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
nano /etc/cron.daily/80-spamtrain
	#!/bin/bash
	echo &quot;spamtrain started at $(date)&quot; &gt;&gt; /var/log/spamtrain.log
	plesk daily ExecuteSpamtrain &gt;&gt; /var/log/spamtrain.log 2&gt;&amp;1
	exit 0

# Datei ausführbar machen
chmod +x /etc/cron.daily/80-spamtrain

# Und einmal händisch laufen lassen
/etc/cron.daily/80-spamtrain
</pre></div>


<h2 class="wp-block-heading">Setzt die max. Mailgröße hoch</h2>



<p>Plesk ist im Standard so eingestellt, dass nur Mails bis zu einer Größe von 256kb überhaupt durch SpamAssassin überprüft werden. Größere Mails werden überhaupt nicht geprüft und landen direkt im Posteingang. Ein gefundenes Fressen für Spam-Mails mit größeren Bildern. </p>



<p>Entlarven kann man solche Mails an den fehlenden SpamAssassin-Zeilen im Mail-Header. Ich habe daher die maximale Dateigröße auf 15MB hochgesetzt, da jede Mail durch SpamAssassin geprüft werden soll, auch wenn das mehr Ressourcen kostet:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
nano /etc/psa/psa.conf
	# folgenden Wert suchen und anpassen, sollte ganz unten in der Datei sein
	SA_MAX_MAIL_SIZE 15728640
</pre></div>


<p>Das waren meine Tipps, um die Spam-Erkennungsrate von SpamAssassin auf Plesk-Servern wesentlich zu steigern. Falls Ihr noch weitere Tipps auf Lager habt, lasst sie mich gerne in den Kommentaren wissen.</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen">SpamAssassin auf Plesk-Servern ideal einstellen</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/spamassassin-auf-plesk-servern-ideal-einstellen/feed</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>QuickTipp: Rahmen statt &#8220;lqqk&#8221; in der PuTTY Shell</title>
		<link>https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell</link>
					<comments>https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell#respond</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Tue, 07 May 2019 22:32:17 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux-Tools]]></category>
		<category><![CDATA[locale]]></category>
		<category><![CDATA[lqqk]]></category>
		<category><![CDATA[ncurses]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[terminal-type string]]></category>
		<category><![CDATA[UTF-8]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=301</guid>

					<description><![CDATA[<p>Viele kennen das Thema, anderen ist es vielleicht noch gar nie aufgefallen: Wenn man sich mittels PuTTY (oder dessen erweiterte Variante: KiTTY) unter Windows auf einen Ubuntu Linux Server verbindet, werden Linien in Programmen üblicherweise nicht als solche &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell" class="more-link">Continue reading<span class="screen-reader-text"> "QuickTipp: Rahmen statt &#8220;lqqk&#8221; in der PuTTY Shell"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell">QuickTipp: Rahmen statt &#8220;lqqk&#8221; in der PuTTY Shell</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Viele kennen das Thema, anderen ist es vielleicht noch gar nie aufgefallen: Wenn man sich mittels PuTTY (oder dessen erweiterte Variante: KiTTY) unter Windows auf einen Ubuntu Linux Server verbindet, werden Linien in Programmen üblicherweise nicht als solche angezeigt, stattdessen werden Buchstaben dafür verwendet. Sichtbar wird das in Programmen, die Rahmen zeichnen: zum Beispiel <a href="https://www.syn-flut.de/logdateien-monitoren-multitail">multitail</a>, tmux oder iftop. So sieht das dann üblicherweise aus:</p>



<span id="more-301"></span>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="605" src="https://www.syn-flut.de/wp-content/uploads/2019/05/image-1024x605.png" alt="" class="wp-image-305" srcset="https://www.syn-flut.de/wp-content/uploads/2019/05/image-1024x605.png 1024w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-300x177.png 300w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-768x454.png 768w, https://www.syn-flut.de/wp-content/uploads/2019/05/image.png 1032w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Der &#8220;Rahmen&#8221; innerhalb von multitail ist kaum sichtbar. Er besteht aus vielen &#8220;lqqk&#8221;, &#8220;qqqq&#8221; und an den Seiten &#8220;x&#8221;.</figcaption></figure></div>



<p>Wenn das passiert, wird ein &#8220;Fallback mode&#8221; verwendet, da auf die korrekten Zeichen nicht zugegriffen werden konnte. Zwei Dinge sind dafür üblicherweise verantwortlich:</p>



<h2 class="wp-block-heading">Putty Zeichensatz und &#8220;terminal-type string&#8221;</h2>



<p>Die Software <a href="https://de.wikipedia.org/wiki/Ncurses">ncurses </a>ist für die Zeichnung von Boxen und Rahmen unter Linux zuständig. Diese wertet den &#8220;terminal-type string&#8221; aus, mit welchem sich der Client verbindet. PuTTY (und auch <a href="https://www.9bis.net/kitty">KiTTY</a>) hat hier aus Kompatibilitätsgründen &#8220;xterm&#8221; eingestellt, das sollte durch &#8220;putty&#8221; ersetzt werden. Ebenso sollte UTF8 als Remote-Zeichensatz eingestellt sein.</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://www.syn-flut.de/wp-content/uploads/2019/05/image-2.png" alt="" class="wp-image-307" width="388" height="381" srcset="https://www.syn-flut.de/wp-content/uploads/2019/05/image-2.png 602w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-2-300x295.png 300w" sizes="(max-width: 388px) 100vw, 388px" /><figcaption>UTF-8 Zeichensatz</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://www.syn-flut.de/wp-content/uploads/2019/05/image-1.png" alt="" class="wp-image-306" width="389" height="382" srcset="https://www.syn-flut.de/wp-content/uploads/2019/05/image-1.png 602w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-1-300x295.png 300w" sizes="(max-width: 389px) 100vw, 389px" /><figcaption>&#8220;putty&#8221; als Terminal-type string</figcaption></figure></div>



<h2 class="wp-block-heading">Zeichensatz auf dem Server korrekt einstellen</h2>



<p>Eventuell ist auch noch der Zeichensatz falsch eingestellt. Überprüft werden kann das mittels </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; gutter: false; title: ; notranslate">
locale
</pre></div>


<p>Beheben lässt sich es mit<br></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
export LC_ALL=en_US.utf8
</pre></div>


<p></p>



<p>Damit diese Einstellung auch bei der nächsten Verbindung noch vorhanden ist, muss sie in die .bashrc eingetragen werden. (Oder .zshrc, falls ihr zsh verwendet.)</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; gutter: false; title: ; notranslate">
echo &quot;export LC_ALL=en_US.utf8&quot; &gt;&gt; ~/.bashrc
</pre></div>


<p>Ab jetzt sollte PuTTY Rahmen ausgeben können:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="631" src="https://www.syn-flut.de/wp-content/uploads/2019/05/image-4-1024x631.png" alt="" class="wp-image-318" srcset="https://www.syn-flut.de/wp-content/uploads/2019/05/image-4-1024x631.png 1024w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-4-300x185.png 300w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-4-768x473.png 768w, https://www.syn-flut.de/wp-content/uploads/2019/05/image-4.png 1055w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Ja, das ist der gleiche Screenshot wie oben &#8211; nur diesmal mit funktionierendem Zeichensatz</figcaption></figure>



<p>Jetzt sollte die Zeichnung von Rahmen fehlerfrei funktionieren.</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell">QuickTipp: Rahmen statt &#8220;lqqk&#8221; in der PuTTY Shell</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/quicktipp-rahmen-statt-lqqk-in-der-putty-shell/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Blogger zu WordPress Migration: so gehts</title>
		<link>https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts</link>
					<comments>https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts#respond</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Mon, 22 Aug 2016 13:40:45 +0000</pubDate>
				<category><![CDATA[Webserver]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=246</guid>

					<description><![CDATA[<p>Viele angehende Blogger fangen zunächst mit einem Blogger/Blogspot Blog an, da dieser schnell aufgesetzt und einigermaßen flexibel ist. So kommt man relativ schnell zum ersten Beitrag. Nach einiger Zeit wünscht man sich aber häufig mehr Kontrolle und mehr Möglichkeiten &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts" class="more-link">Continue reading<span class="screen-reader-text"> "Blogger zu WordPress Migration: so gehts"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts">Blogger zu WordPress Migration: so gehts</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Viele angehende Blogger fangen zunächst mit einem <a href="http://blogger.com">Blogger/Blogspot</a> Blog an, da dieser schnell aufgesetzt und einigermaßen flexibel ist. So kommt man relativ schnell zum ersten Beitrag. Nach einiger Zeit wünscht man sich aber häufig mehr Kontrolle und mehr Möglichkeiten über den eigenen Blog, hier sind bei Blogger naturgemäß schnell die Grenzen gesetzt. Der Quasi-Standard dafür heißt WordPress. Durch die sehr große Verbreitung bietet es ein erhebliches Ökosystem mit Millionen von Themes, Plugins und Tipps&amp;Tricks.<span id="more-246"></span></p>
<p>Vor kurzem habe ich einen Blog von Blogger zu WordPress migriert und möchte hier nun meine Erfahrungen teilen. Ich gehe im Folgenden davon aus, dass bereits eine funktionierende WordPress Installation vorliegt, oder die Migration in die <a href="https://de.wordpress.com/">WordPress-Cloud</a> stattfindet. Eine gute Anleitung, wie WordPress auf eigenem Webspace installiert werden kann, findet sich hier: <a href="http://www.blogaufbau.de/wordpress-installieren-in-5-minuten/" target="_blank">WordPress in 5 Minuten installieren</a></p>
<h2>Backup des aktuellen Blogs</h2>
<p>Damit nichts schief gehen kann, würde ich empfehlen, zunächst ein <a href="https://support.google.com/blogger/answer/41387?hl=de">Backup vom &#8220;Live-Blog&#8221;</a> auf Blogger zu erstellen. Damit kommt man im Falle des Falles jederzeit zum Ursprung zurück.</p>
<h2>Import der Beiträge zu WordPress</h2>
<p>Glücklicherweise gibt es für den Import ein tolles Plugin, welches die Hauptarbeit erledigt: <a href="https://de.wordpress.org/plugins/blogger-importer-extended/">Blogger Importer Extended</a></p>
<ul>
<li>Es importiert sämtliche Beiträge, inklusive Formatierung.</li>
<li>Die Kategorien der einzelnen Beiträge werden ebenfalls richtig übernommen, allerdings im WordPress als Schlagwörter abgelegt. Dies werden wir nachher noch beheben.</li>
<li>Ebenso werden alle statischen Seiten importiert.</li>
<li>Die Kommentare (sogar verschachtelte Antworten) werden perfekt mitgenommen.</li>
<li>Alle Bilder werden importiert und in der WordPress Mediathek abgespeichert.</li>
<li>Sämtliche Blog-Internen Links (von einem Beitrag zum anderen) werden richtig umgeschrieben und übernommen. Dabei spielt es keine Rolle, welche Art von Permalinks im WordPress verwendet wurden.</li>
</ul>
<p>&nbsp;</p>
<p><figure id="attachment_248" aria-describedby="caption-attachment-248" style="width: 760px" class="wp-caption aligncenter"><a href="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1.png"><img loading="lazy" decoding="async" class="wp-image-248 size-large" src="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1-1024x179.png" alt="Zugriffsrechte werden abgefragt" width="760" height="133" srcset="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1-1024x179.png 1024w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1-300x52.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1-768x134.png 768w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-1.png 1126w" sizes="(max-width: 760px) 100vw, 760px" /></a><figcaption id="caption-attachment-248" class="wp-caption-text">Das Plugin frägt nach Rechten, um auf den Blogger-Blog zuzugreifen.</figcaption></figure></p>
<p><figure id="attachment_249" aria-describedby="caption-attachment-249" style="width: 760px" class="wp-caption aligncenter"><a href="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2.png"><img loading="lazy" decoding="async" class="wp-image-249 size-large" src="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2-1024x184.png" alt="Auswahl des Quellblogs" width="760" height="137" srcset="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2-1024x184.png 1024w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2-300x54.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2-768x138.png 768w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-2.png 1126w" sizes="(max-width: 760px) 100vw, 760px" /></a><figcaption id="caption-attachment-249" class="wp-caption-text">Anschließend wird der Quellblog ausgewählt</figcaption></figure></p>
<p><figure id="attachment_250" aria-describedby="caption-attachment-250" style="width: 760px" class="wp-caption aligncenter"><a href="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3.png"><img loading="lazy" decoding="async" class="wp-image-250 size-large" src="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3-1024x250.png" alt="Blogger Importer Extended: Formatierung und Permalinks" width="760" height="186" srcset="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3-1024x250.png 1024w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3-300x73.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3-768x188.png 768w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-3.png 1126w" sizes="(max-width: 760px) 100vw, 760px" /></a><figcaption id="caption-attachment-250" class="wp-caption-text">Hier wird ausgewählt, ob die Formatierung (so gut es geht) erhalten bleiben soll, und ob die aktuellen Permalinks (slugs) weiterverwendet werden sollen.</figcaption></figure></p>
<p><figure id="attachment_251" aria-describedby="caption-attachment-251" style="width: 760px" class="wp-caption aligncenter"><a href="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4.png"><img loading="lazy" decoding="async" class="wp-image-251 size-large" src="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4-1024x311.png" alt="Blogger importer extended: Importvorgang läuft" width="760" height="231" srcset="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4-1024x311.png 1024w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4-300x91.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4-768x233.png 768w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-4.png 1127w" sizes="(max-width: 760px) 100vw, 760px" /></a><figcaption id="caption-attachment-251" class="wp-caption-text">Nun wird importiert!</figcaption></figure></p>
<p><figure id="attachment_252" aria-describedby="caption-attachment-252" style="width: 760px" class="wp-caption aligncenter"><a href="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5.png"><img loading="lazy" decoding="async" class="wp-image-252 size-large" src="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5-1024x358.png" alt="Blogger importer extended: user mapping" width="760" height="266" srcset="https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5-1024x358.png 1024w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5-300x105.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5-768x268.png 768w, https://www.syn-flut.de/wp-content/uploads/2016/08/blogger-importer-extended-5.png 1127w" sizes="(max-width: 760px) 100vw, 760px" /></a><figcaption id="caption-attachment-252" class="wp-caption-text">Hier werden die Benutzer gemappt</figcaption></figure></p>
<p>&nbsp;</p>
<p>Der Prozess klappte bei mir sehr gut. Das Layout passte auch bei den meisten Beiträgen. Allerdings waren jede Menge Styles im HTML der importierten Beiträge. Hier kam ich manchmal nicht drum rum, die Einträge händisch zu optimieren.</p>
<h2>Schlagwörter zu Kategorien konvertieren</h2>
<p>Das Importplugin macht einen super Job, allerdings werden die importierten &#8220;Tags&#8221; zu Schlagwörtern. Ich wollte lieber Kategorien haben, deswegen verwendete ich das Plugin &#8220;<a href="https://de.wordpress.org/plugins/wpcat2tag-importer/">Kategorie-in-Schlagwort-Konverter</a>&#8220;, welches selbsterklärend ist und auch in die andere Richtung funktioniert.</p>
<p>Anschließend sind alle Kategorien erstellt, allerdings noch nicht den Posts zugeordnet. Auch hier helfen wir uns mit einem Plugin: <a href="https://de.wordpress.org/plugins/batchmove/">Batch-Move</a>, welches für alle möglichen Batch-Aufgaben verwendet werden kann. Mit wenigen Klicks sind alle Posts in den entsprechenden Kategorien.</p>
<h2>Weiterleitung vom alten zum neuen Blog</h2>
<p>Wenn der neue WordPress Blog steht und alles importiert wurde, möchte man in der Regel den Besucherstrom und sein Google-Ranking nicht verlieren. Hier bietet sich das Plugin <a href="https://de.wordpress.org/plugins/blogger-301-redirect/">Blogger 301 Redirect</a> an. Es erzeugt ein neues Blogger-Template, welches dann automatisch alle Besucher zum neuen Blog umleitet. Auf den neuen WordPress Blog bleibt das Plugin weiterhin aktiv, um in Echtzeit ein &#8220;Mapping&#8221; zwischen den alten und den neuen Einträgen zu machen. Somit wird wirklich jeder Link, egal ob Beitrag, Kategorie oder Kommentar, perfekt zum neuen Blog weitergeleitet. Weitere Informationen und viele Screenshots hat der <a href="http://techxt.com/blogger-301-redirect-plugin-for-wordpress/">Entwickler auf seiner Website</a> bereitgestellt.</p>
<p>Mit diesen Mitteln habe ich kürzlich von Blogger auf WordPress migriert. Ich hoffe, dass euch die Tipps etwas weiterhelfen!</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts">Blogger zu WordPress Migration: so gehts</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/blogger-zu-wordpress-migration-so-gehts/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mit Postfix SPAM blockieren</title>
		<link>https://www.syn-flut.de/mit-postfix-spam-blockieren</link>
					<comments>https://www.syn-flut.de/mit-postfix-spam-blockieren#respond</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Thu, 21 Apr 2016 09:43:34 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[Antispam]]></category>
		<category><![CDATA[Ubuntu 14.04]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=236</guid>

					<description><![CDATA[<p>Der beste SPAM ist solcher, der gar nicht zugestellt wird. Deswegen macht es Sinn, dass direkt mittels Postfix SPAM blockiert wird. Wenn eine Mail direkt beim Zustellversuch untersucht und ggf. abgelehnt wird, ist man rechtlich auf der sicheren Seite. &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/mit-postfix-spam-blockieren" class="more-link">Continue reading<span class="screen-reader-text"> "Mit Postfix SPAM blockieren"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/mit-postfix-spam-blockieren">Mit Postfix SPAM blockieren</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Der beste SPAM ist solcher, der gar nicht zugestellt wird. Deswegen macht es Sinn, dass direkt mittels Postfix SPAM blockiert wird. Wenn eine Mail direkt beim Zustellversuch untersucht und ggf. abgelehnt wird, ist man rechtlich auf der sicheren Seite. Außerdem werden Ressourcen gespart, indem Tools wie <a href="https://www.syn-flut.de/clamav-erkennungsrate-verbessern" target="_blank">ClamAV</a>, <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern" target="_blank">SpamAssassin</a> und Co. nur auf vorgefilterte Mails losgelassen werden.<span id="more-236"></span></p>
<p>Im Folgenden beschreibe ich, wie bereits mit Postfix Antispam Maßnahmen eingeführt werden können. Dazu habe ich die relevanten Ausschnitte der Postfix Konfigurationsdatei /etc/postfix/main.cf beigefügt. Wichtig ist mir hierbei, dass die unten aufgeführten Einstellungen keineswegs einfach per Copy&amp;Paste übernommen werden sollten. Die Konfiguration funktioniert bei mir sehr gut, trotzdem solltet ihr genau wissen, was ihr tut.</p>
<p>Die Konfiguration wurde unter Ubuntu 14.04 (Postfix 2.11) erstellt und getestet. Seit Postfix 2.10 wird für das (authentifizierte) Relayen von Mails die Konfiguration unter smtpd_relay_restrictions verwendet. In früheren Versionen wurden die Einstellungen unter smtpd_recipient_restrictions verwendet, was manchmal zu komischem Verhalten führte. Weitere Informationen dazu gibt es auf der <a href="http://www.postfix.org/SMTPD_ACCESS_README.html" target="_blank">Postfix Homepage</a>.</p>
<h2>Die Konfiguration</h2>
<pre class="brush: plain; title: ; notranslate">
smtpd_sender_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unknown_sender_domain,
  reject_non_fqdn_sender
smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination,
  reject_unauth_pipelining,
  check_client_access hash:/etc/postfix/client_checks,
  check_sender_access hash:/etc/postfix/sender_checks,
  reject_unknown_helo_hostname,
  reject_invalid_hostname,
  reject_non_fqdn_hostname,
  reject_non_fqdn_recipient,
  permit_dnswl_client list.dnswl.org,
  reject_rbl_client ix.dnsbl.manitu.net,
  reject_rbl_client zen.spamhaus.org,
  reject_rbl_client b.barracudacentral.org,
  reject_rbl_client bl.spamcop.net,
  reject_rbl_client psbl.surriel.com,
  reject_rbl_client noptr.spamrats.com,
  reject_rbl_client dyna.spamrats.com,
  reject_rbl_client dnsbl.sorbs.net
</pre>
<p>&nbsp;</p>
<h2>Die Einstellungen im Detail</h2>
<p>&nbsp;</p>
<h3>smtpd_sender_restrictions</h3>
<p>Hier wird Postfix mitgeteilt, welche Checks während des &#8220;MAIL FROM&#8221; Kommandos auszuführen sind. Alle weiteren Checks werden top-down, also von oben nach unten durchgeführt. Sobald ein Check anschlägt, sei es permit oder reject, wird diese Kette verlassen und keine weiteren Checks werden durchgeführt.</p>
<p>Mittels permit_mynetworks und permit_sasl_authenticated werden Mails von vertrauenswürdigen Netzen und authentifizierten Benutzern in jedem Fall durchgelassen.</p>
<p>Durch die Befehle <a href="http://www.postfix.org/postconf.5.html#reject_unknown_sender_domain" target="_blank">reject_unknown_sender_domain</a> sowie <a href="http://www.postfix.org/postconf.5.html#reject_non_fqdn_sender" target="_blank">reject_non_fqdn_sender</a> wird erstmal geprüft, ob der sendende MTA zumindest die RFC Basics eingehalten hat. Also ob hinter der Domain ein DNS A-Record steckt und ob es einen FQDN gibt.</p>
<p>&nbsp;</p>
<h3>smtpd_recipient_restrictions</h3>
<p>Hier passiert die eigentliche &#8220;Magie&#8221;. Seit Postfix 2.10 und der Einführung der smtpd_relay_restrictions bin auch ich dazu übergegangen, eigentlich alle Checks hier aufzuführen. Genauere Informationen darüber gibt es auf der <a href="http://www.postfix.org/SMTPD_ACCESS_README.html" target="_blank">Postfix Website</a>.</p>
<p>Die Einstellungen <a href="http://www.postfix.org/postconf.5.html#permit_mynetworks" target="_blank">permit_mynetworks</a> und <a href="http://www.postfix.org/postconf.5.html#permit_sasl_authenticated" target="_blank">permit_sasl_authenticated</a> bewirken das Gleiche wie oben. Danach wird es interessanter. Der Punkt <a href="http://www.postfix.org/postconf.5.html#reject_unauth_destination" target="_blank">reject_unauth_destination</a> ist vermutlich der wichtigste Befehl. Er legt fest, dass unauthentifizierte Benutzer nur Mails an die eigenen Domains senden dürfen und somit kein Open Relay entsteht.</p>
<p>&nbsp;</p>
<h4>RFC-Konforme Checks</h4>
<p>Mittels <a href="http://www.postfix.org/postconf.5.html#check_client_access" target="_blank">check_client_access</a> und <a href="http://www.postfix.org/postconf.5.html#check_sender_access" target="_blank">check_sender_access</a> könnten Whitelists erstellt werden. Dies kann hin und wieder nützlich sein, z.B. wenn fremde, legitime Mailserver falsch konfiguriert sind.</p>
<p>Die Punkte <a href="http://www.postfix.org/postconf.5.html#reject_unknown_helo_hostname" target="_blank">reject_unknown_helo_hostname</a> und <a href="http://www.postfix.org/postconf.5.html#reject_invalid_helo_hostname" target="_blank">reject_invalid_hostname</a> prüft, ob der Host im HELO einen (gültigen) DNS A oder MX Record hat. Falls nicht, wird die Mail abgelehnt.</p>
<p>Zu guter Letzt wird mittels <a href="http://www.postfix.org/postconf.5.html#reject_non_fqdn_helo_hostname" target="_blank">reject_non_fqdn_hostname</a> und <a href="http://www.postfix.org/postconf.5.html#reject_non_fqdn_recipient" target="_blank">reject_non_fqdn_recipient</a> noch geprüft, ob die Empfängerdomain im FQDN-Format vorliegt. Also wieder ziemliche &#8220;Basics&#8221;. Trotzdem helfen diese Regeln, schon mal recht viele Mails von schlecht konfigurierten SPAM Mailservern abzulehnen.</p>
<p>&nbsp;</p>
<h4>Whitelist</h4>
<p>Vor den ganzen <a href="https://de.wikipedia.org/wiki/DNS-based_Blackhole_List" target="_blank">DNSBLs</a> habe ich einen Check zur bekannten Whitelist <a href="https://www.dnswl.org/" target="_blank">dnswl.org</a> eingebaut. Falls eine sendende IP dort gelistet ist, durchläuft sie nicht die weiteren Checks der ganzen Blacklists. Dadurch kann ich etwas restriktivere Blacklists verwenden, ohne gleich Gefahr zu laufen, dass zu viele false-positives auftreten könnten. Hin und wieder sind beispielsweise einzelne IPs von United Internet (GMX und Co.) auf der Sorbs Blacklist gelistet. Da GMX aber in der Whitelist gelistet ist, brauche ich mir darüber keine Gedanken zu machen. Ich kann auch jedem Mailserver-Administrator empfehlen, sich dort auf dieser Whitelist einzutragen.</p>
<p>Postfix kann die DNS Whitelist ab Version 2.8 direkt mit dem Kommando <a href="http://www.postfix.org/postconf.5.html#permit_dnswl_client" target="_blank">permit_dnswl_client</a> list.dnswl.org abfragen.</p>
<p>&nbsp;</p>
<h4>Blacklist</h4>
<p>Der Befehl <a href="http://www.postfix.org/postconf.5.html#reject_rbl_client" target="_blank">reject_rbl_client</a> frägt die jeweilige DNS Blacklist ab und lehnt die Mail ab, wenn eine der Blacklists einen gelisteten Eintrag zurückgibt. Ich habe mich für die oben genannten acht Stück entschieden. Sie existieren allesamt relativ lange und waren bisher sehr zuverlässig. Hier sollte trotzdem regelmäßig ein Review stattfinden, denn manche DNSBLs geben, wenn sie eines Tages out-of-service gehen, immer &#8220;listed&#8221; zurück. Folglich würden dann alle Mails abgelehnt werden.</p>
<p>&nbsp;</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/mit-postfix-spam-blockieren">Mit Postfix SPAM blockieren</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/mit-postfix-spam-blockieren/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>mod_pagespeed: Installation und Konfiguration</title>
		<link>https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu</link>
					<comments>https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Wed, 06 Apr 2016 18:24:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Webserver]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod_pagespeed]]></category>
		<category><![CDATA[Ubuntu 14.04]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=190</guid>

					<description><![CDATA[<p>Jeder wünscht sich eine schnelle Homepage. Wenn eine Seite nicht innerhalb von wenigen Sekunden geladen ist, springen die meisten Leute direkt wieder ab. Außerdem werden langsam ladende Webseiten auf Google schlechter gerankt. Eine Möglichkeit, die Ladegeschwindigkeit von Websites &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu" class="more-link">Continue reading<span class="screen-reader-text"> "mod_pagespeed: Installation und Konfiguration"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu">mod_pagespeed: Installation und Konfiguration</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">Jeder wünscht sich eine schnelle Homepage. Wenn eine Seite nicht innerhalb von wenigen Sekunden geladen ist, springen die meisten Leute direkt wieder ab. Außerdem werden langsam ladende Webseiten auf Google schlechter gerankt. Eine Möglichkeit, die Ladegeschwindigkeit von Websites zu verbessern, ist der Einsatz des Apache Moduls mod_pagespeed.<span id="more-190"></span></p>
<h2>Einleitung</h2>
<p>Dieses Modul steht für Apache und Nginx zur Verfügung und wird hauptsächlich von Google entwickelt. Der <a href="https://github.com/pagespeed/mod_pagespeed" target="_blank">Quellcode steht auf GitHub zur Verfügung</a>. Mittels verschiedenster Techniken versucht es, die Seiten schneller an die Benutzer auszuliefern.</p>
<p><iframe loading="lazy" width="760" height="428" src="https://www.youtube.com/embed/6uCAdQSHhmA?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<h2>Funktionsweise</h2>
<p>mod_pagespeed klinkt sich in den Apache Webserver ein und wendet sehr viele &#8220;Best Practices&#8221; auf den HTML Code, CSS, JavaScript und Bilder der auszuliefernden Webseiten an. Dabei werden die einmal erstellten, optimierten Seiten zusätzlich in einem Cache gehalten. Das ist Fluch und Segen zugleich: Änderungen an CSS oder Bildern werden womöglich erst verzögert sichtbar, wenn die Dateinamen gleich bleiben. Abhilfe schafft das Löschen des Caches. Dazu unten mehr.</p>
<p>Zum Beispiel werden Bilder (wo es sinnvoll ist) vor dem Ausliefern in das neue <a href="https://de.wikipedia.org/wiki/WebP">WebP </a>Format konvertiert. Schriften werden z.B. direkt als Base64 Stream ins CSS eingebettet, anstatt sie als separate Datei zu laden, was wieder Zeit kostet. Ebenso werden Stylesheets und JavaScripts minimiert und soweit wie möglich zusammengefasst.</p>
<p>Das sind nur die Dinge, die mod_pagespeed in der Grundinstallation optimiert. Viele weitere Filter können <a href="https://developers.google.com/speed/pagespeed/module/config_filters#enabling" target="_blank">in der Konfiguration aktiviert</a> werden.</p>
<p>Da mein Blog noch keine Woche alt ist, kann ich damit noch ein wenig experimentieren. Die Implementation von mod_pagespeed brachte mir bisher rund 30% Zeitersparnis in der Ladezeit. Als ich den Cache dann komplett in den RAM meines Servers ausgelagert hatte, wurde die Seite nochmal etwas schneller. Bisher habe ich nur die standardmäßig aktivierten Filter in Verwendung. Vielleicht bekomme ich noch etwas mehr Performance raus, wenn ich daran noch etwas drehe. Ich werde den Beitrag dann entsprechend aktualisieren.</p>
<p>&nbsp;</p>
<h2>Installation unter Ubuntu 14.04</h2>
<p>Glücklicherweise gibt es bereits fertige Pakete von Google, die gleichzeitig ein eigenes Repo mit installieren. Mod_Pagespeed wird somit automatisch über den Paketmanager aktuell gehalten.</p>
<p>Ich installiere hier bewusst die Beta-Version, da diese per <a href="https://developers.google.com/speed/pagespeed/module/https_support" target="_blank">default auch https-Seiten beschleunigt</a>. In der aktuellen Stable müsste dies noch händisch aktiviert werden. Auf der verlinkten Seite gibt es dazu weitere Infos.</p>
<pre class="brush: bash; title: ; notranslate">
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
</pre>
<p>Das war&#8217;s schon, mod_pagespeed ist installiert und direkt als Apache Modul aktiviert. Nun muss noch der Webserver selbst durchgestartet werden, damit die neue Konfiguration aktiviert wird.</p>
<pre class="brush: bash; title: ; notranslate">
service apache2 restart
</pre>
<p>Ab sofort sollte mod_pagespeed bereits aktiv sein und eure Webseiten global optimieren. Wer das nicht will, sollte mod_pagespeed in der globalen Konfiguration erstmal deaktivieren und für einzelne Virtual Hosts wieder einschalten.</p>
<pre class="brush: bash; highlight: [2,7]; title: ; notranslate">
sudo nano /etc/apache2/mods-enabled/pagespeed.conf
     ModPagespeed off

sudo nano /etc/apache2/sites-enabled/yoursite.conf
     &amp;amp;amp;lt;VirtualHost ...&amp;amp;amp;gt;
     .   .   .
         ModPagespeed on
     &amp;amp;amp;lt;/VirtualHost&amp;amp;amp;gt;
</pre>
<p>mod_pagespeed bringt noch ein kleines Webinterface mit, um Statistiken zu sehen. Standardmäßig ist das nur vom Server selbst zu erreichen. Hier könnte man entweder mit einem SSH-Tunnel arbeiten, oder die Website z.B. nur für die eigene IP freischalten. Um es einfach zu halten, hab ich bei mir erstmal das gemacht.</p>
<pre class="brush: bash; highlight: [6,13]; title: ; notranslate">
sudo nano /etc/apache2/mods-enabled/pagespeed.conf
    &amp;amp;amp;lt;Location /pagespeed_admin&amp;amp;amp;gt;
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        Allow from &amp;amp;amp;lt;deine IP&amp;amp;amp;gt;
        SetHandler pagespeed_admin
    &amp;amp;amp;lt;/Location&amp;amp;amp;gt;
    &amp;amp;amp;lt;Location /pagespeed_global_admin&amp;amp;amp;gt;
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        Allow from &amp;amp;amp;lt;deine IP&amp;amp;amp;gt;
        SetHandler pagespeed_global_admin
    &amp;amp;amp;lt;/Location&amp;amp;amp;gt;
</pre>
<p>Weitere Konfiguration ist erst mal nicht notwendig. Als nächstes könnte man wie oben beschrieben weitere Filter aktivieren.</p>
<p>&nbsp;</p>
<h2>Test von mod_pagespeed</h2>
<p>Ihr braucht nur die optimierte Seite im Browser laden und euch den Quelltext anzeigen lassen. Anschließend mal nach &#8220;pagespeed&#8221; suchen. Die optimierten Bilder und CSS dürften diesen Namen im Dateinamen tragen.</p>
<p>Idealerweise habt ihr vor dem Aktivieren von mod_pagespeed einen Ladezeitentest, z.B. auf  <a href="https://www.pagespeed.de/" target="_blank">https://www.pagespeed.de/</a> gemacht. Anschließend, mit aktiviertem Modul, sieht man recht schön die gewonnene Geschwindigkeit.</p>
<p><figure id="attachment_207" aria-describedby="caption-attachment-207" style="width: 300px" class="wp-caption alignleft"><a href="https://www.syn-flut.de/wp-content/uploads/2016/04/website-ohne-mod-pagespeed.png" rel="attachment wp-att-207"><img loading="lazy" decoding="async" class="size-medium wp-image-207" src="https://www.syn-flut.de/wp-content/uploads/2016/04/website-ohne-mod-pagespeed-300x137.png" alt="Webseite ohne mod_pagespeed" width="300" height="137" srcset="https://www.syn-flut.de/wp-content/uploads/2016/04/website-ohne-mod-pagespeed-300x137.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/04/website-ohne-mod-pagespeed.png 616w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-207" class="wp-caption-text">Webseite ohne mod_pagespeed</figcaption></figure></p>
<p><figure id="attachment_208" aria-describedby="caption-attachment-208" style="width: 300px" class="wp-caption alignleft"><a href="https://www.syn-flut.de/wp-content/uploads/2016/04/website-mit-mod-pagespeed.png" rel="attachment wp-att-208"><img loading="lazy" decoding="async" class="size-medium wp-image-208" src="https://www.syn-flut.de/wp-content/uploads/2016/04/website-mit-mod-pagespeed-300x137.png" alt="Webseite mit mod_pagespeed" width="300" height="137" srcset="https://www.syn-flut.de/wp-content/uploads/2016/04/website-mit-mod-pagespeed-300x137.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/04/website-mit-mod-pagespeed.png 616w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-208" class="wp-caption-text">Webseite mit mod_pagespeed</figcaption></figure></p>
<div style="clear: both;"></div>
<h2 style="clear: both;">Tipps und Tricks</h2>
<p>&nbsp;</p>
<h3>Auslagern des Cache in den RAM</h3>
<p>dazu wird einfach eine <a href="https://de.m.wikipedia.org/wiki/Tmpfs" target="_blank">tmpfs</a> RAMDisk erstellt, die in den entsprechenden Ordner gehängt wird. Ich erkläre es hier wieder am Beispiel Ubuntu 14.04, bei anderen Distributionen ist die Vorgehensweise ähnlich. Bei mir ist sie 256MB groß. Der Speicher wird nur vom RAM allokiert, wenn er auch tatsächlich genutzt wird.</p>
<p>Folgendes wird in die <strong>/etc/fstab</strong> eingetragen:</p>
<pre class="brush: plain; title: ; notranslate">
tmpfs /var/cache/mod_pagespeed tmpfs size=256m,mode=0775,uid=www-data,gid=www-data 0 0
</pre>
<p>Anschließend wird die RAMDisk noch gemountet</p>
<pre class="brush: plain; title: ; notranslate">
mount /var/cache/mod_pagespeed
</pre>
<p>&nbsp;</p>
<h3>Cache löschen</h3>
<p>Wenn ihr etwas am CSS eurer Seite ändert, ist es Sinnvoll, den Cache von mod_pagespeed zu löschen. Dadurch werden die Änderungen gleich sichtbar. Dies geht mit folgendem Befehl: (Wieder für Ubuntu)</p>
<pre class="brush: plain; title: ; notranslate">
touch /var/cache/mod_pagespeed/cache.flush
</pre>
<p>Ein Neustart von Apache ist nicht notwendig. Nach einem Reload der Website sollten die CSS-Änderungen sichtbar sein.</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu">mod_pagespeed: Installation und Konfiguration</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/mod_pagespeed-installieren-ubuntu/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>ClamAV Erkennungsrate verbessern</title>
		<link>https://www.syn-flut.de/clamav-erkennungsrate-verbessern</link>
					<comments>https://www.syn-flut.de/clamav-erkennungsrate-verbessern#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Tue, 05 Apr 2016 18:57:56 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[ClamAV]]></category>
		<category><![CDATA[Ubuntu 14.04]]></category>
		<category><![CDATA[Virenscanner]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=187</guid>

					<description><![CDATA[<p>In Zeiten von Ransomware und Co. halte ich es für sinnvoll, dass E-Mails bereits serverseitig auf Viren geprüft werden. Klar, eigentlich sollte man meinen, dass heutzutage niemand mehr solche Anhänge öffnet. Das prominenteste Beispiel Locky hat uns das Gegenteil bewiesen. &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/clamav-erkennungsrate-verbessern" class="more-link">Continue reading<span class="screen-reader-text"> "ClamAV Erkennungsrate verbessern"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/clamav-erkennungsrate-verbessern">ClamAV Erkennungsrate verbessern</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In Zeiten von Ransomware und Co. halte ich es für sinnvoll, dass E-Mails bereits serverseitig auf Viren geprüft werden. Klar, eigentlich sollte man meinen, dass heutzutage niemand mehr solche Anhänge öffnet. Das prominenteste Beispiel Locky hat uns das Gegenteil bewiesen. <a href="http://www.heise.de/security/meldung/Krypto-Trojaner-Locky-wuetet-in-Deutschland-Ueber-5000-Infektionen-pro-Stunde-3111774.html" target="_blank">Über 5000 Infektionen pro Stunde</a>, alleine in Deutschland, sind eine Hausnummer. Deswegen habe ich mir Gedanken gemacht, wie die ClamAV Erkennungsrate verbessert werden kann.<span id="more-187"></span></p>
<h2>Zusätzliche Signaturen</h2>
<p>Die offiziellen Signaturen von ClamAV sind meiner Meinung nach nicht die besten. Auch Wochen nach bekanntwerden von Locky, erkannte ClamAV in meinem Test diesen Virus nicht. Fast wollte ich ClamAV wieder deinstallieren, dann jedoch habe ich nach zusätzlichen Signaturen gesucht. Das Ergebnis kann sich absolut sehen lassen. In meinem Test wurden alle Viren, die vorher durchflutschten, zuverlässig erkannt. Bisher gabs kein False-Positive, aber auch kein False-Negative.</p>
<p>Der große Nachteil an der Sache ist, dass ClamAV mit zusätzlichen Signaturen ein echter Speicherfresser ist. Bei mir verbraucht ClamAV knapp 800MB RAM.</p>
<p>Am einfachsten gelingt die Installation zusätzlicher Signaturen mit dem <a href="https://github.com/extremeshok/clamav-unofficial-sigs/releases" target="_blank">ClamAV Unofficial Signatures Updater</a>, der auf Github von &#8220;extremeshok&#8221; weiter entwickelt wird. Die Installation ist dort super beschrieben und in wenigen Minuten erledigt. In der Konfiguration kann man verschiedene Quellen angeben, von welchen die Signaturen bezogen werden. Einige davon funktionieren nur mit vorheriger Registrierung. Ich habe mich mal bei allen angemeldet.</p>
<p>Wenn ich die Installation allerdings nochmal machen würde, würde ich auf diesen Schritt verzichten und nur die Signaturen von SaneSecurity beziehen, welche ohne Anmeldung geladen werden können. Bisher wurden alle gefundene Viren anhand Signaturen von SaneSecurity erkannt. Dadurch kann man sicherlich auch eine Menge RAM sparen.</p>
<p>Von folgenden Quellen ladet das Tool automatisiert die Signaturen runter und hält sie aktuell:</p>
<ul>
<li><a href="http://sanesecurity.com/" target="_blank">SaneSecurity</a> (ohne vorherige Anmeldung)</li>
<li><a href="https://www.securiteinfo.com/services/anti-spam-anti-virus/improve-detection-rate-of-zero-day-malwares-for-clamav.shtml" target="_blank">SecuriteInfo</a></li>
<li><a href="https://www.rfxn.com/projects/linux-malware-detect/" target="_blank">Linux Malware Detect</a></li>
<li><a href="https://www.malwarepatrol.net/" target="_blank">Malware Patrol</a></li>
</ul>
<p>Wie gesagt, die Installation ist auf der <a href="https://github.com/extremeshok/clamav-unofficial-sigs/releases" target="_blank">Github Page von extremeshok</a> super beschrieben, deswegen verzichte ich an dieser Stelle auf ein HowTo.</p>
<p>PS: ich seh grad, extremeshok hat auch ein <a href="https://github.com/extremeshok/spamassassin-extremeshok_fromreplyto" target="_blank">SpamAssassin Plugin</a> geschrieben. Vielleicht teste ich das demnächst mal.</p>
<p>Der Beitrag <a href="https://www.syn-flut.de/clamav-erkennungsrate-verbessern">ClamAV Erkennungsrate verbessern</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/clamav-erkennungsrate-verbessern/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Caching DNS-Resolver mit bind9</title>
		<link>https://www.syn-flut.de/caching-dns-resolver-mit-bind9</link>
					<comments>https://www.syn-flut.de/caching-dns-resolver-mit-bind9#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Mon, 04 Apr 2016 12:11:04 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[DNS Resolver]]></category>
		<category><![CDATA[DNSBL]]></category>
		<category><![CDATA[Ubuntu 14.04]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=178</guid>

					<description><![CDATA[<p>Es gibt viele Gründe, warum man einen eigenen Caching DNS-Resolver oder gar kompletten DNS-Server betreiben möchte. Sei es, um&#160;DNSSEC zu nutzen, oder um einfach unabhängig von Provider-DNS zu sein. Schließlich übernimmt ab dann der eigene Server die komplette &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/caching-dns-resolver-mit-bind9" class="more-link">Continue reading<span class="screen-reader-text"> "Caching DNS-Resolver mit bind9"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/caching-dns-resolver-mit-bind9">Caching DNS-Resolver mit bind9</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Es gibt viele Gründe, warum man einen eigenen Caching DNS-Resolver oder gar kompletten DNS-Server betreiben möchte. Sei es, um&nbsp;<a href="https://de.wikipedia.org/wiki/Domain_Name_System_Security_Extensions">DNSSEC </a>zu nutzen, oder um einfach unabhängig von Provider-DNS zu sein. Schließlich übernimmt ab dann der eigene Server die komplette rekursive DNS Auflösung, angefangen bei den <a href="https://de.wikipedia.org/wiki/Root-Nameserver" target="_blank" rel="noopener noreferrer">DNS Root Servern</a>. Anschließend werden die Antworten im lokalen Cache gehalten. Deshalb bringt das Ganze&nbsp;auch einen gewissen Performanceschub mit sich.<span id="more-178"></span></p>
<p>Bei mir war der Hauptgrund mein Mailserver. Manche DNSBLs arbeiten nach dem Freemium-Prinzip und lassen nur eine begrenzte Anzahl an Abfragen pro Source-IP durch. Da ich bis vor kurzem noch öffentliche DNS-Server benutzt habe, und letztlich ja diese bei den DNSBLs nachfragen, waren viele SpamAssassin Checks nicht erfolgreich. Nachzulesen hier:&nbsp;<a href="https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern" target="_blank" rel="noopener noreferrer">SpamAssassin Erkennungsrate (deutlich) verbessern</a></p>
<p>Ich gehe hier nur auf die Konfiguration des&nbsp;DNS-Resolver ein, sprich es werden nur Domains aufgelöst, nicht aber DNS Records für eigene Domains gehostet. Vielleicht mache ich das in Zukunft mal und berichte. <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong><span style="color: #ff0000;">Update 07.05.2019:</span> Mittlerweile bin ich auf <a href="https://nlnetlabs.nl/projects/unbound/about/">unbound</a> umgestiegen. Dieser funktioniert direkt nach der Installation ohne weiteres Zutun. Unter Ubuntu 16.04 / 18.04 reicht folgendes aus:</p>
<pre class="brush: plain; title: ; notranslate"> apt install unbound </pre>
<p>Anschließend kann direkt mit Punkt <a href="https://www.syn-flut.de/caching-dns-resolver-mit-bind9#Test_des_neuen_DNS_Resolvers">Test des neuen DNS Resolvers</a> dieser Anleitung fortgefahren werden.</strong></p>
<h2>Installation von bind9 auf Ubuntu 14.04</h2>
<p>Unter Ubuntu 14.04 ist ein eigener DNS-Resolver schnell installiert:</p>
<pre class="brush: plain; title: ; notranslate">
apt-get update
apt-get install bind9 bind9utils bind9-doc
</pre>
<p>Nach der Installation wird Bind automatisch gestartet, außerdem wird ein Init-Script hinterlegt, sodass er auch nach einem Neustart des Servers automatisch wieder gestartet wird.</p>
<p>Damit Bind als Caching DNS-Resolver arbeitet, muss nur eine Konfigurationsdatei angepasst werden:</p>
<pre class="brush: plain; title: ; notranslate">
sudo nano /etc/bind/named.conf.options
</pre>
<p>Über den&nbsp;<samp>options</samp>&nbsp;Block wird folgendes hinzugefügt:</p>
<pre class="brush: plain; highlight: [1,2]; title: ; notranslate">
acl goodclients {
localhost;
};

options {
. . .
</pre>
<p>im <samp>options</samp> Block wird folgendes ergänzt:</p>
<pre class="brush: plain; highlight: [4,5]; title: ; notranslate">
options {
directory &quot;/var/cache/bind&quot;;

recursion yes;
allow-query { goodclients; };
. . .
</pre>
<p>Damit wird Bind so konfiguriert, dass nur Anfragen von localhost erlaubt werden. Außerdem wird die Rekursion aktiviert. Das bedeutet, dass Bind selbst bei den DNS Root-Servern anfrägt und keinen weiteren DNS-Forwarder benutzt.</p>
<p>Falls man den DNS&nbsp;Resolver nicht nur für den eigenen&nbsp;Server nutzen möchte, werden einfach die entsprechend erlaubten IP-Bereiche in die ACL zusätzlich mit eingetragen:</p>
<pre class="brush: plain; title: ; notranslate">
acl goodclients {
localhost;
192.0.2.0/24;
};
</pre>
<h2>Test des neuen DNS Resolvers</h2>
<p>Um zu überprüfen, ob alles richtig funktioniert, könnt ihr mittels <samp>dig&nbsp;</samp>euren DNS Server etwas auflösen lassen:</p>
<pre class="brush: plain; title: ; notranslate">
dig heise.de @127.0.0.1
</pre>
<p>Achtet auf die Query time&nbsp;im Output des Befehls. Wenn <samp>dig&nbsp;</samp>erneut aufgerufen wird, sollte diese auf 0ms wandern, da die Domain eurem Nameserver bekannt ist.</p>
<h2>Verwenden&nbsp;des eigenen DNS Resolvers</h2>
<p>Nun muss euer DNS Server nur noch vom Betriebssystem verwendet werden. Unter Ubuntu 14.04&nbsp;ist dazu folgendes notwendig:</p>
<pre class="brush: plain; title: ; notranslate">
sudo nano /etc/resolv.conf
</pre>
<p>In der Datei sucht ihr euch die Zeile, die mit <samp>nameserver</samp> beginnt. Dort ist die IP des aktuellen DNS Server eingetragen. Diese IP muss durch 127.0.0.1, also die Loopback-IP eures Servers, ersetzt werden. Falls der DNS Resolver für mehrere Computer dient, ist dort natürlich die echte IP des Servers einzutragen.</p>
<pre class="brush: plain; title: ; notranslate">
nameserver 127.0.0.1
</pre>
<h2>Auslesen des Cache von bind9</h2>
<p>Falls ihr wissen wollt, welche Daten euer DNS Resolver im Cache hat, geht das wie folgt:</p>
<pre class="brush: bash; title: ; notranslate">
# Der nächste Befehlt schreibt den Cache aus dem RAM nach (bei Ubuntu) /var/cache/bind/named_dump.db
sudo rndc dumpdb
# Jetzt kann die Datei aufgerufen werden
less /var/cache/bind/named_dump.db
</pre>
<p>Der Beitrag <a href="https://www.syn-flut.de/caching-dns-resolver-mit-bind9">Caching DNS-Resolver mit bind9</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/caching-dns-resolver-mit-bind9/feed</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>SpamAssassin Erkennungsrate (deutlich) verbessern</title>
		<link>https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern</link>
					<comments>https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern#comments</comments>
		
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Thu, 31 Mar 2016 13:05:56 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[Antispam]]></category>
		<category><![CDATA[DNSBL]]></category>
		<category><![CDATA[SpamAssassin]]></category>
		<category><![CDATA[Ubuntu 14.04]]></category>
		<guid isPermaLink="false">https://www.syn-flut.de/?p=109</guid>

					<description><![CDATA[<p>Jeder, der einen eigenen Mailserver betreibt, kennt es: das leidige Thema SPAM. So betreibe auch ich einen Mailserver und habe mich mit dem Thema einige Tage intensiv auseinandergesetzt. Im Folgenden gebe ich einige Tipps, wie die SpamAssassin Erkennungsrate &#8230; </p>
<div class="more-link-wrapper"><a href="https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern" class="more-link">Continue reading<span class="screen-reader-text"> "SpamAssassin Erkennungsrate (deutlich) verbessern"</span></a></div>
<p>Der Beitrag <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern">SpamAssassin Erkennungsrate (deutlich) verbessern</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Jeder, der einen eigenen Mailserver betreibt, kennt es: das leidige Thema SPAM. So betreibe auch ich einen Mailserver und habe mich mit dem Thema einige Tage intensiv auseinandergesetzt. Im Folgenden gebe ich einige Tipps, wie die SpamAssassin Erkennungsrate deutlich verbessert werden kann. Zusammen mit einigen Postfix Konfigurationen kommt bei mir so gut wie&nbsp;überhaupt kein SPAM mehr durch.<span id="more-109"></span></p>
<h2>Einleitung</h2>
<p>SpamAssassin ist ein sehr bekanntes und ausgezeichnetes Programm, das anhand von verschiedensten Tests jeder E-Mail einen &#8220;Score&#8221; zuweist. Je höher diese Punktzahl ist, desto wahrscheinlicher handelt es sich bei der Mail um SPAM.</p>
<p>Ich habe meine Mailserver alle auf Basis der sehr guten Anleitung von <a href="https://workaround.org/ispmail/jessie" target="_blank" rel="noopener noreferrer">Christoph Haas (workaround.org)</a> konfiguriert. Christoph schreibt diese Tutorials schon sehr lange, ich glaube ich habe&nbsp;um 2006 herum meinen ersten Server danach aufgesetzt.</p>
<p>Im Rahmen des Tutorials wird auch SpamAssassin installiert und aktuell direkt, früher mittels&nbsp;<a href="https://de.wikipedia.org/wiki/Amavis" target="_blank" rel="noopener noreferrer">Amavis </a>an Postfix angebunden. Ich bevorzuge nach wie vor die Anbindung über Amavis, da ich gerne auch ClamAV als Virenscanner einsetze. Die Erkennungsrate von ClamAV ist erstmal recht gering, auch hier können wir noch einiges rausholen. Dazu werde ich demnächst noch einen Beitrag schreiben.</p>
<p>&nbsp;</p>
<h2>Verwendet einen eigenen DNS&nbsp;Resolver</h2>
<p>Zu Beginn gleich der vielleicht wichtigste Tipp, wie die SpamAssassin Erkennungsrate deutlich verbessert werden kann. SpamAssassin benutzt&nbsp;für viele dieser Tests sogenannte DNS Blacklists (<a href="https://de.wikipedia.org/wiki/DNS-based_Blackhole_List" target="_blank" rel="noopener noreferrer">DNSBL</a>). Diese werden verwendet, um z.B. die IP-Adressen der SMTP Relays abzugleichen, oder auch um in der Mail enthaltene Links zu prüfen. Falls eine Domain in einem solchen Link in einer DNSBL bekannt ist, erhöht SpamAssassin folglich den Score und die Mail kann besser klassifiziert werden. Im umgedrehten Fall wird bei vertrauenswürdigen Links&nbsp;der Score verringert, somit sinkt auch die Chance auf eine fälschlicherweise als Spam markierte&nbsp;Mail.</p>
<p>Viele dieser DNSBLs arbeiten nach dem Freemium Prinzip, d.h. für kleinere Mailserver ist deren Benutzung kostenfrei, bei größeren Mailserver-Installationen verkaufen&nbsp;die Provider dieser Listen entsprechende Zugänge. Da die Listen DNS-Basiert arbeiten, wird also die Quell-IP des anfragenden DNS-Servers getrackt und limitiert.</p>
<p>Wenn euer Mailserver einen bekannten öffentlichen&nbsp;DNS-Server verwendet (z.B. <a href="https://developers.google.com/speed/public-dns/" target="_blank" rel="noopener noreferrer">Google DNS</a>), frägt ja letztlich dieser DNS-Server bei der Liste nach. Da diese DNS-Server von vielen tausenden Benutzern verwendet werden, laufen sie schnell in das Rate-Limit der DNSBL-Provider.</p>
<p>Ersichtlich wird es im E-Mail Header, wenn&nbsp;SpamAssassin dort den Check&nbsp;<strong>URIBL_BLOCKED</strong>&nbsp;listet. Dieser wird mit 0.001 Punkten gewertet und soll nur ein Hinweis auf genau dieses Problem sein.</p>
<p><figure id="attachment_139" aria-describedby="caption-attachment-139" style="width: 300px" class="wp-caption alignnone"><a href="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-uribl-blocked.png" rel="attachment wp-att-139"><img loading="lazy" decoding="async" class="size-medium wp-image-139" src="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-uribl-blocked-300x55.png" alt="URIBL_BLOCKED - SpamAssassin Erkennungsrate verbessern" width="300" height="55" srcset="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-uribl-blocked-300x55.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-uribl-blocked.png 505w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-139" class="wp-caption-text">Hier sieht man die Meldung URIBL_BLOCKED.</figcaption></figure></p>
<p>Abhilfe schafft die Verwendung eines eigenen (Caching) DNS-Resolvers. Dadurch frägt euer eigener DNS-Server bei den DNSBLs an und die Anfrage geht durch.&nbsp;Ich habe hier beschrieben, wie unter Ubuntu 14.04 bind als Caching DNS-Resolver installiert wird:&nbsp;<a href="https://www.syn-flut.de/caching-dns-resolver-mit-bind9" target="_blank" rel="noopener noreferrer">Caching DNS-Resolver mit bind9</a></p>
<p>Allein diese Maßnahme hat die&nbsp;SpamAssassin Erkennungsrate bei mir deutlich verbessert.</p>
<p><figure id="attachment_128" aria-describedby="caption-attachment-128" style="width: 300px" class="wp-caption alignnone"><a href="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-tests.png" rel="attachment wp-att-128"><img loading="lazy" decoding="async" class="wp-image-128 size-medium" src="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-tests-300x63.png" alt="SpamAssassin Erkennungsrate verbessern, Test DNSBL" width="300" height="63" srcset="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-tests-300x63.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-tests.png 494w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-128" class="wp-caption-text">hier wurden zahlreiche DNSBLs abgefragt. (Die Checks beginnen mit RCVD_IN)</figcaption></figure></p>
<p>&nbsp;</p>
<h2>Trainiert die Bayes-Datenbank</h2>
<p>Auch mit folgendem Tipp kann die SpamAssassin Erkennungsrate verbessert werden. Das Programm verwendet eine integrierte Bayes-Datenbank, um Textphrasen zu klassifizieren und zu bewerten. Damit das Ganze funktioniert, muss diese Datenbank zunächst trainiert werden. Wichtig ist, dass der richtige Pfad zur Datenbank angegeben wird, sonst landet das ganze&nbsp;im .spamassassin Ordner des jeweiligen Benutzers. Dort schaut SpamAssassin (meines Wissens) allerdings nicht nach, wenn es über Amavis oder den spamd aufgerufen wird.</p>
<h3>Spam Mail Quelle</h3>
<p>Für das &#8220;Training&#8221; sind&nbsp;eine Menge Mails notwendig.&nbsp;Um genug Spam Mails zu bekommen, habe ich das aktuellste Monatsarchiv von&nbsp;<a href="http://untroubled.org/spam/" target="_blank" rel="noopener noreferrer">http://untroubled.org/spam/&nbsp;</a>verwendet. Dieses habe ich mittels wget heruntergeladen, entpackt und anschließend das Tool <strong>sa-learn</strong> auf die Mails losgelassen. Falls SpamAssassin nicht über Amavis eingebunden ist, muss der Datenbank-Pfad angepasst werden.</p>
<p>Anschließend verfüttere ich auch noch alle Mails im &#8220;Junk&#8221; Ordner aller Postfächer an sa-learn</p>
<pre class="brush: plain; title: ; notranslate">
cd /tmp
wget http://untroubled.org/spam/2016-03.7z
7z x 2016-03.7z
sudo sa-learn --dbpath /var/lib/amavis/.spamassassin --progress --spam /tmp/2016/03
sudo sa-learn --dbpath /var/lib/amavis/.spamassassin --progress --spam /var/vmail/*/*/Maildir/.Junk
</pre>
<p>&nbsp;</p>
<h3>&#8220;Gute&#8221; Mails</h3>
<p>Die Bayes-Datenbank sollte natürlich auch erwünschte Mails zu Gesicht bekommen. Hierzu verwende ich einfach alle gelesene Mails, die in allen vorhandenen Postfächern vorhanden sind.</p>
<pre class="brush: plain; title: ; notranslate">
sa-learn --dbpath /var/lib/amavis/.spamassassin --progress --ham /var/vmail/*/*/Maildir/cur
</pre>
<p>Dies kann (und sollte) man selbstverständlich via Cron-Job automatisieren.</p>
<p>&nbsp;</p>
<h2>Verwendet zusätzliche Signaturen</h2>
<p>Peer Heinlein von&nbsp;<a href="https://www.heinlein-support.de/blog/news/aktuelle-spamassassin-regeln-von-heinlein-support/">Heinlein Support</a>&nbsp;ist der Mann hinter mailbox.org &#8211; einem sicherlich nicht ganz unbekannten E-Mail Anbieter. Freundlicherweise stellt er kostenlos die von seinem Team entwickelten und beinahe täglich aktualisierten SpamAssassin Rulesets zur Verfügung. Eine Anleitung zum Einbinden in ein Debian/Ubuntu System findet ihr <a href="https://www.heinlein-support.de/blog/news/aktuelle-spamassassin-regeln-von-heinlein-support/">auf seinem Blog</a>.</p>
<p>Im Wesentlichen werden diese Signaturen mittels dem bereits vorhandenen Cron-Job, der die SpamAssassin-eigenen Rulesets aktualisiert, zusätzlich geladen. Der Vollständigkeit halber anbei die modifizierte Version des Cron Bash-Scripts, unter Ubuntu 14.04 muss sie&nbsp;nach <samp>/etc/cron.daily/spamassassin</samp>. Die modifizierten Zeilen habe ich markiert. Neben dem eigentlichen Download prüft mein Script noch die Returncodes von beiden sa-update aufrufen. Wenn nur einer von beiden Aufrufen neue Signaturen gebracht hat, wird spamd bzw. Amavis neu gestartet. Ich habe diesen Code-Schnipsel (Zeile 70-76) aus den Kommentaren von o.g. Blog. Ist ziemlich quick&#8217;n&#8217;dirty, aber funktioniert für meine Ansprüche.</p>
<pre class="brush: bash; collapse: true; highlight: [66,67,68,69,70,71,72,73,74,75,76,77,78]; light: false; title: ; toolbar: true; notranslate">
#!/bin/sh

# Duncan Findlay
# duncf@debian.org

# Daily cronjob for SpamAssassin updates. This isn't pretty but it
# should do the job.

CRON=0

test -f /etc/default/spamassassin &amp;amp;&amp;amp; . /etc/default/spamassassin

test -x /usr/bin/sa-update || exit 0
test -x /etc/init.d/spamassassin || exit 0

if &#x5B; &quot;$CRON&quot; = &quot;0&quot; ] ; then
exit 0
fi

# If there's a problem with the ruleset or configs, print the output
# of spamassassin --lint (which will typically get emailed to root)
# and abort.
die_with_lint() {
su - debian-spamd -c &quot;spamassassin --lint -D 2&amp;gt;&amp;amp;1&quot;
exit 1
}

do_compile() {
# Compile rules if the required tools are available. Prior to version
# 3.3.2-8, there was an additional check to verify that an sa-compile
# run had previously been executed by hand. With sa-learn now
# distributed in a separate, optional, package, this check is no
# longer necessary.
if &#x5B; -x /usr/bin/re2c -a -x /usr/bin/sa-compile ]; then
su - debian-spamd -c &quot;sa-compile --quiet&quot;
# Fixup perms -- group and other should be able to
# read and execute, but never write. Works around
# sa-compile's failure to obey umask.
chmod -R go-w,go+rX /var/lib/spamassassin/compiled
fi
}

# Tell a running spamd to reload its configs and rules.
reload() {
# Reload
if which invoke-rc.d &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
invoke-rc.d spamassassin reload &amp;gt; /dev/null
else
/etc/init.d/spamassassin reload &amp;gt; /dev/null
fi
if &#x5B; -d /etc/spamassassin/sa-update-hooks.d ]; then
run-parts --lsbsysinit /etc/spamassassin/sa-update-hooks.d
fi
}

# Sleep for up to 3600 seconds
RANGE=3600
number=`od -vAn -N2 -tu4 &amp;lt; /dev/urandom`
number=`expr $number &quot;%&quot; $RANGE`
sleep $number

# Update
umask 022
su - debian-spamd -c &quot;sa-update --gpghomedir /var/lib/spamassassin/sa-update-keys&quot;
retcode1=$?
su - debian-spamd -c &quot;sa-update --nogpg --channel spamassassin.heinlein-support.de&quot;
retcode2=$?

if &#x5B; $retcode1 -eq 0 ] || &#x5B; $retcode2 -eq 0 ]; then
retcode=0
elif &#x5B; $retcode1 -eq 2 ] || &#x5B; $retcode2 -eq 2 ]; then
retcode=2
else
retcode=$retcode2
fi

case $retcode in
0)
# got updates!
su - debian-spamd -c &quot;spamassassin --lint&quot; || die_with_lint
do_compile
reload
;;
1)
# no updates
exit 0
;;
2)
# lint failed!
die_with_lint
;;
*)
echo &quot;sa-update failed for unknown reasons&quot; 1&amp;gt;&amp;amp;2
;;
esac
</pre>
<p>Wenn alles funktioniert hat, müssten unter <samp>/var/lib/spamassassin/&lt;version&gt;/</samp> einige Dateien mit &#8220;heinlein&#8221; im Namen liegen. Das sind die eigentlichen Rulesets. Anhand des Zeitstempels kann auch überprüft werden, wann das letzte Update kam.</p>
<p>&nbsp;</p>
<h2>Verwendet Pyzor und Razor</h2>
<p>Pyzor und Razor sind Prüfsummenbasierte Netzwerke, um SPAM zu erkennen. Dabei wird eine Prüfsumme vom Body der erhaltenen Mail gebildet und an die Pyzor oder Razor Server gesendet. Falls die Prüfsummen von vielen Benutzern identisch sind&nbsp;(d.h. der Mailtext ist gleich), ist die Wahrscheinlichkeit, dass es sich bei der Mail um SPAM handelt höher.</p>
<h3>Pyzor</h3>
<p>Achtung: Pyzor verwendet den Port TCP 24441 für ausgehende Verbindungen zum Pyzor Server. Falls eine Firewall ausgehende Verbindungen blockiert, muss dieser Port entsprechend freigeschaltet werden. Folgende Schritte sind notwendig, um Pyzor unter Ubuntu 14.04 einzubinden:</p>
<pre class="brush: plain; title: ; notranslate">
sudo apt-get install pyzor
pyzor --homedir /etc/mail/spamassassin discover
</pre>
<p>Nun muss das noch SpamAssassin mitgeteilt werden. Dazu muss die Datei /etc/spamassassin/local.cf wie folgt editiert werden:</p>
<pre class="brush: bash; title: ; notranslate">
# die nächste Zeile dürfte schon auf 1 stehen. Falls nicht, dann anpassen.
use_pyzor &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1
# die nächste Zeile kommt ans Ende der Datei
pyzor_options --homedir /etc/mail/spamassassin
</pre>
<p>Danach noch SpamAssassin oder Amavis neu starten, dann war&#8217;s das schon. Getestet werden kann es wie folgt:</p>
<pre class="brush: plain; title: ; notranslate">
cat /pfad/zu/ner/mail | spamassassin -D pyzor 2&amp;amp;amp;gt;&amp;amp;amp;amp;1 | less
</pre>
<p>Der Output sollte wie folgt aussehen:</p>
<pre class="brush: plain; title: ; notranslate">
Apr 1 14:40:43.038 &#x5B;17306] dbg: pyzor: network tests on, attempting Pyzor
Apr 1 14:40:46.625 &#x5B;17306] dbg: pyzor: pyzor is available: /usr/bin/pyzor
Apr 1 14:40:46.626 &#x5B;17306] dbg: pyzor: opening pipe: /usr/bin/pyzor check &amp;amp;amp;lt; /tmp/.spamassassin17306kiOe9Ytmp
Apr 1 14:40:47.528 &#x5B;17306] dbg: pyzor: &#x5B;17308] finished: exit 1
Apr 1 14:40:47.528 &#x5B;17306] dbg: pyzor: got response: public.pyzor.org:24441 (200, 'OK') 0 0
</pre>
<h3>Razor</h3>
<p>So wird Razor unter Ubuntu 14.04 installiert und konfiguriert:</p>
<pre class="brush: plain; title: ; notranslate">
sudo apt-get install razor
sudo razor-admin -home=/etc/spamassassin/.razor -register
sudo razor-admin -home=/etc/spamassassin/.razor -create
sudo razor-admin -home=/etc/spamassassin/.razor -discover
</pre>
<p>entsprechend muss analog zu Pyzor wieder die Datei /etc/spamassassin/local.cf angepasst werden:</p>
<pre class="brush: bash; title: ; notranslate">
# die nächste Zeile dürfte schon auf 1 stehen. Falls nicht, dann anpassen.
use_razor &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1
# die nächste Zeile kommt ans Ende der Datei
razor_config /etc/mail/spamassassin/.razor/razor-agent.conf
</pre>
<p>Hier wüsste ich leider keinen Weg, wie man die Funktion von Razor direkt testen kann. Jedenfalls müsste ab jetzt der SpamAssassin Test&nbsp;<strong>RAZOR2_CHECK </strong>in Mails auftauchen. Überprüft werden kann das (nach ein paar Tagen) wie folgt:</p>
<pre class="brush: plain; title: ; notranslate">
grep -R RAZOR /pfad/zu/den/mails
</pre>
<p>&nbsp;</p>
<h2>Filtert nach Ländern</h2>
<p>SpamAssassin bringt ein Plugin&nbsp;namens <strong>RelayCountry</strong> mit, mit welchem es möglich wird, die Länder der einzelnen SMTP Relays anhand der GeoIP Information zu bestimmen. Dies dient zum einen der Bayes-Datenbank. Sie bekommt also zusätzliche Informationen und wird künftig selbständig lernen, aus welchen Ländern viel Spam kommt. Ich habe bei mir noch &#8220;händische&#8221; Regeln hinzugefügt: Wenn eine Mail z.B. durch einen SMTP-Server in Vietnam relayed wurde, bekommt sie in meinem Fall zwei Punkte. Dieser Schritt hat auch nochmal gut geholfen, die SpamAssassin Erkennungsrate zu verbessern.</p>
<p>Folgende Schritte sind unter Ubuntu 14.04 als Vorbereitung notwendig:</p>
<pre class="brush: plain; title: ; notranslate">
apt-get install libgeo-ip-perl
mkdir /usr/share/GeoIP
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
gunzip GeoIP.dat.gz
gunzip GeoIPv6.dat.gz
mv GeoIP.dat /usr/share/GeoIP/
mv GeoIPv6.dat /usr/share/GeoIP/
</pre>
<p>Damit wurde das notwendige Perl-Modul installiert, sowie mit der aktuellen GeoIP-Lite Datenbank von MaxMind ausgestattet. Das Plugin wird in der Datei&nbsp;<strong>/etc/spamassassin/init.pre</strong> aktiviert, dazu wird das Kommentarzeichen vor folgender Zeile entfernt:</p>
<pre class="brush: plain; title: ; notranslate">
loadplugin Mail::SpamAssassin::Plugin::RelayCountry
</pre>
<p>Jetzt können noch eigene Regeln geschrieben werden, um Mails aus bestimmten Ländern abzuwerten. Dazu muss ans Ende von <strong>/etc/spamassassin/local.cf</strong> folgendes:</p>
<pre class="brush: plain; title: ; notranslate">
ifplugin Mail::SpamAssassin::Plugin::RelayCountry
add_header all Relay-Country _RELAYCOUNTRY_
header RELAYCOUNTRY_BAD X-Relay-Countries =~ /(CN|RU|UA|RO|VN)/
describe RELAYCOUNTRY_BAD Relayed through spammy country at some point
score RELAYCOUNTRY_BAD 2.0

header RELAYCOUNTRY_GOOD X-Relay-Countries =~ /^(DE|AT|CH)/
describe RELAYCOUNTRY_GOOD First untrusted GW is&amp;nbsp;DE, AT or CH
score RELAYCOUNTRY_GOOD -0.5
endif # Mail::SpamAssassin::Plugin::RelayCountry
</pre>
<p>Damit bekommt jede Mail, die durch ein SMTP-Relay in China, Russland, Ukraine, Rumänien oder Vietnam geroutet wurde, automatisch zwei Punkte. Im Gegenzug ziehe ich 0,5 Punkte ab, wenn das <strong>letzte</strong> Relay in Deutschland, Österreich oder der Schweiz stand.</p>
<p>Damit lässt sich das Ganze auch gut testen. Nach einem Neustart von SpamAssassin oder Amavis sollte bei jeder Mail, die aus Deutschland eintrudelt, folgender Check im Header stehen:</p>
<p><figure id="attachment_148" aria-describedby="caption-attachment-148" style="width: 300px" class="wp-caption alignnone"><a href="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-good.png" rel="attachment wp-att-148"><img loading="lazy" decoding="async" class="size-medium wp-image-148" src="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-good-300x49.png" alt="SpamAssassin Erkennungsrate Verbessern: Relaycountry_Good" width="300" height="49" srcset="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-good-300x49.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-good.png 474w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-148" class="wp-caption-text">RELAYCOUNTRY_GOOD</figcaption></figure></p>
<p>Im Gegenzug bei Mails aus den o.g. Ländern:</p>
<p><figure id="attachment_149" aria-describedby="caption-attachment-149" style="width: 300px" class="wp-caption alignnone"><a href="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-bad.png" rel="attachment wp-att-149"><img loading="lazy" decoding="async" class="size-medium wp-image-149" src="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-bad-300x67.png" alt="SpamAssassin Erkennungsrate verbessern: Relaycountry_Bad" width="300" height="67" srcset="https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-bad-300x67.png 300w, https://www.syn-flut.de/wp-content/uploads/2016/03/spamassassin-relaycountry-bad.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-149" class="wp-caption-text">RELAYCOUNTRY_BAD</figcaption></figure></p>
<p>&nbsp;</p>
<h2>Verwendet zusätzliche Plugins</h2>
<p>Ich habe kürzlich ein gutes SpamAssassin Plugin von eXtremeSHOK gefunden, welches die &#8220;From&#8221; und &#8220;Reply-To&#8221; Header vergleicht. Gibt es dort Unterschiede, bekommt die Mail direkt ein paar Punkte. Je nachdem, ob sich auch die Domain unterscheidet, sind es zwei bzw. direkt fünf Punkte. Bei meinem Test ist mir oft aufgefallen, dass bei Spam-Mails hier unterschiedliche Domains verwendet werden. Diesen Tipp habe ich persönlich erst zum Schluss entdeckt und eingebaut. Seitdem kam überhaupt kein SPAM mehr durch.</p>
<p>Die Installation ist unter Ubuntu 14.04 sehr einfach:</p>
<pre class="brush: bash; title: ; notranslate">
cd /tmp
wget&amp;nbsp;https://github.com/extremeshok/spamassassin-extremeshok_fromreplyto/archive/1.3.1.tar.gz
tar -zxvf 1.3.1.tar.gz
mkdir /etc/mail/spamassassin/plugins/
cp plugins/* /etc/mail/spamassassin/plugins/
cp 01_extremeshok_fromreplyto.cf /etc/mail/spamassassin
</pre>
<p>Das war&#8217;s schon, anschließend muss noch Amavis oder der spamd neu gestartet werden. Getestet werden kann das Plugin, indem man sich selbst eine Mail schickt. Anschließend sollte der Check <strong>FROM_IS_TO</strong> im Mailheader auftauchen.</p>
<p>&nbsp;</p>
<h2>Modifiziert die Punktevergabe</h2>
<p>Noch ein Kurztipp am Ende. Dieser Tipp ist relativ &#8220;advanced&#8221;, da man genau wissen sollte, was man verändert.</p>
<p>Mittels&nbsp;der Datei /etc/spamassassin/local.cf können die Standardwerte der Punktevergabe für Checks verändert werden. Ich habe bei mir die vergebenen Punkte erhöht, wenn eine Domain oder ein Link in einer DNSBL auftaucht:</p>
<pre class="brush: plain; title: ; notranslate">
score RCVD_IN_BL_SPAMCOP_NET 0 5.246 0 5.347
score RCVD_IN_BRBL_LASTEXT 0 5.246 0 5.347
score URIBL_BLACK 0 5.7 0 5.7
score URIBL_WS_SURBL 0 2.659 0 2.608
score URIBL_MW_SURBL 0 2.263 0 2.263
score URIBL_CR_SURBL 0 2.263 0 2.263
score URIBL_GREY 0 2.084 0 1.424
score URIBL_DBL_SPAM    0 4.5 0 4.5
score URIBL_DBL_PHISH   0 4.5 0 4.5
score URIBL_DBL_MALWARE 0 4.5 0 4.5
score URIBL_DBL_BOTNETCC 0 4.5 0 4.5
score URIBL_DBL_ABUSE_SPAM 0 4.0 0 4.0
score URIBL_DBL_ABUSE_PHISH 0 4.5 0 4.5
score URIBL_DBL_ABUSE_MALW  0 4.5 0 4.5
score URIBL_DBL_ABUSE_BOTCC 0 4.5 0 4.5
</pre>
<p>Der Beitrag <a href="https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern">SpamAssassin Erkennungsrate (deutlich) verbessern</a> erschien zuerst auf <a href="https://www.syn-flut.de">SYN-FLUT.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.syn-flut.de/spamassassin-erkennungsrate-verbessern/feed</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
			</item>
	</channel>
</rss>
