Open up for the new IT


aktuelles Titelbild der iX


Schweif des iX-Artikels "Pulpo rapido"

Es gibt nur begrenzt viele Bäume auf diesem Planeten. Daher mussten wir einige Aspekte des Beschleuniger-Betriebs im Artikel auslassen. Ausserdem werden ständig neue Informationen an uns heran getragen. Mit dieser Seite wollen wir die zusätzlichen Tips sammeln und anbieten.

Sprung in den Zugriffszahlen

Plattenplatz

Einfach aber wichtig. Der Squid stürzt ab, wenn er seine Protokolldateien nicht schreiben kann. Stellen sie sicher, dass jederzeit ausreichend Plattenplatz zur Verfügung steht. Bedenken sie, dass in der Voreinstellung die Datei store.log fortlaufend wächst. Wollen sie diese Datei sowieso nicht auswerten, dann schicken sie sie am besten nach /dev/null.

Anwendungen

Konfigurieren sie ihre Web-Anwendungen und ihren Web-Server so, dass im HTTP-Protokoll stets ein Verfallsdatum ("Expires") mit gegeben wird. Siehe die iX 11/2001. Dadurch steigen ihre Zugriffszahlen auf die Seiten, die Server-Last wird gesenkt und die Anwender sehen stets aktuelle Inhalte. Es spricht alles für die Verwendung von "Expires-Headern"

Wir verstehen das Verfallsdatum so: Es ist die Zeit, nach der Inhalte von den Web-Puffern ("Proxy-Cache", "Browser") spätestens neu geladen werden. Es ist also nicht wie beim Jogurt, dass er sich mindestens bis zu einem Termin hält, sondern Inhalte halten sich höchstens bis zu dem Verfallsdatum. Kein Web-Puffer ist verpflichtet, den Inhalt garantiert bis zum Verfallsdatum aufzuheben. Gibt man den HTML-Seiten eine kurze Lebensdauer, dann setzen sich diese nicht in den Web-Puffern fest, sondern werden häufiger neu geladen. Also steigen die Zugriffszahlen auf die HTML-Seiten. Nur das interessiert. Den Bildern und anderen wenig veränderlichen Inhalten gibt man eine lange Lebensdauer, der im Artikel vorgeschlagene Wert von 30 Tagen ist praxisnah. Die Zugriffszahlen auf irgendwelche Menü-Grafiken interessieren keinen Webmaster.

Einige Webmaster setzen das Verfallsdatum in HTML-Seiten mit Meta-Einträgen namens http-equiv. Diese Einträge werden aus Gründen des Durchsatzes von den "Proxy-Caches" nicht gelesen. Sondern ein "Proxy-Cache" liest üblicherweise nur das HTTP-Protokoll mit. Die Verwendung von http-equiv für das Verfallsdatum oder für die Pragma-Einstellung verfehlt daher ihr Ziel.

Jetzt der Bezug zu Squid: Mit Server-seitigem Verfallsdatum erreichen sie nicht nur obige Vorteile, sondern ersparen sich zudem die Konfiguration von refresh-Einträgen im Squid.

HTTP-Authentifizierung, SSL und Browser-Cookies

Für den Standard-Squid gilt: Seiten, die durch ein Kenntwort auf Grundlage von .htaccess-Dateien geschützt sind, werden überhaupt nicht gepuffert. Der Squid hat keinen Zugriff auf die Kennwort-Datenbank. Hier bringt ein Squid also nichts. Ähnliches gilt für SSL-Verbindungen (HTTPS), wobei man sich hier mit SSL-Erweiterungen behelfen kann. Squid schluckt Cookies. Will man das nicht, dann muss man ein "Pragma: no-cache" senden.

IP-Adressen

Für den Apache scheinen alle Zugriffe von der IP-Adresse 127.0.0.1 zu kommen. Im Artikel wird beschrieben, wie man in den Protokolldateien die originale IP-Adresse(n) erhält. Sämtliche Zugriffsregelungen, die auf IP-Adressen beruhen, muss man allerdings in der squid.conf spezifizieren. Siehe unten. Anwendungen, die die IP-Adresse ausgewertet haben, müssen statt dessen die Einträge in X-Forwarded-For auswerten. Vorsicht, dabei kann es sich um mehrere Einträge handeln.

DoS-Attacken

Mit der ACL-Option maxconn kann die maximale Anzahl von gleichzeitigen HTTP-Verbindungen begrenzt werden. Beispiel:

# Definitionen
acl from_company         src 192.168.0.0/16
acl TOO_MANY_CONNECTIONS maxconn 16
acl all                  src 0.0.0.0/0

# Zugriffsrechte
http_access allow       from_company
http_access deny        TOO_MANY_CONNECTIONS
http_access allow       all

Nimda & Co.

Diese kleinen Plagegeister können gerade bei Tests ganz schön stören. Daher setzen wir bei Bedarf für den Squid einen leicht modifizierten Adressumschreiber ein, der die Adressen der Viren-infizierten Maschinen durch eine FIFO-Datei an einen Dämon weiterreicht. Der Dämon setzt dann mit ipchains Firewall-Einträge. Die Implementation des Dämons als Shell-Skript eignet sich nicht für grössere Sites. Vorsicht: Eine Instanz des Adressumschreiber wird bis zum "Timeout" im Squid blockiert.

Patches und Zubehör

Achtung: Benutzung auf eigene Gefahr. Die Skripte sind abgespeckte Versionen dessen, was tatsächlich im Einsatz ist.

Datei access_log im "extended" Format: Squid 2.4 oder Squid 2.5

Aufsplitten der access_log für die virtuellen Hosts
Eine englische Installationsanleitung


Ein Perl-Skript zum Mitschreiben des Datenverkehrs auf einem TCP-Port


Copyright © 2001
OpenIT GmbH, Düsseldorf