05.11.2013 Aufrufe

Proxy Server als zentrale Kontrollinstanz - Michael Buth

Proxy Server als zentrale Kontrollinstanz - Michael Buth

Proxy Server als zentrale Kontrollinstanz - Michael Buth

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!