<?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>Alonso.ch</title>
	<atom:link href="http://blog.alonso.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alonso.ch</link>
	<description>Nonsport Blog</description>
	<lastBuildDate>Mon, 07 Jun 2010 20:00:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Gezieltes entpacken von grossen TAR&#8217;s</title>
		<link>http://blog.alonso.ch/paste-bin/gezieltes-entpacken-von-grossen-tars/</link>
		<comments>http://blog.alonso.ch/paste-bin/gezieltes-entpacken-von-grossen-tars/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 19:55:31 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[paste.bin]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Tar]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=82</guid>
		<description><![CDATA[Um einzelne Dateien und Ordner aus einem TAR zu extrahieren muss nicht das komplette Archiv entpackt werden. Das spart gerade bei grösseren Archiven nicht nur Speicherplatz &#8211; sondern auch meist wertvolle Zeit und Systemresourcen. Folgende Beispiele dienen dazu als Lösungsansatz. Archivinhalt auflisten &#8211; ohne entpacken Inhalt komplett auflisten: tar -tvf MEINTAR.tar.gz Inhalt auflisten und filtern: [...]]]></description>
			<content:encoded><![CDATA[<p>Um einzelne Dateien und Ordner aus einem TAR zu extrahieren muss nicht das komplette Archiv entpackt werden. Das spart gerade bei grösseren Archiven nicht nur Speicherplatz &#8211; sondern auch meist wertvolle Zeit und Systemresourcen. Folgende Beispiele dienen dazu als Lösungsansatz.</p>
<p><strong>Archivinhalt auflisten &#8211; ohne entpacken</strong></p>
<p>Inhalt komplett auflisten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-tvf</span> MEINTAR.tar.gz</pre></div></div>

<p>Inhalt auflisten und filtern:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-tvf</span> MEINTAR.tar.gz <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> suchwort</pre></div></div>

<p>Diese Information ist eine gesunde Basis für die nächsten Schritte <img src='http://blog.alonso.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Einzelne Dateien entpacken</strong></p>
<p>Einzelne Datei aus einem TAR entpacken:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-zxvf</span> MEINTAR.tar.gz ordner1<span style="color: #000000; font-weight: bold;">/</span>ordner2<span style="color: #000000; font-weight: bold;">/</span>datei1.jpg</pre></div></div>

<p>Einzelne Ordner/Pfade rekursiv aus einem TAR entpacken:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-zxvf</span> MEINTAR.tar.gz ordner1<span style="color: #000000; font-weight: bold;">/</span>ordner2<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Richtig flexibel wird das entpacken mit Wildcard-Filtern:</p>
<p>Rekursiv aus TAR mit Wildcard-Filter entpacken:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> xfv MEINTAR.tar.gz  <span style="color: #660033;">--wildcards</span> <span style="color: #660033;">--no-anchored</span> <span style="color: #ff0000;">'settings*'</span></pre></div></div>

<p>Einzelne Dateitypen aus TAR mit Wildcard-Filter entpacken:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> xfv MEINTAR.tar.gz  <span style="color: #660033;">--wildcards</span> <span style="color: #660033;">--no-anchored</span> <span style="color: #ff0000;">'*.jpg'</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/paste-bin/gezieltes-entpacken-von-grossen-tars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfix mit TLS erweitern</title>
		<link>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/</link>
		<comments>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 03:02:12 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[Zertifikat]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=73</guid>
		<description><![CDATA[Aus aktuellem Anlass ist es nun höchste Zeit, Submission idealerweise mit TLS (optional) zu aktivieren. Folgendes Mini HowTo zeigt die Vorgehensweise unter Debian Lenny mit einem selbst signierten Zertifikat Als erstes sollte &#8211; sofern notwendig &#8211; &#8220;submission&#8221; freigeschaltet werden. Dazu müssen folgende Zeilen in der master.cf einkommentiert werden: /etc/postfix/master.cf submission inet n - - - [...]]]></description>
			<content:encoded><![CDATA[<p>Aus <a href="http://blog.alonso.ch/paste-bin/byebye-port-25/">aktuellem Anlass</a> ist es nun höchste Zeit, Submission idealerweise mit TLS (optional) zu aktivieren.</p>
<p>Folgendes Mini HowTo zeigt die Vorgehensweise unter Debian Lenny mit einem selbst signierten Zertifikat<br />
<span id="more-73"></span><br />
Als erstes sollte &#8211; sofern notwendig &#8211; &#8220;submission&#8221; freigeschaltet werden. Dazu müssen folgende Zeilen in der master.cf einkommentiert werden:</p>
<p><strong>/etc/postfix/master.cf</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">submission inet n       -       -       -       -       smtpd
  -o smtpd_enforce_tls=no
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</pre></div></div>

<p>Danach legen wir einen neuen Ordner für die benötigten Zertifikate an:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>ssl
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>ssl</pre></div></div>

<p>Nun können wir einen privaten RSA Key generieren (2048 Bit)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl genrsa <span style="color: #660033;">-out</span> smtp.key <span style="color: #000000;">2048</span></pre></div></div>

<p>Weiter gehts mit dem CSR (Certificate Signing Request)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl req <span style="color: #660033;">-new</span> <span style="color: #660033;">-key</span> smtp.key <span style="color: #660033;">-out</span> smtp.csr</pre></div></div>

<p>Die entsprechenden Angaben sollten mehr oder weniger seriös ausgefüllt werden. Funktionsbezogen ist allerdings nur der CN (Common Name). Hier muss der Hostname des Mailservers eingetragen werden &#8211; oder ein entsprechender Wildcard (z.B. smtp.beispieldomain.ch oder *.beispieldomain.ch).</p>
<p>Nun können wir unser Zertifikat anlegen (In diesem Beispiel 365 Tage gültig)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl x509 <span style="color: #660033;">-req</span> <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span> <span style="color: #660033;">-in</span> smtp.csr <span style="color: #660033;">-out</span> smtp.cert <span style="color: #660033;">-signkey</span> smtp.key</pre></div></div>

<p>Nun ergänzen wir noch die main.cf, oder passen die bereits vorhanden Werte an.</p>
<p><strong>/etc/postfix/main.cf</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">smtpd_tls_auth_only = no
smtpd_enforce_tls = no
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_cert_file = /etc/postfix/ssl/smtp.cert
smtpd_tls_key_file = /etc/postfix/ssl/smtp.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom</pre></div></div>

<p>Mit dem Parameter <em>smtpd_tls_security_level</em> kann bestimmt werden, ob auch unverschlüsselte Verbindungen erlaubt sind. In diesem Beispiel überlassen wir die Entscheidung über eine allfällige Verschlüsselung beim Client und setzten den Wert daher auf &#8220;may&#8221;.</p>
<p>Der Parameter <em>smtpd_tls_auth_only</em> definiert, ob nur noch mittels TLS Authentifiziert werden kann. Dies ist bei allgemeinen Mailservern nicht unbedingt empfehlenswert, da sich sonst massenhaft <em>relay access denied</em> Fehler ansammeln werden durch eine &#8220;fehlgeschlagene&#8221; Authentifizierung von &#8220;dummen&#8221; clients.<br />
Sicherheitstechnisch müsste dieser Wert allerdings defenitiv aktiviert sein.</p>
<p>Danach noch Postfix neu initialisieren &#8211; und testen.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">postfix reload</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ByeBye Port 25</title>
		<link>http://blog.alonso.ch/paste-bin/byebye-port-25/</link>
		<comments>http://blog.alonso.ch/paste-bin/byebye-port-25/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 02:36:07 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[paste.bin]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[Swisscom]]></category>
		<category><![CDATA[TLS]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=70</guid>
		<description><![CDATA[Viele DSL/Cable Provider neigen momentan mehr oder weniger berechtigterweise dazu den normalen SMTP Port 25 für ausgehende Mails zu sperren. Ein aktuelles Beispiel wäre momentan gerade Swisscom/Bluewin, wie Inside-IT berichtet. Im aktuellen Fall erhällt der heimische Nutzer folgende Zustellmeldung per E-Mail zurückgeschickt: Ihre Nachricht hat einige oder alle Empfänger nicht erreicht. Betreff: ***** Gesendet am: [...]]]></description>
			<content:encoded><![CDATA[<p>Viele DSL/Cable Provider neigen momentan mehr oder weniger berechtigterweise dazu den normalen SMTP Port 25 für ausgehende Mails zu sperren. Ein aktuelles Beispiel wäre momentan gerade Swisscom/Bluewin, wie <a href="http://www.inside-it.ch/frontend/insideit?_d=_article&#038;site=ii&#038;news.id=20588">Inside-IT</a> berichtet.<br />
<span id="more-70"></span><br />
Im aktuellen Fall erhällt der heimische Nutzer folgende Zustellmeldung per E-Mail zurückgeschickt:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Ihre Nachricht hat einige oder alle Empfänger nicht erreicht.
      Betreff:  ***** 
      Gesendet am:      dd.mm.yyyy HH:MM
Folgende(r) Empfänger kann/können nicht erreicht werden:
'*****' am dd.mm.yyyy HH:MM
573 573  
Authentifizierte Verbindungen nicht moeglich. Bitte nutzen Sie den Port 587 oder kontaktieren Sie uns unter 0800 800 800. 
Connexions authentifiees pas possible. Veuillez utiliser le port 587 ou nous appeler au 0800 800 800.
Collegamenti autenticati non possibili. Prego voi uso la porta 587 oppure contattare il numero 0800 800 800.
Authenticated connections not possible. Please use port 587 or contact us on 0800 800 800.</pre></div></div>

<p>Offenbar hat dieser Schritt bei vielen Providern erheblichen Supportaufwand produziert. Zumindest eröffneten <a href="http://support.hostpoint.ch/index.php?page=DefconDetailPage&#038;defcon=455">Hostpoint</a> und <a href="http://www.cyon.ch/status/statusentry.php?id=365">Cyon</a> Statustickets zu dieser Problematik. Ebenfalls wurde auf der <a href="http://www.mail-archive.com/swinog@lists.swinog.ch/msg04276.html">Swinog Mailingliste</a> ordentlich darüber diskutiert.</p>
<p>Offiziell will man dadurch das versenden von Spam über Mailserver ohne Authentifizierung/Verschlüsselung unterbinden (z.B. durch Viren). Ob die entsprechenden Mailserver unter Port 587 (Submission) aber sicherer konfiguriert sind bezweifle ich. Zumal auch hier eine Verschlüsselung (TLS) nicht zwingend erforderlich ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/paste-bin/byebye-port-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Setup und Konfiguration &#8211; Sicherheit vs. Performance</title>
		<link>http://blog.alonso.ch/tech/sicherheit/php-setup-und-konfiguration-sicherheit-vs-performance/</link>
		<comments>http://blog.alonso.ch/tech/sicherheit/php-setup-und-konfiguration-sicherheit-vs-performance/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 00:13:54 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[open_basedir]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[safe_mode]]></category>
		<category><![CDATA[suexec]]></category>
		<category><![CDATA[suPHP]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=65</guid>
		<description><![CDATA[PHP wird den Ruf der unsicheren Bastlerumgebung einfach nicht los. Selbst wenn einige Sicherprobleme in der Tat gravierend waren &#8211; wurde der wirkliche Schaden durch ein falsches Setup der PHP-Umgebung noch verschlimmert oder ausgeweitet. Dieser Artikel soll konzeptionell aufzeigen wie Serverseitig eine möglichst ideale Umgebung bereitgestellt werden kann. Die Sicherheit innerhalb von PHP Scripts wird [...]]]></description>
			<content:encoded><![CDATA[<p>PHP wird den Ruf der unsicheren Bastlerumgebung einfach nicht los. Selbst wenn einige Sicherprobleme in der Tat gravierend waren &#8211; wurde der wirkliche Schaden durch ein falsches Setup der PHP-Umgebung noch verschlimmert oder ausgeweitet. </p>
<p>Dieser Artikel soll konzeptionell aufzeigen wie Serverseitig eine möglichst ideale Umgebung bereitgestellt werden kann. Die Sicherheit innerhalb von PHP Scripts wird hier nicht behandelt.</p>
<p><span id="more-65"></span><br />
<strong>Setup</strong><br />
PHP kann grundsätzlich auf 2 Arten installiert/betrieben werden.</p>
<ul>
<li>Als Modul eigebunden in den Webserver (z.B. Apache). Somit läuft der PHP-Interpreter sammt seinen Modulen persistent und logischerweis unter demselben User wie der Webserver selbst. Dadurch hat PHP grundsätzlich auch dieselben Rechte wie der Webserver auf dem System. Von PHP erstellte Dateien gehören somit danach auch dem &#8220;Webserver&#8221; &#8211; und nicht dem User. Diese können danach möglicherweise per FTP z.B. nicht gelöscht oder geändert werden.<br />
Ein paar spezifische Manipulationen an der Konfigurationsdatei php.ini sind pro vHost möglich.</p>
<p>Diese Variante eignet sich primär für einzelne Webprojekte &#8211; auf keinen Fall für Shared Hosting.</li>
<li>Als CGI. Wenn ein PHP-Script &#8220;interpretiert&#8221; werden muss &#8211; wird dazu ein neuer Prozess gestartet, der zuerst PHP initialisiert, die Module lädt &#8211; und dann erst seine Arbeit startet. Defaultmässig läuft die CGI-Variante auch unter dem User des Webservers.<br />
Der Resourcenverbrauch gegenüber der Modul-Variante ist natürlich massiv höher &#8211; da neben dem Overhead durch das starten des Threads die Module nicht geshared werden können.</li>
</ul>
<p>Auf den ersten Blick hat somit Variante 2 eigentlich nur Nachteile. ABER: Durch zusätzliche Wrapper können die Threads unter dem eigentlichen User des vHosts ausgeführt werden. Hier gibt es aktuell <a href="http://httpd.apache.org/docs/2.0/suexec.html">suExec</a> und <a href="http://www.suphp.org">suPHP</a>. Ersteres simuliert näherungsweise die Modul Variante &#8211; da die Threads noch künstlich am Leben erhalten werden können für allfällige weitere Aufgaben. suPHP startet und beendet dagegen den Thread bei jeder &#8220;Interpretation&#8221;</p>
<p>Pro vhost kann hier eine komplett eigene php.ini verwendet werden &#8211; sowie (wenn erwünscht) eine eigene PHP-Versionen. Von PHP erstelle Files gehören danach vHost-User und können problemlos per FTP mutiert werden.</p>
<p>Somit hätte man also Grundsätzlich die &#8220;Sicherheit&#8221; durch den Thread sichergestellt &#8211; und hat eigentlich bereits ansatzweise eine <a href="http://de.wikipedia.org/wiki/Chroot">chroot()</a> Umgebung für PHP.</p>
<p>Als Systemadmin hat man durch diese Variante zudem den grossen Vorteil, das sofort ersichtlich ist wem welche Threads gehören.</p>
<p><strong>Konfiguration</strong><br />
Weiter ist die Konfiguration von PHP vorsichtig zu definieren. Folgende Funktionen sollten wirklich nur bei Bedarf aktiviert werden:</p>
<ul>
<li><a href="http://ch2.php.net/manual/de/function.exec.php">exec()</a></li>
<li><a href="http://ch2.php.net/manual/de/function.passthru.php">passthru()</a></li>
<li><a href="http://ch2.php.net/manual/de/function.system.php">system()</a></li>
<li><a href="http://ch2.php.net/manual/de/function.popen.php">popen()</a></li>
<li><a href="http://ch2.php.net/manual/de/function.ini-set.php">ini_set()</a></li>
<li><a href="http://ch2.php.net/manual/de/function.ini-restore.php">ini_restore()</a></li>
</ul>
<p>&#8211;>Einzelne Funktionen können gezielt mittels der php.ini gesperrt werden. </p>
<p><strong>open_basedir</strong><br />
Sehr wichtig ist ausserdem das <a href="http://www.php.net/manual/en/ini.core.php#ini.open-basedir">open_basedir</a>. Leider werden die Sicherheitsmassnahmen nicht selten ganz alleine auf diese Einstellung beschränkt. Man muss sich aber bewusst sein dass das open_basedir lediglich für Filehandles berücksichtigt wird &#8211; nicht aber für exec, system etc..  </p>
<p><strong>safe_mode?</strong><br />
Der <a href="http://www.php.net/manual/en/ini.sect.safe-mode.php">safe_mode</a> war ein etwas unglücklicher Ansatz, die PHP Umgebung abzusichern. In der Praxis sind dadurch mehr Probleme als Lösungen entstanden. Da der safe_mode zukünftig wieder komplett wegfällt &#8211; sollten wir diesen nicht weiter berücksichtigen. </p>
<p><strong>Kontrolle</strong><br />
Als Anwender kann das PHP-Setup über ein einfaches <a href="http://ch.php.net/manual/de/function.phpinfo.php">phpinfo()</a> jederzeit ermittelt werden.</p>
<p>Der Parameter &#8220;Server API&#8221; zeigt z.B. auf &#8211; wie PHP installiert worden ist.</p>
<ul>
<li>Apache-Modul: Apache 2.0 Handler</li>
<li>CGI: CGI/FastCGI</li>
</ul>
<p><strong>Fazit</strong><br />
PHP als Modul eignet sich primär für Einzelprojekte. Im Shared Hosting Bereich ist diese Variante nur für den Betreiber interressant, da effizient und somit lukrativ. Als Kunde (Shared Hosting) sollten sie eine solche Dienstleistung auf keinen Fall unterstützen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/sicherheit/php-setup-und-konfiguration-sicherheit-vs-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cowsay &#8211; Ascii Spass für die Konsole</title>
		<link>http://blog.alonso.ch/paste-bin/cowsay-ascii-spass-fur-die-konsole/</link>
		<comments>http://blog.alonso.ch/paste-bin/cowsay-ascii-spass-fur-die-konsole/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 00:55:56 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[paste.bin]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[Lenny]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=57</guid>
		<description><![CDATA[Cowsay (bzw. Cowthink) erstellt ein paar simple ASCII-Grafiken auf der Konsole mit einem beliebigen Textinhalt. Könnte man z.B. benutzen um MOTD-Banner zu erstellen, oder die Benutzer über die .bashrc auf eine spezielle Art und Weise zu begrüssen. Installation unter Debian Lenny: apt-get install cowsay ln -s /usr/games/cowsay /usr/bin/cowsay Das wars eigentlich schon. Ein erster Test: [...]]]></description>
			<content:encoded><![CDATA[<p>Cowsay (bzw. Cowthink) erstellt ein paar simple ASCII-Grafiken auf der Konsole mit einem beliebigen Textinhalt. Könnte man z.B. benutzen um MOTD-Banner zu erstellen, oder die Benutzer über die .bashrc auf eine spezielle Art und Weise zu begrüssen.<br />
<span id="more-57"></span><br />
Installation unter Debian Lenny:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> cowsay
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>games<span style="color: #000000; font-weight: bold;">/</span>cowsay <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>cowsay</pre></div></div>

<p>Das wars eigentlich schon.</p>
<p>Ein erster Test:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">cowsay <span style="color: #ff0000;">&quot;blog.alonso.ch&quot;</span></pre></div></div>

<p>Müsste zu folgendem Resultat führen:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> ________________
&lt; blog.alonso.ch &gt;
 ----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||</pre></div></div>

<p>Unter <em>/usr/share/cowsay/cows/</em> sind ausserdem diverse Templates vorhanden, welche alternativ über den Parameter -f verwendet werden können.</p>
<p>Ein weiteres Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">cowsay <span style="color: #660033;">-f</span> bunny <span style="color: #ff0000;">&quot;blog.alonso.ch&quot;</span></pre></div></div>

<p>Müsste zu folgendem Resultat führen:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;"> ________________
&lt; blog.alonso.ch &gt;
 ----------------
  \
   \   \
        \ /\
        ( )
      .( o ).</pre></div></div>

<p>Natürlich kann die Kuh auch über die Pipe gefüttert werden.</p>
<p>Ein letztes Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>meminfo <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> MemFree <span style="color: #000000; font-weight: bold;">|</span> cowsay <span style="color: #660033;">-f</span> tux</pre></div></div>

<p>Müsste zu folgendem Resultat führen:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">  ____________________
&lt; MemFree: 369624 kB &gt;
 --------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/</pre></div></div>

<p>Natürlich kann die Kuh noch viel mehr, siehe Manpage</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/paste-bin/cowsay-ascii-spass-fur-die-konsole/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios Basiskonfiguration</title>
		<link>http://blog.alonso.ch/tech/nagios-basiskonfiguration/</link>
		<comments>http://blog.alonso.ch/tech/nagios-basiskonfiguration/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:53:08 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[ecall]]></category>
		<category><![CDATA[Konfiguration]]></category>
		<category><![CDATA[SMS]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=33</guid>
		<description><![CDATA[Nachdem Nagios installiert ist, kann mit der Konfiguration der Hosts und Services begonnen werden. Für dieses Beispiel haben wir folgende Anforderungen: SMS &#8211; und E-Mail Alarmierung Unterschiedliche Support-Teams pro Host Möglichst wenig Aufwand SMS-Gateway Der SMS-Versand soll in unserem Fall über den E-Mail2SMS Gateway von eCall (Schweiz) erfolgen. Dazu benötigen wir dort natürlich einen Account [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem Nagios <a href="http://blog.alonso.ch/tech/nagios/quickstart-nagios3-auf-debian-lenny-installieren/">installiert</a> ist, kann mit der Konfiguration der Hosts und Services begonnen werden.</p>
<p><strong>Für dieses Beispiel haben wir folgende Anforderungen:</strong></p>
<ul>
<li>SMS &#8211; und E-Mail Alarmierung</li>
<li>Unterschiedliche Support-Teams pro Host</li>
<li>Möglichst wenig Aufwand</li>
</ul>
<p><span id="more-33"></span><br />
<strong>SMS-Gateway</strong><br />
Der SMS-Versand soll in unserem Fall über den <a href="http://www.ecall.ch/pa.asp?100115wep">E-Mail2SMS Gateway von eCall</a> (Schweiz) erfolgen. Dazu benötigen wir dort natürlich einen Account und ein Guthaben. Zudem muss dort der &#8220;Zugang via E-Mail&#8221; freigeschaltet sein und unsere Nagios E-Mailadresse als gültiger Absender eingetragen sein. In diesem Beispiel wollen wir den Empfänger im An-Feld der E-Mail zuweisen (also z.B. +41791234567@sms.ecall.ch).</p>
<p><strong>Konfiguration</strong><br />
Die Nagios-Konfigurationsfiles liegen in unserem Setup unter /etc/nagios3/conf.d. Die bestehenden Files dort löschen wir vorerst. (Natürlich könnten die vorhanden Files auch übernommen und angepasst werden).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nagios3<span style="color: #000000; font-weight: bold;">/</span>conf.d<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #000000; font-weight: bold;">*</span>.cfg</pre></div></div>

<p><strong>Perioden</strong><br />
Nagios erlaubt es, verschiedene Zeitpläne zu verwalten, damit die Alarmierung z.B. nur während Bürozeiten erfolgt. In unserem Setup benutzen wir diese Möglichkeit allerdings nicht und alarmieren somit 24&#215;7.</p>
<p>/etc/nagios3/conf.d/periods.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">###############################################################################
# periods.cfg
###############################################################################
&nbsp;
# Unfriendly period
define timeperiod{
        timeperiod_name 24x7
        alias           24 Hours A Day, 7 Days A Week
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }</pre></div></div>

<p><strong>Kontakte und Kontaktgruppen</strong><br />
Dies sind die Alarmempfänger. Damit unser Setup flexibel und einfach bleibt, arbeiten wir ausschliesslich über Kontaktgruppen. So können später die Alarmempfänger ganz einfach hier in Gruppen ein/ausgetragen werden.</p>
<p>/etc/nagios3/conf.d/contacts.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">###############################################################################
# contacts.cfg
###############################################################################
&nbsp;
# Persons
define contact{
        contact_name                    admin1
        alias                           Your friendly Hostadmin 1
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-email, notify-service-by-sms
        host_notification_commands      notify-host-by-email, notify-host-by-sms
        email                           admin1@mail.tld
        pager                           004179*******@msg.ecall.ch
}
&nbsp;
&nbsp;
define contact{
        contact_name                    admin2
        alias                           Your unfriendly Hostadmin 2
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-email, notify-service-by-sms
        host_notification_commands      notify-host-by-email, notify-host-by-sms
        email                           admin2@mail.tld
        pager                           004179*******@msg.ecall.ch
}
&nbsp;
# Contactgroups
define contactgroup{
        contactgroup_name       staff
        alias                  All SysAdmins
        members                 admin1, admin2
}
&nbsp;
define contactgroup{
        contactgroup_name       company1
        alias                   Company 1
        members                 admin1
}
&nbsp;
define contactgroup{
        contactgroup_name       company2
        alias                  Company 2
        members                 admin2
}</pre></div></div>

<p>Das &#8220;Pager&#8221; Attribut wird in unserem Fall verwendet, um den SMS-Empfänger einzutragen. In den Kontaktgruppen werden nun jeweils unsere Members eingetragen. Diese werden im entsprechenden Fall ALLE informiert.</p>
<p><strong>Host-Template</strong><br />
Es können verschiedene Host-Templates erfasst werden. Wir verwenden vorerst das Defaultemplate von Nagios weiter</p>
<p>/etc/nagios3/conf.d/template-host.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">##############################################################################
# template-host.cfg
##############################################################################
&nbsp;
define host{
        name                            generic-host
        notifications_enabled           1       ; Host notifications
        event_handler_enabled           1       ; Host event handler
        flap_detection_enabled          1       ; Flap detection
        failure_prediction_enabled      1       ; Failure prediction
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
                check_command                   check-host-alive
                max_check_attempts              10
                notification_interval           0
                notification_period             24x7
                notification_options            d,u,r
                contact_groups                  admins
        register                        0
        }</pre></div></div>

<p><strong>Hosts</strong><br />
Langsam wirds spannend &#8211; Wir erfassen unsere Hosts. Die können etntweder mit ihrem Hostnamen oder ihrer IP &#8220;adressiert&#8221; werden. Über das &#8220;use&#8221; Attribut wird das Template bestimmt, welches wir verwenden wollen. Wenn erwünscht können für einzelne Hosts auch die Parameter des Templates übersteuert werden.</p>
<p>/etc/nagios3/conf.d/hosts.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">##############################################################################
# hosts.cfg
##############################################################################
define host {
        host_name       nagioshost
        alias           mynagios.something.tld
        address         localhost
        use             generic-host
        contact_groups  staff
        }
&nbsp;
define host {
        host_name       server1
        alias           server1.something.com
        address         xxx.xxx.xxx.xxx
        use             generic-host
        contact_groups  company1
        }
&nbsp;
define host {
        host_name       server2
        alias           server2.something.com
        address         xxx.xxx.xxx.xxx
        use             generic-host
        contact_groups  company2
        }</pre></div></div>

<p>Über die contact_groups weisen wir nun die zuständigen Teams direkt dem Host zu. Damit werden danach alle Alarme für den Host und seine Services entsprechend zugestellt.</p>
<p><strong>Hostgruppen</strong><br />
Über die Hostgruppen können Hosts logisch gruppiert werden (Dienst, Funktion..). Natürlich kann ein Host auch in mehreren Gruppen zugeteilt werden.</p>
<p>/etc/nagios3/conf.d/hostgroups.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">##############################################################################
# hostgroups.cfg
##############################################################################
define hostgroup {
        hostgroup_name  all
                alias           All Servers
                members         *
        }
&nbsp;
# Web servers
define hostgroup {
        hostgroup_name  http-servers
                alias           HTTP servers
                members         nagioshost, server1
        }
&nbsp;
define hostgroup {
        hostgroup_name          https-servers
                alias           HTTPS servers
                members         nagioshost, server2
        }
&nbsp;
&nbsp;
# SSh Servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         server1, server2
        }</pre></div></div>

<p>Es lohnt sich hier, die Gruppen klever zu bestimmen und einzuteilen.</p>
<p><strong>Dienst-Template</strong><br />
Es können verschiedene Dienst-Templates erfasst werden. Wir verwenden hier bis auf einige Details das Defaultemplate von Nagios weiter</p>
<p>/etc/nagios3/conf.d/template-service.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">##############################################################################
# template-service.cfg
##############################################################################
&nbsp;
define service{
        name                            generic-service
        active_checks_enabled           1       ; Active service checks
        passive_checks_enabled          1       ; Passive service checks
        parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)
        obsess_over_service             1       ; We should obsess over this service (if necessary)
        check_freshness                 0       ; Default is to NOT check service 'freshness'
        notifications_enabled           1       ; Service notifications 
        event_handler_enabled           1       ; Service event handler 
        flap_detection_enabled          1       ; Flap detection 
        failure_prediction_enabled      1       ; Failure prediction 
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
                notification_interval           0               ; Only send notifications on status change by default.
                is_volatile                     0
                check_period                    24x7
                normal_check_interval           5
                retry_check_interval            1
                max_check_attempts              4
                notification_period             24x7
                notification_options            w,u,c,r
        register                        0
        }</pre></div></div>

<p>Wichtig ist hier, dass KEIN contact/contact_group zugewiesen wird. Dadurch werden diese Informationen vererbt (in unserem Fall vom Host).</p>
<p><strong>Dienste</strong><br />
Als letztes können wir nun noch die zu überwachenden Dienste definieren.</p>
<p>/etc/nagios3/conf.d/services.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">###############################################################################
# services.cfg
###############################################################################
define service {
        hostgroup_name                  http-servers
        service_description             HTTP
        check_command                   check_http
        use                             generic-service
        notification_interval           0 ; set &gt; 0 if you want to be renotified
}
&nbsp;
&nbsp;
define service {
        hostgroup_name                  https-servers
        service_description             HTTPS
        check_command                   check_https
        use                             generic-service
        notification_interval           0 ; set &gt; 0 if you want to be renotified
}
&nbsp;
define service {
        hostgroup_name                  ssh-servers
        service_description             SSH
        check_command                   check_ssh
        use                             generic-service
        notification_interval           0 ; set &gt; 0 if you want to be renotified
}</pre></div></div>

<p>Die Dienste werden idealerweise an Hostgruppen zugewiesen, da dies die Administration erleichtert. So können z.B. für Hostgruppen gleich mehrere Dienste überwacht werden.</p>
<p>Natürlich können auch unzählige weitere Dienste überwachen oder gar eigene Plugins schreiben. Die <a href="http://nagios.sourceforge.net/docs/3_0/toc.html">Nagios Dokumentation</a> hilft weiter <img src='http://blog.alonso.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Eigene Befehle (commands)</strong><br />
Als letztes müssen wir noch die beiden neuen Commands (notify-host-by-sms, notify-service-by-sms) eintragen. Die bestehenden commands dürfen/müssen natürlich weiter existieren.</p>
<p>/etc/nagios3/commands.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">...
# host 'notify-host-by-sms' command definition
define command{
        command_name    notify-host-by-sms
        command_line    /usr/bin/printf &quot;%b&quot; &quot;\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nDate/Time: $LONGDATETIME$\n&quot; | /usr/bin/mail -s &quot;** NAGIOS **&quot; $CONTACTPAGER$
        }
&nbsp;
# 'notify-service-by-sms' command definition
define command{
        command_name    notify-service-by-sms
        command_line    /usr/bin/printf &quot;%b&quot; &quot;\nHost: $HOSTALIAS$\nService: $SERVICEDESC$\nState: $SERVICESTATE$\nDate/Time: $LONGDATETIME$&quot; | /usr/bin/mail -s &quot;** NAGIOS **&quot; $CONTACTPAGER$
        }
..</pre></div></div>

<p>Dies ist gleichzeitig das Nachrichtentemplate, welches natürlich beliebig ergänzt werden kann. Mein Beispiel ist so definiert dass die 160 Zeichen möglichst nicht überschritten werden.</p>
<p><strong>Nagios neu starten</strong><br />
Damit unsere Konfiguration übernommen wird, muss Nagios neu gestartet werden</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nagios3 restart</pre></div></div>

<p>(Allfällige Fehler in der Konfiguration werden direkt beim Start von Nagios auf die Shell zurückgemeldet)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/nagios-basiskonfiguration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AC/DC Tickets &#8211; Vorsicht beim Ticketkauf</title>
		<link>http://blog.alonso.ch/allgemein/acdc-tickets/</link>
		<comments>http://blog.alonso.ch/allgemein/acdc-tickets/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 16:40:24 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[AC/DC]]></category>
		<category><![CDATA[Ticketcorner]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=27</guid>
		<description><![CDATA[Heute wars mal wieder soweit: Der Vorverkauf der AC/DC Tickets für das Konzert am 8. Juni 2010 in Bern startete pünktlich um 08:00 Uhr. Traditionell war die Ticketcorner Webseite für längere Zeit down &#8211; und die Hotline überlastet. Offenbar sollen sogar gewisse Ticketcorner-Fillialen ausgefallen sein. Gemäss 20min war das Konzert prompt nach 12 Minuten ausverkauft. [...]]]></description>
			<content:encoded><![CDATA[<p>Heute wars mal wieder soweit: Der Vorverkauf der AC/DC Tickets für das Konzert am 8. Juni 2010 in Bern startete pünktlich um 08:00 Uhr. Traditionell war die Ticketcorner <a href="http://www.ticketcorner.com">Webseite</a> für längere Zeit down &#8211; und die Hotline überlastet. Offenbar sollen sogar gewisse Ticketcorner-Fillialen ausgefallen sein.</p>
<p>Gemäss <a href="http://www.20min.ch/unterhaltung/sounds/story/29541297">20min</a> war das Konzert prompt nach 12 Minuten ausverkauft. Lediglich über den <a href="http://www.acdc.com/">AC/DC Fanclub</a> waren noch bis am Mittag Tickets erhältlich, allerdings gegen 40$ Clubbeitrag und zu leicht höheren Tarifen als beim Ticketcorner. Diese Tickets konnten über einen vom Club generierten &#8220;presale access code&#8221; bei <a href="http://www.etix.com">etix</a> gekauft werden. Zugestellt werden diese Tickets dann allerdings erst ~2 Wochen vor dem Konzert.</p>
<p><span id="more-27"></span></p>
<p>Ebenfalls traditionell sind nun viele Tickets auf diversen Plattformen zu unglaublichen Preisen zu erwerben &#8211; auch solche aus dem Fanclub-Angebot. Offenbar haben aber viele &#8220;Tickethändler&#8221; es verpasst, die Bestimmungen von <a href="http://www.etix.com">etix</a> vorher zu lesen:</p>
<blockquote><p>PLEASE BE AWARE OF THE FOLLOWING: </p>
<p>This ticket is a revocable license.  Any violation of law while attending this event may result in holder being removed from the premises without refund of any portion of the ticket price or charges. The holder of this ticket voluntarily assumes all risks of property loss and personal injury arising during its use whether prior to, during, or after the event and agrees that etix.com, the venue, its management and affiliates of the event are not liable under any theory whatsoever.  <strong>This ticket is non-transferable. Any transfer, attempted transfer, resale, counterfeit, or unauthorized copy is grounds for seizure from and/or cancellation without refund</strong>.  Tickets obtained from an unauthorized source may be stolen, copied illegally, counterfeit or lost and if so, may be seized and cancelled without compensation.  There are no refunds or exchanges.  Event dates, times and locations are subject to change.  etix.com reserves the right to change this information without notification. </p></blockquote>
<p>Kurz zusammengefasst:<br />
Diese Ticket werden durch den Weiterverkauf streng betrachtet wertlos &#8211; natürlich ohne Rückerstattung. Halt ein Ticket für den echten Fan &#8211; und nicht für den &#8220;Schwarzmarkt&#8221;.</p>
<p>Seien sie also vorsichtig wenn sie Tickets auf dem &#8220;Schwarzmarkt&#8221; kaufen wollen. </p>
<p>Stellt sich die Frage, wie man dem Schwarzmarkt grundsätzlich entgegen wirken könnte?<br />
Wieso stellt der Ticketcorner für solche Events eigentlich nicht eine eigene Auktionsplattform bereit? Das würde den Ansturm drastisch reduzieren, und vermutlich auch weitgehend den Schwarzmarkt ausbremsen &#8211; da kaum jedes der 40&#8217;000 Tickets ein mehrfaches über seinem Wert gehandelt würde. Ausserdem hätten auch die Leute morgens um 08:00 Uhr arbeiten müssen eine faire Chance &#8220;offizielle&#8221; Tickets zu erwerben.</p>
<p>Das zusätzlich eingebrachte Geld könnte sicherlich auch noch irgendwie sinnvoll investiert werden..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/allgemein/acdc-tickets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Was das &#8220;Internet&#8221; über sie weiss..</title>
		<link>http://blog.alonso.ch/tech/sicherheit/was-das-internet-uber-sie-weiss/</link>
		<comments>http://blog.alonso.ch/tech/sicherheit/was-das-internet-uber-sie-weiss/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 17:34:41 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Datenschutz]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Historie]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=18</guid>
		<description><![CDATA[Die Thematik mit der lokalen Browserchronik ist eigentlich ein alter Hut. Aber wussten sie, dass diese Informationen in ähnlicher Form auch von fremden Webseiten ausgelesen werden können? Lassen sie sich überraschen:  http://www.whattheinternetknowsaboutyou.com Einen kriminellen Nutzen davon gibt es kaum, viel spannender dürfte sowas allerdings für Werbezwecke sein. Dennoch sind es &#8220;ihre&#8221; Daten &#8211; und sollten [...]]]></description>
			<content:encoded><![CDATA[<p>Die Thematik mit der lokalen Browserchronik ist eigentlich ein alter Hut. Aber wussten sie, dass diese Informationen in ähnlicher Form auch von fremden Webseiten ausgelesen werden können?</p>
<p>Lassen sie sich überraschen:  <a title="Was das Internet über sie weiss" href="http://www.whattheinternetknowsaboutyou.com" target="_blank">http://www.whattheinternetknowsaboutyou.com</a></p>
<p>Einen kriminellen Nutzen davon gibt es kaum, viel spannender dürfte sowas allerdings für Werbezwecke sein. Dennoch sind es &#8220;ihre&#8221; Daten &#8211; und sollten es auch bleiben.</p>
<p>Bei Mozilla ist diese Problematik längst bekannt, wie folgende 2 Tickets bestätigen:</p>
<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=57351" target="_blank">Ticket #57351</a>, bzw. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=147777" target="_blank">Ticket #147777</a></p>
<p>Für den Firefox gibt es aktuell folgende Gegenmassnahme:</p>
<p><span id="more-18"></span>Installieren sie das Add-On &#8220;<a href="https://addons.mozilla.org/de/firefox/addon/12312" target="_blank">Link Status</a>&#8221;</p>
<p>Danach bei den Extras-&gt;Add-Ons-&gt;Linkstatus:Einstellungen&#8221;Bereits besuchte Links nicht stilisieren&#8221; markieren und bestätigen:</p>
<p><img class="alignnone size-full wp-image-19" title="Link Status.gif" src="http://blog.alonso.ch/wp-content/uploads/Link-Status.gif.gif" alt="" width="241" height="134" /></p>
<p>Das war&#8217;s <img src='http://blog.alonso.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/sicherheit/was-das-internet-uber-sie-weiss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quickstart: Nagios3 auf Debian Lenny installieren</title>
		<link>http://blog.alonso.ch/tech/nagios/quickstart-nagios3-auf-debian-lenny-installieren/</link>
		<comments>http://blog.alonso.ch/tech/nagios/quickstart-nagios3-auf-debian-lenny-installieren/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 15:49:38 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Lenny]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=10</guid>
		<description><![CDATA[Dia Basisinstallation von Nagios3 unter Debian Lenny ist eigentlich keine grosse Herausforderung und innert Minuten erledigt. Die Anforderungen: Betriebsfähiges Debian Lenny (32 oder 64Bit) mit intaktem Netzwerksetup Konsole oder SSH Zugang mit Root-Account ca. 200MB freier Speicherplatz (/usr, /var) Texteditor (z.B. vim) Die Installation kann direkt über die Packete aus dem Repository gestartet werden: apt-get [...]]]></description>
			<content:encoded><![CDATA[<p>Dia Basisinstallation von Nagios3 unter Debian Lenny ist eigentlich keine grosse Herausforderung und innert Minuten erledigt.</p>
<p>Die Anforderungen:</p>
<ol>
<li>Betriebsfähiges Debian Lenny (32 oder 64Bit) mit intaktem Netzwerksetup</li>
<li>Konsole oder SSH Zugang mit Root-Account</li>
<li>ca. 200MB freier Speicherplatz (/usr, /var)</li>
<li>Texteditor (z.B. vim)</li>
</ol>
<p><span id="more-10"></span></p>
<p>Die Installation kann direkt über die Packete aus dem Repository gestartet werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> nagios3 apache2</pre></div></div>

<p>(Durch die Packetabhängigkeiten werden alle notwendigen Packete automatisch mitinstalliert)</p>
<p>Damit ist schon ein beachtlicher Teil der Installation erledigt. Nun braucht es noch ein paar kleine Anpassungen.</p>
<p>Die Nagios-Konfiguration ist weitgehend unter /etc/nagios3 zu finden. Dort brauchen wir als erstes nun einen gültigen User für die HTTP-Autentifizierung.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nagios3
htpasswd <span style="color: #660033;">-c</span> htpasswd.users IHRBENUTZERNAME</pre></div></div>

<p>Danach wird das Passwort abgefragt. Mit diese Kombination aus User/Passwort können wir uns anschliessend auf unserer Nagios-Installation anmelden.</p>
<p>Als nächstes sollten wir nun die external commands aktivieren. Dadurch können wir direkt über Weboberfläche die Alarmierung aktivieren/deaktivieren.</p>
<p>Dazu bearbeiten wir die nagios.cfg:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nagios3<span style="color: #000000; font-weight: bold;">/</span>nagios.cfg</pre></div></div>

<p>Dort suchen wir uns folgende Zeile:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">check_external_commands=0</pre></div></div>

<p>Diese aktivieren wir durch ändern dieses Wertes auf 1:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">check_external_commands=1</pre></div></div>

<p>Danach müssen noch die Berechtigungen auf dem Filesystem angepasst werden, wa wir sonst diesen Fehler erhalten:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Error: Could not stat() command file '/var/lib/nagios3/rw/nagios.cmd'!</pre></div></div>

<p>Dies können wir relativ einfach beheben durch:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">touch</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>nagios3<span style="color: #000000; font-weight: bold;">/</span>rw<span style="color: #000000; font-weight: bold;">/</span>nagios.cmd
dpkg-statoverride <span style="color: #660033;">--update</span> <span style="color: #660033;">--add</span> nagios www-data <span style="color: #000000;">2710</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>nagios3<span style="color: #000000; font-weight: bold;">/</span>rw
dpkg-statoverride <span style="color: #660033;">--update</span> <span style="color: #660033;">--add</span> nagios nagios <span style="color: #000000;">751</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>nagios3
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nagios3 restart</pre></div></div>

<p>Das wars. Nun sollten sie unter http://NAGIOSIP/nagios3 auf ihr soeben installiertes Nagios zugreiffen können. </p>
<p>Natürlich braucht unser Nagios danach noch eine <a href="http://blog.alonso.ch/tech/nagios-basiskonfiguration/">Konfiguration</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/nagios/quickstart-nagios3-auf-debian-lenny-installieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
