Proxy Server als zentrale Kontrollinstanz Michael Buth IT Berater

Transcrição

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