All posts by Florian Wiessner

Die wikipedia Misere

Soeben habe ich den Post http://blog.koehntopp.de/archives/2675-Communitygift.html gelesen und muss sagen, dass mir der Autor Kristian Köhntopp aus der Seele spricht. Ich selbst habe zwar bisher erst einen einzigen Artikel auf den Weg gebracht, und nur diverse Korrekturen bei einigen Artikeln durchgeführt – aber wie der Autor schon angemerkt hat – es fehlt an Struktur. Durch die fehlende Struktur passieren Fehler, das kostet Zeit und Nerven – auf beiden Seiten. Hoffen wir mal dass sich das in Zukunft irgendwie zum Positiven verändert – Anregungen gibt es ja genug, die Frage ist eben nur, ob diese auch umgesetzt werden.

PHP IPv6 ip2long und long2ip Funktionen

php bietet aktuell ip2long() und long2ip() nur für IPv4 an, für IPv6 gibt es aktuell soweit ich weiss noch keine native Funktionen, deshalb hier meine zwei Funktionen um ip2long und long2ip auch für IPv6 zu verwenden – diese Funktionen benötigen die php gmp-lib, unter Debian: apt-get install php5-gmp:

$ipv6 = “2001:4860:a005::68”;
function ip2long6($ipv6) {
$ip_n = inet_pton($ipv6);
$bits = 15; // 16 x 8 bit = 128bit
while ($bits >= 0) {
$bin = sprintf(“%08b”,(ord($ip_n[$bits])));
$ipv6long = $bin.$ipv6long;
$bits–;
}
return gmp_strval(gmp_init($ipv6long,2),10);
}

function long2ip6($ipv6long) {

$bin = gmp_strval(gmp_init($ipv6long,10),2);
if (strlen($bin) < 128) {
$pad = 128 – strlen($bin);
for ($i = 1; $i <= $pad; $i++) {
$bin = “0”.$bin;
}
}
$bits = 0;
while ($bits <= 7) {
$bin_part = substr($bin,($bits*16),16);
$ipv6 .= dechex(bindec($bin_part)).”:”;
$bits++;
}
// compress

return inet_ntop(inet_pton(substr($ipv6,0,-1)));
}

print $ipv6long =  ip2long6($ipv6).”\n”;
print $ipv6 = long2ip6($ipv6long).”\n”;

Ergebnis:

42541956150894553250710573749450571880
2001:4860:a005::68

postfix policyd 1.80 und mysql ndb cluster als backend patch

Wer den postfix-policyd auf einem Mailserver Cluster einsetzen möchte, der bekommt zumindest mit einer Mysql-Cluster-Datenbank als Backend Probleme, denn NDBCluster unterstüzt kein “Insert delayed” Syntax.

Deshalb hier ein kleiner Patch, der den aktuellen source von debian lenny (postfix-policyd-1.80) patched, damit postfix-policyd keine delayed inserts mehr macht und einwandfrei mit Mysql-NDB-Cluster funktioniert.

postfix-policyd-1.80_mysqlndb.patch

Installiert wird das Ganze mit:

apt-get source postfix-policyd

wget https://www.netz-guru.de/wp-content/uploads/2009/08/postfix-policyd-1.80_mysqlndb.patch.txt

patch -p0 <postfix-policyd-1.80_mysqlndb.patch.txt

cd postfix-policyd-1.80

dpkg-buildpackage  -uc -b

Typo3 4.2.8 und PHP5.3 Kompatibilitäts-Patch

Heute hatte ich mal etwas Zeit über, und konnte mich einem weiteren kleinen Problem welches aus dem Upgrade auf PHP5.3 resultiert widmen. Einige Funktionen sind bei PHP5.3 nicht mehr verfügbar, oder werden mit PHP6.0 nicht mehr unterstüzt. Auf der php Webseite gibt es eine Liste aller veralteten Funktionen.

In Typo3 4.3.0alpha3 ist davon zwar Einiges, wenn nicht sogar Alles behoben, im aktuellen Stable 4.2.8 gibt es jedoch eine Menge Probleme, wenn man auf PHP5.3 umstellt. Deshalb hier der von mir erstellte Patch für typo3 4.2.8 mit PHP5.3

typo3-4.2.8-php5.3-compat-patch

Falls jemand wider Erwarten einen Fehler findet und mir mitteilt, so werde ich den neuen Patch ebenfalls hier veröffentlichen.

Einen komplett gepatchten source gibt es hier zum download, da viele User nicht wissen wie man mit patch umgeht:

https://www.netz-guru.de/wp-content/uploads/2009/07/typo3_src-4.2.8-compat-patched-php5.3.tgz

Internet Zensur und Internet Sperren des DNS in Deutschland umgehen

Am Freitag, den 17.04.2009 war es dann soweit. Die fünf größten Internet-Provider in Deutschland (www.t-online.de, www.arcor.de / www.vodafone.de, www.alice.de, www.kabel-deutschland.de und www.o2online.de / www.telefonica.de) haben einen Vertrag mit dem BKA unterzeichnet, in dem sie sich dazu bereit erklären, vom BKA gelieferte Listen von Domains über DNS-basierte Filter zu sperren.

Abgesehen davon, dass die Sperren an sich schon fraglich sind, da die Sperren gegen Artikel 5 GG verstossen, in dem es ausdrücklich heisst:

“(1) Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten. Die Pressefreiheit und die Freiheit der Berichterstattung durch Rundfunk und Film werden gewährleistet. Eine Zensur findet nicht statt.

haben die Sperren auch nicht die Wirkung, Kinderpornographie zu unterbinden, Kindesmisshandlungen oder Vergewaltigung zu verhindern, oder in sonst irgend einer Weise etwas auszurichten, außer dem BKA die Möglichkeit zu geben, willkürlich Seiten im Internet zu filtern. Willkürlich deshalb, weil diese Filterlisten “geheim” gehalten werden sollen, und weil es keine Möglichkeit der Kontrolle durch die Öffentlichkeit gibt. So können ebenfalls Webseiten unliebsamer Kritiker oder politischer Gegner gefiltert werden, ohne dass hierbei eine regulierende Instanz notfalls einschreiten könnte. Außerdem stellt sich die Frage, ob es nicht an sich schon strafbar ist, dass das BKA eine solche Liste weitergibt.

Was einem auch zu Denken geben sollte ist der Umstand, dass wenn eben eine solche Liste existiert auf der Webseiten erfasst sind, welche strafrechtlich relevantes Material verbreiten, warum denn dann die Strafverfolgungsbehörden nicht einfach die Provider anschreiben, in letzter Instanz die Server beschlagnahmen und den Geldfluss zu den eigentlichen Tätern zurückverfolgen.

Weiterhin ist es problematisch, über das DNS zu filtern, wenn man sich folgendes Szenario einmal vorstellt:

Angenommen, man möchte einen Konkurrenten im Internet ausschalten – man bräuchte nur einige anfällige Nameserver mittels DNS-Cache Poisoning mit IP-Adressen von Webseiten füttern, welche strafrechtlich relevantes Material anbieten und dann entweder abwarten, bis die Domain des Konkurrenten auf der Sperrliste des BKA landet, oder eben selbst nachhelfen, in dem man anonym die entsprechende Seite meldet.

Abgesehen davon ist es ein leichtes, die DNS Sperren der Provider zu umgehen:

  • Man suche sich im Internet Nameserver, welcher keiner Zensur unterliegen, z.b. die Nameserver von OpenDNS (208.67.222.222 und 208.67.220.220)
  • Man trage die Nameserver in die Netzwerkeinstellungen seines lokalen Rechners oder Router ein. (Bei Windows XP: Start -> Einstellungene -> Netzwerkverbindungen -> Lanverbindung -> rechtsklick Eigenschaften -> Internetprotokoll (TCP/IP) -> Folgende DNS Server verwenden)
  • Alternativ dazu, VPNs oder Anonymizer wie the onio router (TOR),  JAP, oder eine Kombination von beidem.

Bei einem reinen DNS Filter reicht es aus, Nameserver zu verwenden, die eben nicht gefiltert werden und keiner Blacklist unterliegen. Gefilterte IPs aus dem Ausland kann man meist mittels einem VPN oder Anonymizern wie TOR erreichen, wenn der Endpunkt der Verbindung eben nicht mehr gefiltert wird.

Das war es schon – ich würde fast sagen, jeder halbwegs intelligente Mensch schafft es innerhalb von weniger als 10 Minuten die Nameserver zu ändern. Das Filtern an sich geht völlig am Problem des Kindsmissbrauchs vorbei und ist in meinen Augen einfach nur ein trojanisches Pferd um die Gesellschaft langsam an Internetfilter zu gewöhnen und kritisch Denkende oder der Politik Unliebsame aus dem Netz zu verbannen, damit diese keinen weiteren “Schaden” anrichten können. Weitere heiße Luft von diversen Politikern (und entsprechende Kommentare von denkenden Individuen) kann man hier finden:

Alles in allem finde ich es mehr und mehr befremdlich, was in diesem Land so alles geschieht. Auf der einen Seite wird nach mehr Datenschutz und Datensicherheit gerufen (man denke an die zig Affairen Lidl, T-Com, Müller, etc..) – auf der anderen Seite werden Filterlisten etabliert um die User von angeblicher Kinderpornographie abzuhalten. Offensichtlich haben wir keine wichtigeren Probleme – die Umwelt, die Umverteilung von Ressourcen, Krankheiten, Energiegewinnung sind eben nicht so wichtig wie den Bürger unter Kontrolle zu halten…

XTC Xt-Commerce Fix für Multihomed Mailserver

Bei vielen Shop-Systemen wird XT-Commerce eingesetzt, da es vielseitig und flexibel ist um den meisten Anforderungen gerecht zu werden. Will man XTC jedoch in einer Cluster-Umgebung einsetzen, und hat einen Mailserver-Cluster zur Verfügung, gibt es ein Problem sobald XTC versucht, einen Connect zu einem Mailserver aufzubauen, der gerade nicht erreichbar ist. Obwohl weitere Server des Mailserver-Clusters verfügbar sind, gibt XTC nach einmaligem Versuch auf.

Hier ein kleiner Fix für XTC, damit zu einem Hostname alle verfügbaren IP-Adressen zum versenden von Mail durchprobiert werden:

In Zeile 106 in

/includes/classes/class.smtp.php

einfügen:

		// retry connections 
 		$hosts = gethostbynamel($host);
 		while ((empty($this->smtp_conn)) && (count($hosts) > 0)) {
        	$this->smtp_conn = fsockopen(array_pop($hosts), # server
                                      $port,    # the port to use
                                      $errno,   # error number if any
                                      $errstr,  # error message if any
                                      $tval);   # give up after ? secs
 		}

Damit versucht nun XTC mehrmals Mails zuzustellen, wenn der erstmalige Connect zu einem MTA fehlschlägt.

Die fraglichen Testmethoden von Internet Intern

wieder mal ein VServer Test

vlinux.biz wurde in der aktuellen Ausgabe 02/2009 von Internet Intern getestet. Abgesehen davon, dass vlinux.biz vom Preis/Leistungsverhältnis gegenüber den anderen getesteten VServer-Anbietern gar nicht berücksichtig wurde, möchte ich hier doch mal meinen Unmut über die Testpraktiken von Internet Intern loswerden.

Testmethoden oder so was Ähnliches…

Webserver Stress Tool wurde als Last-Test für den vorinstallierten apache2 verwendet. Dabei hat Internet Intern festgestellt, dass von in etwa 18.000 Tests ca. 10.000 Fehler aufgetreten sind – dies ist nicht verwunderlich, hat der von Debian vorinstallierte apache2 als Standard nur 2 Serverprozesse gestartet, sowie ein Connection-Limit von 150 Maxclients gesetzt. Dass hierbei dann natürlich so viele Fehler auftreten, ist nicht verwunderlich – wurde aber von Internet Intern in keinster Weise erwähnt – wundert mich aber jetzt nicht wirklich, denn es hat nicht ein einziger Login via SSH von den Internet Intern Testern stattgefunden. Bei Max-Clients von 150 und 500 parallelen Test-Zugriffen bleiben eben einfach 350 davon unbeantwortet, dies entspricht exakt den von Internet Intern beobachteten Werten.

Konfigurationssoftware

Auch wurde bemängelt, dass vlinux.biz seinen Kunden keine Konfigurations-Software wie Plesk oder cPanel aufzwängen will – hier ist die Philosophie von vlinux.biz so, dass der Kunde selbst entscheiden soll und darf, welche und ob er überhaupt eine Konfigurationssoftware eingesetzt werden soll. Dies als Nachteil auszulegen und darauf rumzureiten, dass Plesk der Quasistandard für VServer-Management sei, ist einfach frei erfunden – schliesslich will nicht jeder VServer Kunde Massenwebhosting mit dem VServer betreiben. Viele Kunden installieren Gameserver oder Teamspeak-Server auf dem VServer, oder nutzen diesen als SVN-Server. Offensichtlich ist man aber bei Internet Intern in dieser Hinsicht nicht in der Lage, über den Tellerrand hinausszuschauen. Auch bietet vlinux.biz als einziger der getesten Anbieter mehr als 15 GB Space, nämlich stattliche 40GB RAID1 Space, und garantiert eine 100MBit Anbindung.

Fazit

Insgesamt kann man den Test von Internet Intern einfach nur als Zeitverschwendung betrachten – auf essentielle Dinge wie maximal verfügbares RAM, Anzahl der Kunden pro Host-System, etc. muss man in diesem Testbericht verzichten. Auch habe ich in den Logs des Test-Servers festgestellt, dass nicht ein einzier Login via SSH von Internet Intern erfolgt ist – vielleicht hatten die Tester auch überhaupt keine Lust, den Test wirklich aussagekräftig zu gestalten. Einfach nur enttäuschend. Ich kann die Internet Intern deshalb nicht empfehlen – kauft lieber die iX oder c’t, die wissen wenigstens wie man aussagekräftig testet…