<?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>kauderWWWelsch &#187; php.ini</title>
	<atom:link href="http://www.kauderwwwelsch.de/tag/php-ini/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kauderwwwelsch.de</link>
	<description>...rund um&#039;s Web, Games, etc...</description>
	<lastBuildDate>Thu, 29 Dec 2011 17:30:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apache + PHP: stop talking!</title>
		<link>http://www.kauderwwwelsch.de/2009-11-14/apache-php-stop-talking/</link>
		<comments>http://www.kauderwwwelsch.de/2009-11-14/apache-php-stop-talking/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 15:31:33 +0000</pubDate>
		<dc:creator>mici81de</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache2.conf]]></category>
		<category><![CDATA[cent os]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[pathon]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[servertokens]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.kauderwwwelsch.de/?p=227</guid>
		<description><![CDATA[Bei einer kürzlichen Kontrolle des Apache-Logfiles fielen mir massenweise folgender Meldungen auf: [Sat Nov 07 12:00:49 2009] [error] [client xxx.xxx.xxx.xxx] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:) Da man Anfragen an einen Server ja in der Regel nicht ohne Grund stellt, ist natürlich die Frage: Was gibt denn der Server für [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_423" class="wp-caption aligncenter" style="width: 590px"><img class="size-full wp-image-423" title="php-apache-settings" src="http://www.kauderwwwelsch.de/wp-content/uploads/php-apache-settings.png" alt="" width="580" height="150" /><p class="wp-caption-text">Apache + PHP</p></div>
<h3 id="Bei_einer_kürzlichen_Kontrolle">Bei einer kürzlichen Kontrolle</h3>
<p>des Apache-Logfiles fielen mir massenweise folgender Meldungen auf:</p>
<pre class="brush: bash; gutter: true">[Sat Nov 07 12:00:49 2009] [error]
[client xxx.xxx.xxx.xxx] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)</pre>
<p>Da man Anfragen an einen Server ja in der Regel nicht ohne Grund stellt, ist natürlich die Frage: Was gibt denn der Server für Infos als Header raus, wenn ein HTTP-Request gestellt wird?</p>
<p>Wie ich feststellen musste, sind das in der Standard-Konfiguration jede Menge Infos! Darunter unter Anderem:</p>
<ul>
<li>verwendetes Betriebssystem</li>
<li>verwendeter HTTP-Server mit Versionsnummer</li>
<li>installierte Mods, wie z. B. Python, SSL, Perl, etc. sowie die jeweilige Version</li>
<li>bei Aufruf einer PHP-Seite auch die PHP-Version</li>
</ul>
<p>Kurz darüber nachgedacht&#8230; Wen gehen diese Daten etwas an? Tja, aus Sicherheitsgründen eigentlich niemanden, der nicht direkt aus Verwaltungsgründen oder Programmierfragen etwas mit dem Server zu tun hat. Also &#8211; wie bringe ich Apache und PHP bei, nicht so zu tratschen?</p>
<h3 id="Die_Lösung">Die Lösung</h3>
<p>sind zwei Einträge in den Konfigurationsdateien von Apache und PHP.</p>
<p>Zuerst der Eintrag für den Apache &#8211; wieviele Infos der Apache preisgeben darf legt man über den Eintrag &#8220;<strong>ServerTokens</strong>&#8221; fest. Den kann man z. B. einfach ganz in die letzte Zeile der Datei <strong>/etc/apache2/apache2.conf</strong> schreiben.</p>
<p>Fünf Einstellungen stehen dabei zur Auswahl:</p>
<ul>
<li>Kein Eintrag oder auskommentiert = Produktname + Version, Betriebssystem und Module</li>
<li><strong>OS</strong> = Produktname + Version und Betriebssystem</li>
<li><strong>Min</strong> = Nur Produktname + Version</li>
<li><strong>ProductOnly </strong>= Nur Produktname</li>
<li><strong>Major </strong>= Nur Produktname + Haupt-Versionsnummer</li>
</ul>
<p>Also würde bspw. ein Eintrag in der Form &#8220;<strong>ServerTokens ProductOnly</strong>&#8221; dafür sorgen, dass im Header nur noch die Info &#8220;Server = Apache&#8221; mitgesendet wird.</p>
<p>Die zweite Änderung betrifft die Datei <strong>/etc/php5/apache2/php.ini</strong> &#8211; hier sucht man sich den Eintrag &#8220;<strong>expose_php =</strong>&#8221; und setzt diesen auf den Wert &#8220;<strong>Off</strong>&#8220;.</p>
<h3 id="Abschließend">Abschließend</h3>
<p>folgt noch ein Neustart des Apache-Servers über den Befehl &#8220;<strong>/etc/init.d/apache2 restart</strong>&#8221; und schon hat das Getratsche &#8211; wie im Bild zu sehen &#8211; ein Ende.</p>
<div id="attachment_238" class="wp-caption aligncenter" style="width: 417px"><img class="size-full wp-image-238" title="header_screener" src="http://www.kauderwwwelsch.de/wp-content/uploads/header_screener.jpg" alt="ScreenShot Antwort-Header" width="407" height="243" /><p class="wp-caption-text">ScreenShot Antwort-Header</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.kauderwwwelsch.de/2009-11-14/apache-php-stop-talking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

