Proxy Server als zentrale Kontrollinstanz - Michael Buth
Proxy Server als zentrale Kontrollinstanz - Michael Buth
Proxy Server als zentrale Kontrollinstanz - Michael Buth
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Proxy</strong> <strong>Server</strong> <strong>als</strong> <strong>zentrale</strong> <strong>Kontrollinstanz</strong><br />
<strong>Michael</strong> <strong>Buth</strong><br />
IT Berater<br />
web: http://www.mbuth.de<br />
mail: michael.buth@mbuth.de
Motivation<br />
• Zugangskontrolle und Überwachung des Internetzugangs in<br />
öffentlichen und privaten Bildungseinrichtungen<br />
• Sperren und Entsperren des Internetzugang<br />
-> z.B. während Prüfungen und Klausuren etc.<br />
• Zensur der Inhalte<br />
• Filter für Werbung<br />
• Modularer Aufbau ermöglicht Flexibilität und Skalierbarkeit
„Module“
<strong>Proxy</strong> <strong>Server</strong><br />
• Ein <strong>Proxy</strong> (aus dem Englischen übersetzt: Stellvertreter) ist ein<br />
Dienstprogramm, das im Datenverkehr vermittelt.<br />
• Effizienzsteigerung des Datentransfers<br />
• Erhöhung der Sicherheit durch Kontrolle
Funktionen von <strong>Proxy</strong> <strong>Server</strong>n<br />
• Funktion <strong>als</strong> Zwischenspeicher (Cache), der zwischen<br />
Webbrowser und Webserver vermittelt.<br />
• Anfragen werden schneller beantwortet<br />
• Die Netzlast verringert sich<br />
• Neben der Funktion <strong>als</strong> Cache kann ein <strong>Proxy</strong> auch z.B.<br />
auch <strong>als</strong> Application-Level-<strong>Proxy</strong>, Circuit-Level-<strong>Proxy</strong>, Filter,<br />
Zugriffssteuerung und Anonymisierungsdienst eingesetzt<br />
werden.
Infrastruktur
Squid<br />
• Squid ist ein gut skalierbarer Open Source<br />
<strong>Proxy</strong>server.<br />
• Unterstützt werden die Netzwerkprotokolle HTTP/<br />
HTTPS und FTP über HTTP.<br />
• In diesem Szenario wird Squid <strong>als</strong> transparenter<br />
<strong>Proxy</strong> mit diversen Filterfunktion eingesetzt.
Netfilter Firewall<br />
• Netfilter ist Bestandteil des Linux-Kernels und bildet damit das<br />
Kernstück einer Firewall auf Linux-Basis.<br />
• Als Dienstprogramm zur Konfiguration von Netfilter kommt<br />
iptables und <strong>als</strong> GUI fwbuilder zum Einsatz.<br />
• Der Paketfilter wird u.a. verwendet, um das Konzept einer<br />
zweistufigen Firewall umzusetzen.<br />
• Die Paketfilterung kann zudem durch die Funktionen NAT und<br />
Masquerading ergänzt werden.
Transparent Web Cache<br />
• Vorteile:<br />
• Die Konfiguration der Clients entfällt.<br />
• Es herrscht ein "<strong>Proxy</strong>zwang“ für http Anfragen.<br />
• Nachteile:<br />
• User-Authentifierung ist nicht möglich<br />
• Unterstützung nur für HTTP<br />
• Eine Firewallregel leitet Anfragen an den <strong>Proxy</strong> weiter:<br />
!/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j<br />
REDIRECT --to-port 3128
Transparent Web Cache<br />
• Die Squid Konfiguration muss in der Datei /etc/squid/<br />
squid.conf angepasst werden:!<br />
! <br />
!<br />
!http_accel_host virtual!<br />
! <br />
http_accel_host 80 <br />
!<br />
!http_accel_host_with_proxy on!<br />
! <br />
http_accel_host_header on!
AntiViren Internet-Gateway<br />
• Diverse Anbieter und Produkte<br />
• Freie Programme wie z.B. ClamAV<br />
• Kommerzielle Produkte für Linux z.B. von Trend Micro oder Avira<br />
• Wünschenswerte Features<br />
• Sollte <strong>als</strong> HTTP und FTP <strong>Proxy</strong> arbeiten<br />
• Scan des HTTP- und FTP-Datenverkehr<br />
• Zentrale webbasierte Verwaltungskonsole<br />
• Automatische Updates
AntiViren Internet-Gateway<br />
• Der Squid <strong>Proxy</strong> arbeitet <strong>als</strong> primärer <strong>Proxy</strong> (Port 3128) und<br />
muss seine Anfragen an den <strong>Proxy</strong> des Virenscanners (Port<br />
8080) weiterleiten.<br />
• Auch hier muss die Squid Konfiguration in der Datei /etc/<br />
squid/squid.conf angepasst werden:!<br />
!!<br />
!cache_peer localhost parent 8080 3130 default no-query!<br />
!#ACLs!<br />
!never_direct allow all!
SquidGuard<br />
• Filter, Redirector und Access Controller Plugin für Squid<br />
• Prüft URLs und Zugriffsbedingungen<br />
• Sperrung des Internetzugangs in Abhängigkeit von Uhrzeit und<br />
verwendetem Rechner<br />
• Ersetzen von unerwünschten Seiten durch eine eigene<br />
Webseite<br />
• Verhinderung des Zugriffs bestimmter Benutzer oder Rechner<br />
auf bestimmte Webseiten<br />
• Zensieren von Webinhalten<br />
• Werbe-Filter<br />
• Black Lists und Reguläre Ausdrücke für URLs
SquidGuard<br />
• Damit Squidguard seine Arbeit aufnehmen kann, muss<br />
wiederum die Squid Konfiguration angepasst werden:<br />
!redirect_program /usr/bin/squidguard -c /etc/squid/squidguard.conf!<br />
• Ein kleines CGI-Skript sorgt bei Verletzung der Zugriffsregeln<br />
dafür, dass unmittelbar eine E-Mail an den Webmaster<br />
gesendet wird und der Benutzer einen entsprechenden Hinweis<br />
in seinem Webbrowser erhält:
Calamaris<br />
• Analyse- und Reportprogramm für Log-Dateien von <strong>Proxy</strong>-<br />
<strong>Server</strong>n<br />
• Der Report kann u.a. Informationen über die IP-Adresse des<br />
Clients, das Login des Users, den Zeitpunkt, die URL etc.<br />
enthalten<br />
• Statistiken geben Auskunft über Auslastung, Maximalwerte und<br />
Leistungsfähigkeit der <strong>Proxy</strong>-<strong>Server</strong>s<br />
• Statistiken können <strong>als</strong> ASCII- oder <strong>als</strong> HTML-Bericht dargestellt<br />
und z.B. per E-Mail versendet werden
Webmin Squidlogbuch<br />
• Squidlogbuchauswertung ist ein kleines Modul für Webmin<br />
• Webmin ist ein web-basiertes Interface für die UNIX System-<br />
Administration<br />
• Squidlogbuch wertet das Access-Logfile des Squid <strong>Proxy</strong><br />
<strong>Server</strong>s aus
Webbased Client Controll<br />
• Webbasiertes grafisches Interface für die Zugangskontrolle<br />
einzelner Clients, einzelner Räume oder Standorte zum Internet<br />
• Optional zeitgesteuerte Zugangskontrolle<br />
• Auch hier bedarf es einer Squid Anpassung:<br />
!!<br />
!#ACLs!<br />
!acl deny_hosts src "/etc/squid/warp9/deny_hosts.txt"!
Referenzen<br />
• Netfilter: http://www.netfilter.org<br />
• Squid: http://www.squid-cache.org<br />
• SquidGuard: http://www.squidguard.org<br />
• Calamaris: http://cord.de/tools/squid/calamaris/Welcome.html.de<br />
• Webmin: http://www.webmin.com<br />
• Trend Micro: http://de.trendmicro-europe.com<br />
• Webbased Client Controll: http://warp9.de<br />
• Transparent Web Cache: http://www.vpngate.de
<strong>Proxy</strong> <strong>Server</strong> <strong>als</strong> <strong>zentrale</strong> <strong>Kontrollinstanz</strong><br />
Vielen Dank für Ihre Aufmerksamkeit !<br />
<strong>Michael</strong> <strong>Buth</strong><br />
web: http://www.mbuth.de<br />
mail: michael.buth@mbuth.de