Inhaltsverzeichnis
e2guardian CentOS 7
E2guardian ist ein einfach zu installierender, schneller Webseiten-Inhaltsfilter, der einem Proxy, z.B. Squid vorgeschaltet wird. Das Paket besteht aus dem eigentlichen Programm, einem Wörterbuch und einer Konfigurationsdatei. E2guardian durchsucht Texte nach Stichwörtern aus dem Wörterbuch und addiert dessen Bewertungen. Bei Überschreiten der Schmerzgrenze wird eine HTML-Informationsseite im Browser angezeigt. Für Bilder wird das PICS-Verfahren verwendet. Das Wörterbuch besteht aus ASCII-Dateien und kann selbst editiert werden. Zusätzlich zum Wörterbuch können URLs, Header uvm. eingetragen werden.
HINWEIS - E2guardian ist ein „fork“ von Dansguardian
Hinweis - Die nachfolgenden Ausführungen erheben keinen Anspruch auf Vollständigkeit, sondern stellt eine „Basiskonfiguration“ eines E2guardian als Content Filter-Server dar!!!
Beschreibung | Externer Link |
---|---|
Homepage | http://e2guardian.org |
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Voraussetzungen
Als Voraussetzung für die Installation von E2guardian sind folgende Komponenten erforderlich:
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
- Lauffähiger Proxy-Server z.B. Squid
- Siehe auch den internen Link: squid CentOS 7
Nachfolgende rpm
-Pakete sind als Abhängigkeit erforderlich und werden ebenfalls benötigt:
Herunterladen
Nachfolgend sollen zwei Drittanbieter-Repositories, wovon eines von dem mir sehr geschätzten Michael Nausch betrieben wird und eine sichere und verlässliche Quelle für rpm-Pakete darstellt, wie unter nachfolgendem internen Link dargestellt, eingebunden werden:
Das zweite benötigte Drittanbieter-Repository ist das von EPEL, welches wie unter nachfolgendem internen Link dargestellt, eingebunden werden kann:
Installation
HINWEIS - Nachfolgend soll E2guardian Version 3.4.0 aus dem Drittanbieter-Repository mailserver.guru CentOS 7-Testing installiert werden, welches bei der Erstellung dieser Dokumentation vor liegt!
Zur Aktivierung des Drittanbieter-Repository mailserver.guru CentOS 7-Testing sind nachfolgende Konfigurationsänderungen in der Konfigurationsdatei:
/etc/yum.repos.d/mailserver.guru.repo
erforderlich:
# Repository mailserver.guru [mailserver.guru-os] name=Extra (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/os/$basearch #priority=5 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7 [mailserver.guru-testing] name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/testing/$basearch/ #priority=5 # Tachtler # default: enabled=0 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7
Nachfolgend die Änderung: (nur relevanter Ausschnitt)
... [mailserver.guru-testing] name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/testing/$basearch/ #priority=5 # Tachtler # default: enabled=0 enabled=1 ...
Nachdem das Drittanbieter-Repository
erfolgreich eingebunden wurde, kann mit nachfolgendem Befehl, das rpm
-Paket - e2guardian
installiert werden:
# yum install e2guardian Loaded plugins: changelog, priorities 131 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package e2guardian.x86_64 0:3.4.0-1.el7.centos will be installed --> Processing Dependency: clamav-server for package: e2guardian-3.4.0-1.el7.centos.x86_64 --> Running transaction check ---> Package clamav-server.x86_64 0:0.98.7-1.el7 will be installed --> Processing Dependency: clamav-lib = 0.98.7-1.el7 for package: clamav-server-0.98.7-1.el7.x86_64 --> Processing Dependency: clamav-filesystem = 0.98.7-1.el7 for package: clamav-server-0.98.7-1.el7.x86_64 --> Processing Dependency: libclamav.so.6(CLAMAV_PUBLIC)(64bit) for package: clamav-server-0.98.7-1.el7.x86_64 --> Processing Dependency: libclamav.so.6(CLAMAV_PRIVATE)(64bit) for package: clamav-server-0.98.7-1.el7.x86_64 --> Processing Dependency: data(clamav) for package: clamav-server-0.98.7-1.el7.x86_64 --> Processing Dependency: libclamav.so.6()(64bit) for package: clamav-server-0.98.7-1.el7.x86_64 --> Running transaction check ---> Package clamav-data.noarch 0:0.98.7-1.el7 will be installed ---> Package clamav-filesystem.noarch 0:0.98.7-1.el7 will be installed ---> Package clamav-lib.x86_64 0:0.98.7-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: e2guardian x86_64 3.4.0-1.el7.centos mailserver.guru-testing 520 k Installing for dependencies: clamav-data noarch 0.98.7-1.el7 epel 95 M clamav-filesystem noarch 0.98.7-1.el7 epel 19 k clamav-lib x86_64 0.98.7-1.el7 epel 3.7 M clamav-server x86_64 0.98.7-1.el7 epel 93 k Transaction Summary ================================================================================ Install 1 Package (+4 Dependent packages) Total download size: 99 M Installed size: 107 M Is this ok [y/d/N]: y Downloading packages: (1/5): clamav-filesystem-0.98.7-1.el7.noarch.rpm | 19 kB 00:00 (2/5): clamav-lib-0.98.7-1.el7.x86_64.rpm | 3.7 MB 00:00 (3/5): clamav-server-0.98.7-1.el7.x86_64.rpm | 93 kB 00:00 (4/5): e2guardian-3.4.0-1.el7.centos.x86_64.rpm | 520 kB 00:00 (5/5): clamav-data-0.98.7-1.el7.noarch.rpm | 95 MB 00:02 -------------------------------------------------------------------------------- Total 43 MB/s | 99 MB 00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : clamav-filesystem-0.98.7-1.el7.noarch 1/5 Installing : clamav-data-0.98.7-1.el7.noarch 2/5 Installing : clamav-lib-0.98.7-1.el7.x86_64 3/5 Installing : clamav-server-0.98.7-1.el7.x86_64 4/5 Installing : e2guardian-3.4.0-1.el7.centos.x86_64 5/5 Verifying : clamav-server-0.98.7-1.el7.x86_64 1/5 Verifying : e2guardian-3.4.0-1.el7.centos.x86_64 2/5 Verifying : clamav-lib-0.98.7-1.el7.x86_64 3/5 Verifying : clamav-filesystem-0.98.7-1.el7.noarch 4/5 Verifying : clamav-data-0.98.7-1.el7.noarch 5/5 Installed: e2guardian.x86_64 0:3.4.0-1.el7.centos Dependency Installed: clamav-data.noarch 0:0.98.7-1.el7 clamav-filesystem.noarch 0:0.98.7-1.el7 clamav-lib.x86_64 0:0.98.7-1.el7 clamav-server.x86_64 0:0.98.7-1.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket e2guardian
installiert wurden.
# rpm -qil e2guardian Name : e2guardian Version : 3.4.0 Release : 1.el7.centos Architecture: x86_64 Install Date: Wed 10 Jun 2015 12:23:13 PM CEST Group : System Environment/Daemons Size : 1710062 License : GPLv2+ Signature : RSA/SHA1, Wed 10 Jun 2015 10:23:25 AM CEST, Key ID 60ecfb9e8195aea0 Source RPM : e2guardian-3.4.0-1.el7.centos.src.rpm Build Date : Wed 10 Jun 2015 10:22:53 AM CEST Build Host : vml000200.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> URL : http://http://e2guardian.org/ Summary : Content filtering web proxy Description : e2guardian is a content filtering proxy that works in conjunction with another caching proxy such as Squid. More information can be found in the e2guardian(8) man page, the "doc" subdirectory of the distribution, and the comments in the configuration and list files themselves. e2guardian is a fork of DansGuardian and the maintainers fully acknowledge the work carried out by and the copyright of Daniel Baron and other contributors to the Dansguardian project. e2guardian is an Open Source web content filter, It filters the actual content of pages based on many methods including phrase matching, request header and URL filtering, etc. It does not purely filter based on a banned list of sites HTTPS filtering of web contents with help of SSL bump feature from E2guardian 3.1. /etc/clamd.d/e2guardian.conf /etc/e2guardian /etc/e2guardian/authplugins /etc/e2guardian/authplugins/ident.conf /etc/e2guardian/authplugins/ip.conf /etc/e2guardian/authplugins/port.conf /etc/e2guardian/authplugins/proxy-basic.conf /etc/e2guardian/authplugins/proxy-digest.conf /etc/e2guardian/authplugins/proxy-ntlm.conf /etc/e2guardian/contentscanners /etc/e2guardian/contentscanners/avastdscan.conf /etc/e2guardian/contentscanners/clamdscan.conf /etc/e2guardian/contentscanners/commandlinescan.conf /etc/e2guardian/contentscanners/icapscan.conf /etc/e2guardian/contentscanners/kavdscan.conf /etc/e2guardian/downloadmanagers /etc/e2guardian/downloadmanagers/default.conf /etc/e2guardian/downloadmanagers/fancy.conf /etc/e2guardian/downloadmanagers/trickle.conf /etc/e2guardian/e2guardian.conf /etc/e2guardian/e2guardianf1.conf /etc/e2guardian/lists /etc/e2guardian/lists/addheaderregexplist /etc/e2guardian/lists/authexceptionsitelist /etc/e2guardian/lists/authexceptionurllist /etc/e2guardian/lists/authplugins /etc/e2guardian/lists/authplugins/ipgroups /etc/e2guardian/lists/authplugins/portgroups /etc/e2guardian/lists/bannedextensionlist /etc/e2guardian/lists/bannediplist /etc/e2guardian/lists/bannedmimetypelist /etc/e2guardian/lists/bannedphraselist /etc/e2guardian/lists/bannedregexpheaderlist /etc/e2guardian/lists/bannedregexpurllist /etc/e2guardian/lists/bannedrooms /etc/e2guardian/lists/bannedrooms/default /etc/e2guardian/lists/bannedsearchlist /etc/e2guardian/lists/bannedsitelist /etc/e2guardian/lists/bannedsslsitelist /etc/e2guardian/lists/bannedurllist /etc/e2guardian/lists/contentregexplist /etc/e2guardian/lists/contentscanners /etc/e2guardian/lists/contentscanners/exceptionvirusextensionlist /etc/e2guardian/lists/contentscanners/exceptionvirusmimetypelist /etc/e2guardian/lists/contentscanners/exceptionvirussitelist /etc/e2guardian/lists/contentscanners/exceptionvirusurllist /etc/e2guardian/lists/downloadmanagers /etc/e2guardian/lists/downloadmanagers/managedextensionlist /etc/e2guardian/lists/downloadmanagers/managedmimetypelist /etc/e2guardian/lists/embededreferersitelist /etc/e2guardian/lists/embededrefererurllist /etc/e2guardian/lists/exceptionextensionlist /etc/e2guardian/lists/exceptionfilesitelist /etc/e2guardian/lists/exceptionfileurllist /etc/e2guardian/lists/exceptioniplist /etc/e2guardian/lists/exceptionmimetypelist /etc/e2guardian/lists/exceptionphraselist /etc/e2guardian/lists/exceptionregexpurllist /etc/e2guardian/lists/exceptionsitelist /etc/e2guardian/lists/exceptionurllist /etc/e2guardian/lists/filtergroupslist /etc/e2guardian/lists/greysitelist /etc/e2guardian/lists/greysslsitelist /etc/e2guardian/lists/greyurllist /etc/e2guardian/lists/headerregexplist /etc/e2guardian/lists/localbannedsearchlist /etc/e2guardian/lists/localbannedsitelist /etc/e2guardian/lists/localbannedsslsitelist /etc/e2guardian/lists/localbannedurllist /etc/e2guardian/lists/localexceptionsitelist /etc/e2guardian/lists/localexceptionurllist /etc/e2guardian/lists/localgreysitelist /etc/e2guardian/lists/localgreysslsitelist /etc/e2guardian/lists/localgreyurllist /etc/e2guardian/lists/logregexpurllist /etc/e2guardian/lists/logsitelist /etc/e2guardian/lists/logurllist /etc/e2guardian/lists/nocheckcertsitelist /etc/e2guardian/lists/phraselists /etc/e2guardian/lists/phraselists/badwords /etc/e2guardian/lists/phraselists/badwords/weighted_dutch /etc/e2guardian/lists/phraselists/badwords/weighted_french /etc/e2guardian/lists/phraselists/badwords/weighted_german /etc/e2guardian/lists/phraselists/badwords/weighted_portuguese /etc/e2guardian/lists/phraselists/badwords/weighted_spanish /etc/e2guardian/lists/phraselists/chat /etc/e2guardian/lists/phraselists/chat/weighted /etc/e2guardian/lists/phraselists/chat/weighted_italian /etc/e2guardian/lists/phraselists/conspiracy /etc/e2guardian/lists/phraselists/conspiracy/weighted /etc/e2guardian/lists/phraselists/domainsforsale /etc/e2guardian/lists/phraselists/domainsforsale/weighted /etc/e2guardian/lists/phraselists/drugadvocacy /etc/e2guardian/lists/phraselists/drugadvocacy/weighted /etc/e2guardian/lists/phraselists/forums /etc/e2guardian/lists/phraselists/forums/weighted /etc/e2guardian/lists/phraselists/gambling /etc/e2guardian/lists/phraselists/gambling/banned /etc/e2guardian/lists/phraselists/gambling/banned_portuguese /etc/e2guardian/lists/phraselists/gambling/weighted /etc/e2guardian/lists/phraselists/gambling/weighted_portuguese /etc/e2guardian/lists/phraselists/games /etc/e2guardian/lists/phraselists/games/weighted /etc/e2guardian/lists/phraselists/goodphrases /etc/e2guardian/lists/phraselists/goodphrases/exception /etc/e2guardian/lists/phraselists/goodphrases/exception_email /etc/e2guardian/lists/phraselists/goodphrases/weighted_general /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_danish /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_dutch /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_malay /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_polish /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_portuguese /etc/e2guardian/lists/phraselists/goodphrases/weighted_general_swedish /etc/e2guardian/lists/phraselists/goodphrases/weighted_news /etc/e2guardian/lists/phraselists/googlesearches /etc/e2guardian/lists/phraselists/googlesearches/banned /etc/e2guardian/lists/phraselists/gore /etc/e2guardian/lists/phraselists/gore/weighted /etc/e2guardian/lists/phraselists/gore/weighted_portuguese /etc/e2guardian/lists/phraselists/idtheft /etc/e2guardian/lists/phraselists/idtheft/weighted /etc/e2guardian/lists/phraselists/illegaldrugs /etc/e2guardian/lists/phraselists/illegaldrugs/banned /etc/e2guardian/lists/phraselists/illegaldrugs/weighted /etc/e2guardian/lists/phraselists/illegaldrugs/weighted_portuguese /etc/e2guardian/lists/phraselists/intolerance /etc/e2guardian/lists/phraselists/intolerance/banned_portuguese /etc/e2guardian/lists/phraselists/intolerance/weighted /etc/e2guardian/lists/phraselists/intolerance/weighted_portuguese /etc/e2guardian/lists/phraselists/legaldrugs /etc/e2guardian/lists/phraselists/legaldrugs/weighted /etc/e2guardian/lists/phraselists/malware /etc/e2guardian/lists/phraselists/malware/weighted /etc/e2guardian/lists/phraselists/music /etc/e2guardian/lists/phraselists/music/weighted /etc/e2guardian/lists/phraselists/news /etc/e2guardian/lists/phraselists/news/weighted /etc/e2guardian/lists/phraselists/nudism /etc/e2guardian/lists/phraselists/nudism/weighted /etc/e2guardian/lists/phraselists/peer2peer /etc/e2guardian/lists/phraselists/peer2peer/weighted /etc/e2guardian/lists/phraselists/personals /etc/e2guardian/lists/phraselists/personals/weighted /etc/e2guardian/lists/phraselists/personals/weighted_portuguese /etc/e2guardian/lists/phraselists/pornography /etc/e2guardian/lists/phraselists/pornography/banned /etc/e2guardian/lists/phraselists/pornography/banned_portuguese /etc/e2guardian/lists/phraselists/pornography/weighted /etc/e2guardian/lists/phraselists/pornography/weighted_chinese /etc/e2guardian/lists/phraselists/pornography/weighted_danish /etc/e2guardian/lists/phraselists/pornography/weighted_dutch /etc/e2guardian/lists/phraselists/pornography/weighted_french /etc/e2guardian/lists/phraselists/pornography/weighted_german /etc/e2guardian/lists/phraselists/pornography/weighted_italian /etc/e2guardian/lists/phraselists/pornography/weighted_japanese /etc/e2guardian/lists/phraselists/pornography/weighted_malay /etc/e2guardian/lists/phraselists/pornography/weighted_norwegian /etc/e2guardian/lists/phraselists/pornography/weighted_polish /etc/e2guardian/lists/phraselists/pornography/weighted_portuguese /etc/e2guardian/lists/phraselists/pornography/weighted_russian /etc/e2guardian/lists/phraselists/pornography/weighted_russian_utf8 /etc/e2guardian/lists/phraselists/pornography/weighted_spanish /etc/e2guardian/lists/phraselists/pornography/weighted_swedish /etc/e2guardian/lists/phraselists/proxies /etc/e2guardian/lists/phraselists/proxies/weighted /etc/e2guardian/lists/phraselists/rta /etc/e2guardian/lists/phraselists/rta/banned /etc/e2guardian/lists/phraselists/safelabel /etc/e2guardian/lists/phraselists/safelabel/banned /etc/e2guardian/lists/phraselists/secretsocieties /etc/e2guardian/lists/phraselists/secretsocieties/weighted /etc/e2guardian/lists/phraselists/sport /etc/e2guardian/lists/phraselists/sport/weighted /etc/e2guardian/lists/phraselists/translation /etc/e2guardian/lists/phraselists/translation/weighted /etc/e2guardian/lists/phraselists/travel /etc/e2guardian/lists/phraselists/travel/weighted /etc/e2guardian/lists/phraselists/upstreamfilter /etc/e2guardian/lists/phraselists/upstreamfilter/weighted /etc/e2guardian/lists/phraselists/violence /etc/e2guardian/lists/phraselists/violence/weighted /etc/e2guardian/lists/phraselists/violence/weighted_portuguese /etc/e2guardian/lists/phraselists/warezhacking /etc/e2guardian/lists/phraselists/warezhacking/weighted /etc/e2guardian/lists/phraselists/weapons /etc/e2guardian/lists/phraselists/weapons/weighted /etc/e2guardian/lists/phraselists/weapons/weighted_portuguese /etc/e2guardian/lists/phraselists/webmail /etc/e2guardian/lists/phraselists/webmail/weighted /etc/e2guardian/lists/pics /etc/e2guardian/lists/refererexceptionsitelist /etc/e2guardian/lists/refererexceptionurllist /etc/e2guardian/lists/searchregexplist /etc/e2guardian/lists/urlredirectregexplist /etc/e2guardian/lists/urlregexplist /etc/e2guardian/lists/weightedphraselist /etc/httpd/conf.d/e2guardian.conf /etc/logrotate.d/e2guardian /etc/sysconfig/clamd.e2guardian /usr/lib/systemd/system/clamd.e2guardian.service /usr/lib/systemd/system/e2guardian.service /usr/sbin/clamd.e2guardian /usr/sbin/e2guardian /usr/share/doc/e2guardian-3.4.0 /usr/share/doc/e2guardian-3.4.0/AuthPlugins /usr/share/doc/e2guardian-3.4.0/COPYING /usr/share/doc/e2guardian-3.4.0/ContentScanners /usr/share/doc/e2guardian-3.4.0/DownloadManagers /usr/share/doc/e2guardian-3.4.0/FAQ /usr/share/doc/e2guardian-3.4.0/FAQ.html /usr/share/doc/e2guardian-3.4.0/INSTALL /usr/share/doc/e2guardian-3.4.0/Plugins /usr/share/doc/e2guardian-3.4.0/README /usr/share/doc/e2guardian-3.4.0/UPGRADING /usr/share/e2guardian /usr/share/e2guardian/blockedflash.swf /usr/share/e2guardian/e2guardian.pl /usr/share/e2guardian/languages /usr/share/e2guardian/languages/arspanish /usr/share/e2guardian/languages/arspanish/fancydmtemplate.html /usr/share/e2guardian/languages/arspanish/messages /usr/share/e2guardian/languages/arspanish/template.html /usr/share/e2guardian/languages/bulgarian /usr/share/e2guardian/languages/bulgarian/fancydmtemplate.html /usr/share/e2guardian/languages/bulgarian/messages /usr/share/e2guardian/languages/bulgarian/template.html /usr/share/e2guardian/languages/chinesebig5 /usr/share/e2guardian/languages/chinesebig5/fancydmtemplate.html /usr/share/e2guardian/languages/chinesebig5/messages /usr/share/e2guardian/languages/chinesebig5/template.html /usr/share/e2guardian/languages/chinesegb2312 /usr/share/e2guardian/languages/chinesegb2312/fancydmtemplate.html /usr/share/e2guardian/languages/chinesegb2312/messages /usr/share/e2guardian/languages/chinesegb2312/template.html /usr/share/e2guardian/languages/czech /usr/share/e2guardian/languages/czech/fancydmtemplate.html /usr/share/e2guardian/languages/czech/messages /usr/share/e2guardian/languages/czech/template.html /usr/share/e2guardian/languages/danish /usr/share/e2guardian/languages/danish/fancydmtemplate.html /usr/share/e2guardian/languages/danish/messages /usr/share/e2guardian/languages/danish/template.html /usr/share/e2guardian/languages/dutch /usr/share/e2guardian/languages/dutch/fancydmtemplate.html /usr/share/e2guardian/languages/dutch/messages /usr/share/e2guardian/languages/dutch/template.html /usr/share/e2guardian/languages/french /usr/share/e2guardian/languages/french/fancydmtemplate.html /usr/share/e2guardian/languages/french/messages /usr/share/e2guardian/languages/french/template.html /usr/share/e2guardian/languages/german /usr/share/e2guardian/languages/german/fancydmtemplate.html /usr/share/e2guardian/languages/german/messages /usr/share/e2guardian/languages/german/template.html /usr/share/e2guardian/languages/hebrew /usr/share/e2guardian/languages/hebrew/fancydmtemplate.html /usr/share/e2guardian/languages/hebrew/messages /usr/share/e2guardian/languages/hebrew/template.html /usr/share/e2guardian/languages/hungarian /usr/share/e2guardian/languages/hungarian/fancydmtemplate.html /usr/share/e2guardian/languages/hungarian/messages /usr/share/e2guardian/languages/hungarian/template.html /usr/share/e2guardian/languages/indonesian /usr/share/e2guardian/languages/indonesian/fancydmtemplate.html /usr/share/e2guardian/languages/indonesian/messages /usr/share/e2guardian/languages/indonesian/template.html /usr/share/e2guardian/languages/italian /usr/share/e2guardian/languages/italian/fancydmtemplate.html /usr/share/e2guardian/languages/italian/messages /usr/share/e2guardian/languages/italian/template.html /usr/share/e2guardian/languages/japanese /usr/share/e2guardian/languages/japanese/fancydmtemplate.html /usr/share/e2guardian/languages/japanese/messages /usr/share/e2guardian/languages/japanese/template.html /usr/share/e2guardian/languages/lithuanian /usr/share/e2guardian/languages/lithuanian/fancydmtemplate.html /usr/share/e2guardian/languages/lithuanian/messages /usr/share/e2guardian/languages/lithuanian/template.html /usr/share/e2guardian/languages/malay /usr/share/e2guardian/languages/malay/fancydmtemplate.html /usr/share/e2guardian/languages/malay/messages /usr/share/e2guardian/languages/malay/template.html /usr/share/e2guardian/languages/mxspanish /usr/share/e2guardian/languages/mxspanish/fancydmtemplate.html /usr/share/e2guardian/languages/mxspanish/messages /usr/share/e2guardian/languages/mxspanish/template.html /usr/share/e2guardian/languages/polish /usr/share/e2guardian/languages/polish/fancydmtemplate.html /usr/share/e2guardian/languages/polish/messages /usr/share/e2guardian/languages/polish/template.html /usr/share/e2guardian/languages/portuguese /usr/share/e2guardian/languages/portuguese/fancydmtemplate.html /usr/share/e2guardian/languages/portuguese/messages /usr/share/e2guardian/languages/portuguese/template.html /usr/share/e2guardian/languages/ptbrazilian /usr/share/e2guardian/languages/ptbrazilian/fancydmtemplate.html /usr/share/e2guardian/languages/ptbrazilian/messages /usr/share/e2guardian/languages/ptbrazilian/template.html /usr/share/e2guardian/languages/russian-1251 /usr/share/e2guardian/languages/russian-1251/fancydmtemplate.html /usr/share/e2guardian/languages/russian-1251/messages /usr/share/e2guardian/languages/russian-1251/template.html /usr/share/e2guardian/languages/russian-koi8-r /usr/share/e2guardian/languages/russian-koi8-r/fancydmtemplate.html /usr/share/e2guardian/languages/russian-koi8-r/messages /usr/share/e2guardian/languages/russian-koi8-r/template.html /usr/share/e2guardian/languages/slovak /usr/share/e2guardian/languages/slovak/fancydmtemplate.html /usr/share/e2guardian/languages/slovak/messages /usr/share/e2guardian/languages/slovak/template.html /usr/share/e2guardian/languages/spanish /usr/share/e2guardian/languages/spanish/fancydmtemplate.html /usr/share/e2guardian/languages/spanish/messages /usr/share/e2guardian/languages/spanish/template.html /usr/share/e2guardian/languages/swedish /usr/share/e2guardian/languages/swedish/fancydmtemplate.html /usr/share/e2guardian/languages/swedish/messages /usr/share/e2guardian/languages/swedish/template.html /usr/share/e2guardian/languages/turkish /usr/share/e2guardian/languages/turkish/fancydmtemplate.html /usr/share/e2guardian/languages/turkish/messages /usr/share/e2guardian/languages/turkish/template.html /usr/share/e2guardian/languages/ukenglish /usr/share/e2guardian/languages/ukenglish/fancydmtemplate.html /usr/share/e2guardian/languages/ukenglish/messages /usr/share/e2guardian/languages/ukenglish/template.html /usr/share/e2guardian/transparent1x1.gif /usr/share/man/man8/e2guardian.8.gz /var/log/e2guardian /var/run/e2guardian /var/run/e2guardian/clamd.sock
Dienst/Deamon-Start einrichten
Um einen E2guardian, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable e2guardian.service ln -s '/usr/lib/systemd/system/e2guardian.service' '/etc/systemd/system/multi-user.target.wants /e2guardian.service'
Eine Überprüfung, ob beim Neustart des Server der e2guardian
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e e2guardian.service clamd.e2guardian.service disabled e2guardian.service enabled
bzw.
# systemctl is-enabled e2guardian.service enabled
iptables Regel
Damit der E2guardian als Content Filter-Server auch erreichbar ist und nicht die Weitergabe der IP-Paket vom Paketfilter iptables
blockiert wird, muss nachfolgende Regel zum iptables
-Regelwerk hinzugefügt werden.
Um die aktuellen iptables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128 6 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3129 7 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Nachfolgender Befehl, fügt folgende iptables
-Regeln dem iptables
-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p tcp --dport 8080 -j ACCEPT
und hier der Befehl:
# iptables -I INPUT 7 -p tcp --dport 8080 -j ACCEPT
Ein erneute Abfrage des iptables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128 6 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3129 7 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 8 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Die neuen Zeilen sind an Position 5 (INPUT) und an Position 6 (INPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 7 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ...
Um diese iptables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/iptables-save > /etc/sysconfig/iptables
Grund-Konfiguration
Nach der Installation von E2guardian sind folgende Konfigurationsdateien von Bedeutung:
/etc/e2guardian/e2guardian.conf
(Haupt- und Programmkonfigurationsdatei)/etc/e2guardian/e2guardianf1.conf
(Filterkonfigurationsdatei)
In nachfolgenden Verzeichnissen, sind ebenfalls weitere Konfigurationsdateien enthalten:
/etc/e2guardian/authplugins
(Plugins zur Authentifizierung)/etc/e2guardian/contentscanners
(Konfigurationen für Virenscanner)/etc/e2guardian/downloadmanagers
(Konfigurationen für Download-Manager)/etc/e2guardian/lists
(Konfigurationen für Erlaubnis- und Verbotsparameter)
/etc/e2guardian/e2guardian.conf
Da die Konfigurationsdatei /etc/e2guardian/e2guardian.conf
aufgrund von Kommentar- und Leerzeichen sehr schnell unübersichtlich ist, kann mit nachfolgendem Befehl, eine Ausgabe ohne Kommentar- und Leerzeilen erzeugt werden, welche dann nach der Grundinstallation von E2guardian wie folgt aussehen sollte:
Bis Version 4.1.4:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardian.conf
Die Konfigurationsdatei /etc/e2guardian/e2guardian.conf
ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardian.conf languagedir = '/usr/share/e2guardian/languages' language = 'ukenglish' loglevel = 2 logexceptionhits = 2 logfileformat = 1 maxuploadsize = -1 filterip = filterports = 8080 proxyip = 127.0.0.1 proxyport = 3128 proxytimeout = 20 proxyexchange = 20 pcontimeout = 55 originalip = on usecustombannedimage = on custombannedimagefile = '/usr/share/e2guardian/transparent1x1.gif' usecustombannedflash = on custombannedflashfile = '/usr/share/e2guardian/blockedflash.swf' filtergroups = 1 filtergroupslist = '/etc/e2guardian/lists/filtergroupslist' bannediplist = '/etc/e2guardian/lists/bannediplist' exceptioniplist = '/etc/e2guardian/lists/exceptioniplist' showweightedfound = on weightedphrasemode = 2 urlcachenumber = 1000 urlcacheage = 900 scancleancache = on phrasefiltermode = 2 preservecase = 0 hexdecodecontent = off forcequicksearch = off reverseaddresslookups = off reverseclientiplookups = off logclienthostnames = off createlistcachefiles = on prefercachedlists = off maxcontentfiltersize = 256 maxcontentramcachescansize = 2000 maxcontentfilecachescansize = 20000 filecachedir = '/tmp' deletedownloadedtempfiles = on initialtrickledelay = 20 trickledelay = 10 downloadmanager = '/etc/e2guardian/downloadmanagers/fancy.conf' downloadmanager = '/etc/e2guardian/downloadmanagers/default.conf' contentscannertimeout = 60 contentscanexceptions = off recheckreplacedurls = off forwardedfor = off usexforwardedfor = off logconnectionhandlingerrors = on logchildprocesshandling = off maxchildren = 180 minchildren = 20 minsparechildren = 16 preforkchildren = 10 maxsparechildren = 32 maxagechildren = 500 maxips = 0 ipcfilename = '/tmp/.e2guardianipc' urlipcfilename = '/tmp/.e2guardianurlipc' ipipcfilename = '/tmp/.e2guardianipipc' nodaemon = off nologger = off logadblocks = off loguseragent = off softrestart = off mailer = '/usr/sbin/sendmail -t'
Ab Version 5.2:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardian.conf
Die Konfigurationsdatei /etc/e2guardian/e2guardian.conf
ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardian.conf languagedir = '/usr/share/e2guardian/languages' language = 'ukenglish' loglevel = 3 logexceptionhits = 2 logfileformat = 6 filterip = filterports = 8080 transparenthttpsport = 8443 proxytimeout = 5 connecttimeout = 5 proxyexchange = 61 pcontimeout = 55 originalip = off usecustombannedimage = on custombannedimagefile = '/usr/share/e2guardian/transparent1x1.gif' usecustombannedflash = on custombannedflashfile = '/usr/share/e2guardian/blockedflash.swf' filtergroups = 1 filtergroupslist = '/etc/e2guardian/lists/filtergroupslist' iplist = 'name=bannedclient,messageno=100,logmessageno=103,path=/etc/e2guardian/lists/bannediplist' iplist = 'name=exceptionclient,messageno=600,path=/etc/e2guardian/lists/exceptioniplist' iplist = 'name=authexception,messageno=602,path=/etc/e2guardian/lists/authexceptioniplist' sitelist = 'name=authexception,messageno=602,path=/etc/e2guardian/lists/authexceptionsitelist' urllist = 'name=authexception,messageno=603,path=/etc/e2guardian/lists/authexceptionurllist' showweightedfound = on weightedphrasemode = 2 phrasefiltermode = 2 preservecase = 0 hexdecodecontent = off forcequicksearch = off reverseaddresslookups = off reverseclientiplookups = off logclienthostnames = off maxcontentfiltersize = 256 maxcontentramcachescansize = 2000 maxcontentfilecachescansize = 20000 filecachedir = '/tmp' deletedownloadedtempfiles = on initialtrickledelay = 20 trickledelay = 10 downloadmanager = '/etc/e2guardian/downloadmanagers/default.conf' contentscannertimeout = 60 recheckreplacedurls = off forwardedfor = off usexforwardedfor = off logconnectionhandlingerrors = on httpworkers = 500 nodaemon = off nologger = off logadblocks = off loguseragent = off enablessl = off preauthstoryboard = '/etc/e2guardian/preauth.story' searchsitelistforip = on
Nachfolgende Änderungen wurden beispielhaft vorgenommen:
Änderung der Sprache auf deutsch:
- language = 'german'
Ab Version 5.2 - Änderung des LOG-Level
- loglevel = 2
Ab Version 5.2 - Änderung des LOG-File-Formats
- logfileformat = 1
Filter für die IP-Adresse, an der der E2guardian lauschen soll:
- filterip = 192.168.0.50
Ab Version 5.2 - Proxy IP-Adresse, an der der E2guardian weiterreichen soll:
- proxyip = 127.0.0.1 (Vorausgesetzt, selber HOST !!!)
Ab Version 5.2 - Proxy Port, an der der E2guardian weiterreichen soll:
- proxyport = 3128 (Vorausgesetzt, Standardport z.B. Squid Cache !!!)
Änderung des Parameterwertes ( gegen die Empfehlung, da sonst das Download-Manager-Plugin „fancy“ NICHT funktioniert !!!)
- initialtrickledelay = 2
Änderung des Parameterwertes ( gegen die Empfehlung, da sonst das Download-Manager-Plugin „fancy“ NICHT funktioniert !!!)
- trickledelay = 1
Auskommentierung aufgehoben zur Anzeige von Benutzerkennungen im Log-File ( Es wird ebenfalls squid
als Proxy verwendet):
- authplugin = '/etc/e2guardian/authplugins/proxy-basic.conf'
Änderung der Einstellung für „x-forward“ der ursprünglichen IP-Adresse des Clients und nicht der des E2guardian zum HTTP-Header
- forwardedfor = on
Änderung der Einstellung für „x-forward“ der ursprünglichen IP-Adresse des Clients und nicht der des E2guardian zur Auswertung durch einen nach gelagerten Proxy-Server wie z.B. Squid
- usexforwardedfor = on
Kein Limit auf bestimmte IP-Adressen setzen
- xforwardedforfilterip =
Bis Version 4.1.4:
Die Konfigurationsdatei /etc/e2guardian/e2guardian.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardian.conf languagedir = '/usr/share/e2guardian/languages' language = 'german' loglevel = 2 logexceptionhits = 2 logfileformat = 1 maxuploadsize = -1 filterip = 192.168.0.50 filterports = 8080 proxyip = 127.0.0.1 proxyport = 3128 proxytimeout = 20 proxyexchange = 20 pcontimeout = 55 originalip = on usecustombannedimage = on custombannedimagefile = '/usr/share/e2guardian/transparent1x1.gif' usecustombannedflash = on custombannedflashfile = '/usr/share/e2guardian/blockedflash.swf' filtergroups = 1 filtergroupslist = '/etc/e2guardian/lists/filtergroupslist' bannediplist = '/etc/e2guardian/lists/bannediplist' exceptioniplist = '/etc/e2guardian/lists/exceptioniplist' showweightedfound = on weightedphrasemode = 2 urlcachenumber = 1000 urlcacheage = 900 scancleancache = on phrasefiltermode = 2 preservecase = 0 hexdecodecontent = off forcequicksearch = off reverseaddresslookups = off reverseclientiplookups = off logclienthostnames = off createlistcachefiles = on prefercachedlists = off maxcontentfiltersize = 256 maxcontentramcachescansize = 2000 maxcontentfilecachescansize = 20000 filecachedir = '/tmp' deletedownloadedtempfiles = on initialtrickledelay = 2 trickledelay = 1 downloadmanager = '/etc/e2guardian/downloadmanagers/fancy.conf' downloadmanager = '/etc/e2guardian/downloadmanagers/default.conf' contentscannertimeout = 60 contentscanexceptions = off authplugin = '/etc/e2guardian/authplugins/proxy-basic.conf' recheckreplacedurls = off forwardedfor = on usexforwardedfor = on xforwardedforfilterip = logconnectionhandlingerrors = on logchildprocesshandling = off maxchildren = 180 minchildren = 20 minsparechildren = 16 preforkchildren = 10 maxsparechildren = 32 maxagechildren = 500 maxips = 0 ipcfilename = '/tmp/.e2guardianipc' urlipcfilename = '/tmp/.e2guardianurlipc' ipipcfilename = '/tmp/.e2guardianipipc' nodaemon = off nologger = off logadblocks = off loguseragent = off softrestart = off mailer = '/usr/sbin/sendmail -t'
Ab Version 5.2:
Die Konfigurationsdatei /etc/e2guardian/e2guardian.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen:
languagedir = '/usr/share/e2guardian/languages' language = 'german' loglevel = 2 logexceptionhits = 2 logfileformat = 1 filterip = 192.168.0.50 filterports = 8080 transparenthttpsport = 8443 proxyip = 127.0.0.1 proxyport = 3128 proxytimeout = 5 connecttimeout = 5 proxyexchange = 61 pcontimeout = 55 originalip = off usecustombannedimage = on custombannedimagefile = '/usr/share/e2guardian/transparent1x1.gif' usecustombannedflash = on custombannedflashfile = '/usr/share/e2guardian/blockedflash.swf' filtergroups = 6 filtergroupslist = '/etc/e2guardian/lists/filtergroupslist' iplist = 'name=bannedclient,messageno=100,logmessageno=103,path=/etc/e2guardian/lists/bannediplist' iplist = 'name=exceptionclient,messageno=600,path=/etc/e2guardian/lists/exceptioniplist' iplist = 'name=authexception,messageno=602,path=/etc/e2guardian/lists/authexceptioniplist' sitelist = 'name=authexception,messageno=602,path=/etc/e2guardian/lists/authexceptionsitelist' urllist = 'name=authexception,messageno=603,path=/etc/e2guardian/lists/authexceptionurllist' showweightedfound = on weightedphrasemode = 2 phrasefiltermode = 2 preservecase = 0 hexdecodecontent = off forcequicksearch = off reverseaddresslookups = off reverseclientiplookups = off logclienthostnames = off maxcontentfiltersize = 256 filecachedir = '/tmp' deletedownloadedtempfiles = on initialtrickledelay = 2 trickledelay = 1 downloadmanager = '/etc/e2guardian/downloadmanagers/default.conf' contentscanner = '/etc/e2guardian/contentscanners/clamdscan.conf' contentscannertimeout = 60 authplugin = '/etc/e2guardian/authplugins/proxy-basic.conf' recheckreplacedurls = off forwardedfor = on usexforwardedfor = on xforwardedforfilterip = logconnectionhandlingerrors = on httpworkers = 500 nodaemon = off nologger = off logadblocks = off loguseragent = off enablessl = off preauthstoryboard = '/etc/e2guardian/preauth.story' searchsitelistforip = on
/etc/e2guardian/e2guardianf1.conf
Da die Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
aufgrund von Kommentar- und Leerzeichen sehr schnell unübersichtlich ist, kann mit nachfolgendem Befehl, eine Ausgabe ohne Kommentar- und Leerzeilen erzeugt werden, welche dann nach der Grundinstallation von E2guardian wie folgt aussehen sollte:
Bis Version 4.1.4:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardianf1.conf
Die Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardianf1.conf.orig groupmode = 1 groupname = '' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist' bannedsitelist = '/etc/e2guardian/lists/bannedsitelist' greysitelist = '/etc/e2guardian/lists/greysitelist' bannedsslsitelist = '/etc/e2guardian/lists/bannedsslsitelist' greysslsitelist = '/etc/e2guardian/lists/greysslsitelist' exceptionsitelist = '/etc/e2guardian/lists/exceptionsitelist' bannedurllist = '/etc/e2guardian/lists/bannedurllist' greyurllist = '/etc/e2guardian/lists/greyurllist' exceptionurllist = '/etc/e2guardian/lists/exceptionurllist' exceptionregexpurllist = '/etc/e2guardian/lists/exceptionregexpurllist' bannedregexpurllist = '/etc/e2guardian/lists/bannedregexpurllist' picsfile = '/etc/e2guardian/lists/pics' contentregexplist = '/etc/e2guardian/lists/contentregexplist' urlregexplist = '/etc/e2guardian/lists/urlregexplist' refererexceptionsitelist = '/etc/e2guardian/lists/refererexceptionsitelist' refererexceptionurllist = '/etc/e2guardian/lists/refererexceptionurllist' embededreferersitelist = '/etc/e2guardian/lists/embededreferersitelist' embededrefererurllist = '/etc/e2guardian/lists/embededrefererurllist' urlredirectregexplist = '/etc/e2guardian/lists/urlredirectregexplist' !! Not compiled !! authexceptionsitelist = '/etc/e2guardian/lists/authexceptionsitelist' !! Not compiled !! authexceptionurllist = '/etc/e2guardian/lists/authexceptionurllist' blockdownloads = off exceptionextensionlist = '/etc/e2guardian/lists/exceptionextensionlist' exceptionmimetypelist = '/etc/e2guardian/lists/exceptionmimetypelist' bannedextensionlist = '/etc/e2guardian/lists/bannedextensionlist' bannedmimetypelist = '/etc/e2guardian/lists/bannedmimetypelist' exceptionfilesitelist = '/etc/e2guardian/lists/exceptionfilesitelist' exceptionfileurllist = '/etc/e2guardian/lists/exceptionfileurllist' maxuploadsize = -1 headerregexplist = '/etc/e2guardian/lists/headerregexplist' bannedregexpheaderlist = '/etc/e2guardian/lists/bannedregexpheaderlist' addheaderregexplist = '/etc/e2guardian/lists/addheaderregexplist' naughtynesslimit = 50 categorydisplaythreshold = 0 embeddedurlweight = 0 enablepics = off bypass = 0 bypasskey = '' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off deepurlanalysis = off reportinglevel = 3 usesmtp = off mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslcertcheck = off sslmitm = off onlymitmsslgrey = off mitmcheckcert = on nocheckcertsitelist = '/etc/e2guardian/lists/nocheckcertsitelist'
Ab Version 5.2:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardianf1.conf
Die Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardianf1.conf groupname = 'no_name_group' storyboard = '/etc/e2guardian/examplef1.story' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist' sitelist = 'name=banned,messageno=500,path=/etc/e2guardian/lists/bannedsitelist' ipsitelist = 'name=banned,messageno=510,path=/etc/e2guardian/lists/bannedsiteiplist' urllist = 'name=banned,messageno=501,path=/etc/e2guardian/lists/bannedurllist' regexpboollist = 'name=banned,messageno=503,path=/etc/e2guardian/lists/bannedregexpurllist' regexpboollist = 'name=banneduseragent,messageno=522,path=/etc/e2guardian/lists/bannedregexpuseragentlist' sitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsitelist' ipsitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsiteiplist' sitelist = 'name=grey,path=/etc/e2guardian/lists/greysitelist' ipsitelist = 'name=grey,path=/etc/e2guardian/lists/greysiteiplist' urllist = 'name=grey,path=/etc/e2guardian/lists/greyurllist' sitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsitelist' ipsitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsiteiplist' sitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsitelist' ipsitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsiteiplist' urllist = 'name=exception,messageno=603,path=/etc/e2guardian/lists/exceptionurllist' regexpboollist = 'name=exception,messageno=609,path=/etc/e2guardian/lists/exceptionregexpurllist' regexpboollist = 'name=exceptionuseragent,messageno=610,path=/etc/e2guardian/lists/exceptionregexpuseragentlist' sitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsitelist' ipsitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsiteiplist' urllist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionurllist' sitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersitelist' ipsitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersiteiplist' urllist = 'name=embededreferer,path=/etc/e2guardian/lists/embededrefererurllist' regexpreplacelist = 'name=change,path=/etc/e2guardian/lists/urlregexplist' regexpreplacelist = 'name=sslreplace,path=/etc/e2guardian/lists/sslsiteregexplist' regexpreplacelist = 'name=redirect,path=/etc/e2guardian/lists/urlredirectregexplist' contentregexplist = '/etc/e2guardian/lists/contentregexplist' sitelist = 'name=localbanned,messageno=560,path=/etc/e2guardian/lists/localbannedsitelist' searchlist = 'name=localbanned,messageno=581,path=/etc/e2guardian/lists/localbannedsearchlist' sitelist = 'name=localgrey,path=/etc/e2guardian/lists/localgreysitelist' sitelist = 'name=localgreyssl,path=/etc/e2guardian/lists/localgreysslsitelist' sitelist = 'name=localexception,messageno=662,path=/etc/e2guardian/lists/localexceptionsitelist' fileextlist = 'name=exceptionextension,path=/etc/e2guardian/lists/exceptionextensionlist' mimelist = 'name=exceptionmime,path=/etc/e2guardian/lists/exceptionextensionlist' fileextlist = 'name=bannedextension,messageno=900,path=/etc/e2guardian/lists/bannedextensionlist' mimelist = 'name=bannedmime,messageno=800,path=/etc/e2guardian/lists/bannedmimetypelist' sitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesitelist' ipsitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesiteiplist' urllist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfileurllist' maxuploadsize = -1 regexpreplacelist = 'name=headermods,path=/etc/e2guardian/lists/headerregexplist' regexpboollist = 'name=bannedheader,path=/etc/e2guardian/lists/bannedregexpheaderlist' regexpboollist = 'name=exceptionheader,path=/etc/e2guardian/lists/exceptionregexpheaderlist' regexpreplacelist = 'name=addheader,path=/etc/e2guardian/lists/addheaderregexplist' naughtynesslimit = 50 regexpreplacelist = 'name=searchterms,path=/etc/e2guardian/lists/searchregexplist' searchlist = 'name=banned,path=/etc/e2guardian/lists/bannedsearchlist' searchlist = 'name=override,path=/etc/e2guardian/lists/bannedsearchoveridelist' categorydisplaythreshold = 0 embeddedurlweight = 0 bypass = 0 bypasskey = '' sitelist = 'name=bannedbypass,messageno=500,path=/etc/e2guardian/lists/bannedsitelistwithbypass' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off disablecontentscanerror = off contentscanexceptions = off deepurlanalysis = off reportinglevel = 3 usesmtp = off #NOT YET TESTED mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslmitm = off mitmcheckcert = on sitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsitelist' ipsitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsiteiplist'
Nachfolgende Änderungen wurden beispielhaft vorgenommen:
Änderung des Namens der Filtergruppe:
- groupname = 'default'
Ab Version 5.2 - Änderung bzw. Kopie des storyboard
- storyboard = '/etc/e2guardian/f1.story'
WICHTIG - Damit die Änderungen auf f1.story
möglich ist, sollte mit nachfolgendem Befehl eine Kopie des originalen examplef1.story
durchgeführt werden. Dadurch können später Änderungen leichter durchgeführt werden, da immer die Originaldatei noch verfügbar bleibt:
# cp -a /etc/e2guardian/examplef1.story /etc/e2guardian/f1.story
Setzen eines eigenen HTML-Templates für gebannte Inhalte:
- htmltemplate = 'templatef1.html'
WICHTIG - Damit die Änderungen des HTML-Templates möglich ist, sollte mit nachfolgendem Befehl eine Kopie des originalen HTML-Templates durchgeführt werden. Dadurch können später Änderungen leichter durchgeführt werden, da immer die Originaldatei noch verfügbar bleibt:
# cp -a /usr/share/e2guardian/languages/german/template.html /usr/share/e2guardian/languages/german/templatef1.html
Bis Version 4.1.4:
Die Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen:
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardianf1.conf groupmode = 1 groupname = 'default' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist' bannedsitelist = '/etc/e2guardian/lists/bannedsitelist' greysitelist = '/etc/e2guardian/lists/greysitelist' bannedsslsitelist = '/etc/e2guardian/lists/bannedsslsitelist' greysslsitelist = '/etc/e2guardian/lists/greysslsitelist' exceptionsitelist = '/etc/e2guardian/lists/exceptionsitelist' bannedurllist = '/etc/e2guardian/lists/bannedurllist' greyurllist = '/etc/e2guardian/lists/greyurllist' exceptionurllist = '/etc/e2guardian/lists/exceptionurllist' exceptionregexpurllist = '/etc/e2guardian/lists/exceptionregexpurllist' bannedregexpurllist = '/etc/e2guardian/lists/bannedregexpurllist' picsfile = '/etc/e2guardian/lists/pics' contentregexplist = '/etc/e2guardian/lists/contentregexplist' urlregexplist = '/etc/e2guardian/lists/urlregexplist' refererexceptionsitelist = '/etc/e2guardian/lists/refererexceptionsitelist' refererexceptionurllist = '/etc/e2guardian/lists/refererexceptionurllist' embededreferersitelist = '/etc/e2guardian/lists/embededreferersitelist' embededrefererurllist = '/etc/e2guardian/lists/embededrefererurllist' urlredirectregexplist = '/etc/e2guardian/lists/urlredirectregexplist' !! Not compiled !! authexceptionsitelist = '/etc/e2guardian/lists/authexceptionsitelist' !! Not compiled !! authexceptionurllist = '/etc/e2guardian/lists/authexceptionurllist' blockdownloads = off exceptionextensionlist = '/etc/e2guardian/lists/exceptionextensionlist' exceptionmimetypelist = '/etc/e2guardian/lists/exceptionmimetypelist' bannedextensionlist = '/etc/e2guardian/lists/bannedextensionlist' bannedmimetypelist = '/etc/e2guardian/lists/bannedmimetypelist' exceptionfilesitelist = '/etc/e2guardian/lists/exceptionfilesitelist' exceptionfileurllist = '/etc/e2guardian/lists/exceptionfileurllist' maxuploadsize = -1 headerregexplist = '/etc/e2guardian/lists/headerregexplist' bannedregexpheaderlist = '/etc/e2guardian/lists/bannedregexpheaderlist' addheaderregexplist = '/etc/e2guardian/lists/addheaderregexplist' naughtynesslimit = 50 categorydisplaythreshold = 0 embeddedurlweight = 0 enablepics = on bypass = 0 bypasskey = '' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off deepurlanalysis = off reportinglevel = 3 htmltemplate = 'templatef1.html' usesmtp = off mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslcertcheck = off sslmitm = off onlymitmsslgrey = off mitmcheckcert = on nocheckcertsitelist = '/etc/e2guardian/lists/nocheckcertsitelist'
Ab Version 5.2:
Die Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardianf1.conf groupname = 'default' storyboard = '/etc/e2guardian/f1.story' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist' sitelist = 'name=banned,messageno=500,path=/etc/e2guardian/lists/bannedsitelist' ipsitelist = 'name=banned,messageno=510,path=/etc/e2guardian/lists/bannedsiteiplist' urllist = 'name=banned,messageno=501,path=/etc/e2guardian/lists/bannedurllist' regexpboollist = 'name=banned,messageno=503,path=/etc/e2guardian/lists/bannedregexpurllist' regexpboollist = 'name=banneduseragent,messageno=522,path=/etc/e2guardian/lists/bannedregexpuseragentlist' sitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsitelist' ipsitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsiteiplist' sitelist = 'name=grey,path=/etc/e2guardian/lists/greysitelist' ipsitelist = 'name=grey,path=/etc/e2guardian/lists/greysiteiplist' urllist = 'name=grey,path=/etc/e2guardian/lists/greyurllist' sitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsitelist' ipsitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsiteiplist' sitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsitelist' ipsitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsiteiplist' urllist = 'name=exception,messageno=603,path=/etc/e2guardian/lists/exceptionurllist' regexpboollist = 'name=exception,messageno=609,path=/etc/e2guardian/lists/exceptionregexpurllist' regexpboollist = 'name=exceptionuseragent,messageno=610,path=/etc/e2guardian/lists/exceptionregexpuseragentlist' sitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsitelist' ipsitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsiteiplist' urllist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionurllist' sitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersitelist' ipsitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersiteiplist' urllist = 'name=embededreferer,path=/etc/e2guardian/lists/embededrefererurllist' regexpreplacelist = 'name=change,path=/etc/e2guardian/lists/urlregexplist' regexpreplacelist = 'name=sslreplace,path=/etc/e2guardian/lists/sslsiteregexplist' regexpreplacelist = 'name=redirect,path=/etc/e2guardian/lists/urlredirectregexplist' contentregexplist = '/etc/e2guardian/lists/contentregexplist' sitelist = 'name=localbanned,messageno=560,path=/etc/e2guardian/lists/localbannedsitelist' searchlist = 'name=localbanned,messageno=581,path=/etc/e2guardian/lists/localbannedsearchlist' sitelist = 'name=localgrey,path=/etc/e2guardian/lists/localgreysitelist' sitelist = 'name=localgreyssl,path=/etc/e2guardian/lists/localgreysslsitelist' sitelist = 'name=localexception,messageno=662,path=/etc/e2guardian/lists/localexceptionsitelist' fileextlist = 'name=exceptionextension,path=/etc/e2guardian/lists/exceptionextensionlist' mimelist = 'name=exceptionmime,path=/etc/e2guardian/lists/exceptionextensionlist' fileextlist = 'name=bannedextension,messageno=900,path=/etc/e2guardian/lists/bannedextensionlist' mimelist = 'name=bannedmime,messageno=800,path=/etc/e2guardian/lists/bannedmimetypelist' sitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesitelist' ipsitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesiteiplist' urllist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfileurllist' maxuploadsize = -1 regexpreplacelist = 'name=headermods,path=/etc/e2guardian/lists/headerregexplist' regexpboollist = 'name=bannedheader,path=/etc/e2guardian/lists/bannedregexpheaderlist' regexpboollist = 'name=exceptionheader,path=/etc/e2guardian/lists/exceptionregexpheaderlist' regexpreplacelist = 'name=addheader,path=/etc/e2guardian/lists/addheaderregexplist' naughtynesslimit = 50 regexpreplacelist = 'name=searchterms,path=/etc/e2guardian/lists/searchregexplist' searchlist = 'name=banned,path=/etc/e2guardian/lists/bannedsearchlist' searchlist = 'name=override,path=/etc/e2guardian/lists/bannedsearchoveridelist' categorydisplaythreshold = 0 embeddedurlweight = 0 bypass = 0 bypasskey = '' sitelist = 'name=bannedbypass,messageno=500,path=/etc/e2guardian/lists/bannedsitelistwithbypass' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off disablecontentscanerror = off contentscanexceptions = off deepurlanalysis = off reportinglevel = 3 htmltemplate = 'templatef1.html' usesmtp = off #NOT YET TESTED mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslmitm = off mitmcheckcert = off sitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsitelist' ipsitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsiteiplist'
/etc/logrotate.d/e2guardian
Nachfolgend soll die Konfigurationsdatei /etc/logrotate.d/e2guardian
angepasst werden.
Die Anpassung bezieht sich darauf, das die von E2guardian erzeugte LOG-Datei beim rotieren komprimiert werden soll.
(Komplette Konfigurationsdatei):
/var/log/e2guardian/access.log { rotate 4 weekly compress sharedscripts postrotate /bin/kill -HUP `cat /var/run/e2guardian.pid 2>/dev/null` 2> /dev/null || true endscript }
Nachfolgende Änderungen wurden beispielhaft vorgenommen:
Komprimieren der LOG-Datei beim rotieren selbiger:
- compress
Erster Start e2guardian
Um den E2guardian zu starten kann nachfolgender Befehl angewandt werden:
# systemctl start e2guardian.service
Eine Überprüfung ob der Start des E2guardian erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
# systemctl status e2guardian.service e2guardian.service - E2guardian Web filtering Loaded: loaded (/usr/lib/systemd/system/e2guardian.service; enabled) Active: active (running) since Wed 2015-06-10 16:00:53 CEST; 8s ago Process: 2029 ExecStart=/usr/sbin/e2guardian (code=exited, status=0/SUCCESS) Main PID: 2030 (e2guardian) CGroup: /system.slice/e2guardian.service ├─2030 /usr/sbin/e2guardian ├─2031 /usr/sbin/e2guardian ├─2032 /usr/sbin/e2guardian ├─2033 /usr/sbin/e2guardian ├─2034 /usr/sbin/e2guardian ├─2035 /usr/sbin/e2guardian ├─2036 /usr/sbin/e2guardian ├─2037 /usr/sbin/e2guardian ├─2038 /usr/sbin/e2guardian ├─2039 /usr/sbin/e2guardian ├─2040 /usr/sbin/e2guardian ├─2041 /usr/sbin/e2guardian ├─2042 /usr/sbin/e2guardian ├─2043 /usr/sbin/e2guardian ├─2044 /usr/sbin/e2guardian ├─2045 /usr/sbin/e2guardian ├─2046 /usr/sbin/e2guardian ├─2047 /usr/sbin/e2guardian ├─2048 /usr/sbin/e2guardian ├─2049 /usr/sbin/e2guardian ├─2050 /usr/sbin/e2guardian ├─2051 /usr/sbin/e2guardian └─2052 /usr/sbin/e2guardian Jun 10 16:00:52 server50.tachtler.net systemd[1]: Starting E2guardian Web filtering... Jun 10 16:00:53 server50.tachtler.net systemd[1]: Started E2guardian Web filtering. Jun 10 16:00:55 server50.tachtler.net e2guardian[2030]: Started sucessfully.
bzw. mit nachfolgendem Befehl, ob auf den entsprechende Netzwerkinterface gelauscht wird:
# netstat -tulpen | grep e2guardian tcp 0 0 192.168.0.50:8080 0.0.0.0:* LISTEN 399 23347 2030/e2guardian
Erster Browser Aufruf
Nachdem nachfolgende Konfiguration im Browser, hier am Beispiel eines Mozilla Firefox-Browsers, wie in nachfolgender Bildschirmkopie dargestellt, durchgeführt wurde, sollte mit dem Surfen über den E2guardian Content Filter-Server nichts mehr im Wege stehen:
Nachfolgende Einstellungen sind im Mozilla Firefox-Browsers unter
- Open Menu (Menü) | Preferences (Einstellungen) | Advanced (Erweitert) | Network (Netzwerk) | Settings… (Einstellungen…) | Manual proxy configuration (Manuelle Proxy-Konfiguration)
durchzuführen:
Einstellungen | Standardwert | Wert |
---|---|---|
HTTP-Proxy | [leer] | 192.168.0.50 (IP des E2guardian Content Filter-Servers) |
Port | [leer] | 8080 |
Anschließend sollte nun beim Aufruf einer Website wie z.B. http://sex.de nachfolgendes Browser-Dialog-Fenster erscheinen und zur Eingabe eines Benutzernamens eines Passwortes auffordern, wie auf nachfolgender Bildschirm dargestellt:
Nach korrekter Eingabe des Benutzernamens und Passwortes, sollte nachfolgender Bildschirm erscheinen, das die Seite NICHT aufrufbar war und gesperrt wurde:
Alle Vorgänge können in nachfolgender LOG-Datei ebenfalls nachvollzogen werden,
/var/log/e2guardian/access.log
ob der E2guardian Content Filter-Servers, wie und ob die Authentifizierung erfolgreich war, und ob die Seite NICHT aufrufbar war und gesperrt wurde, was mit nachfolgendem Befehl realisiert werden kann:
# cat /var/log/e2guardian/access.log 2015.6.10 16:02:28 klaus 192.168.2.10 http://sex.de GET 243 0 1 301 - default - - 2015.6.10 16:02:28 klaus 192.168.2.10 http://www.movieon.com/?ptr=49_d5b3 GET 0 0 1 301 - default - - 2015.6.10 16:02:29 klaus 192.168.2.10 http://www.movieon.com/de/?ptr=49_d5b3 *VERWEIGERT* Verbotene Kombination von Ausdrücken gefunden50 : 1933 (( porn, fuck)+( slut, porn)+(amateur, porn)+(amateur, slut)+(amateur, fuck)+(bdsm, porn)+(bdsm, slut)+(erotic, porn)+(erotic, fuck)+(fuck, porn) +(fuck, slut)+(masturbat, porn)+(masturbat, slut)+(masturbat, fuck)+(pornstar, slut)+(pornstar, fuck)+(teen, porn)+(webcam, girl)+(webcam, porn)+(webcam, slut)+(webcam, fuck)+(film, sex)+( film, porno )+(videos, gratis)+ bdsm + erotic+ gay + hentai+ masturba+ milf + oral+ porn+ porno+ sex + slut+ swinger+amateur+analsex+dirty slut+erotic+erotica+erotik+-faq+fick+fotze+fuck+gefickt+- genre+gruppensex+hemmungslos+hentai+interracial+lesben+-newsletter+porno+pornofilm+sexy+swinger+ tabulos+-test +titten+-transparent+wanna fuck) GET 89635 1933 Pornography, Pornography (German), Pornography (Portuguese), Pornography (Italian), Pornografia, Pornography (Spanish), Pornography (Dutch), Pornography (Norwegian) 1 403 text/html default - -
Filtergruppen-Konfiguration
Unter der Konfiguration von Filtergruppen ist die unterschiedliche Behandelung von Personen, je nach dem in welcher Filtergruppe diese sind, gemeint. Ein Beispiel wäre:
Standard –> Filtergruppe 1
(Alle Benutzer, ohne besondere Filtergruppen-Zuweisung!)Eltern –> Filtergruppe 2
Kinder –> Filtergruppe 3
oder vergleichbare Szenarien, in denen Personen unterschiedliche Rechte haben sollen, was das Filtern des Inhalts der Seiten durch E2guardian betrifft.
Nachfolgende Konfigurationen sind dazu notwendig:
- Anpassen der Konfigurationsdatei
/etc/e2guardian/e2guardian.conf
- Anpassen der Konfigurationsdatei
/etc/e2guardian/lists/filtergroupslist
- Erstellen einer weiteren
/etc/e2guardian/e2guardianf<Nummer>.conf
-Datei (z.B.e2guardianf2.conf
) - Neuerstellung von Banned- und Exception-Dateien im Bereich
/etc/e2guardian/lists
/etc/e2guardian/e2guardian.conf
Nachfolgende Anpassungen an der Konfigurationsdatei /etc/e2guardian/e2guardian.conf
sind erforderlich, um mehrere Filtergruppen einsetzen zu können:
HINWEIS - Die Anzahl der Filtergruppen ist auf 99 Filtergruppen begrenzt!
(Nur relevanter Ausschnitt):
... # Filter groups options # filtergroups sets the number of filter groups. A filter group is a set of content # filtering options you can apply to a group of users. The value must be 1 or more. # e2guardian will automatically look for e2guardianfN.conf where N is the filter # group. To assign users to groups use the filtergroupslist option. All users default # to filter group 1. You must have some sort of authentication to be able to map users # to a group. The more filter groups the more copies of the lists will be in RAM so # use as few as possible. filtergroups = 3 filtergroupslist = '/etc/e2guardian/lists/filtergroupslist' ...
/etc/e2guardian/lists/filtergroupslist
Nachfolgende Anpassungen an der Konfigurationsdatei /etc/e2guardian/e2guardian.conf
sind erforderlich, um mehrere Filtergruppen einsetzen zu können:
(Komplette Konfigurationsdatei):
# Filter Groups List file for DansGuardian # # Format is <user>=filter<1-9> where 1-9 are the groups # # Eg: # daniel=filter2 # # This file is only of use if you have more than 1 filter group # # Tachtler klaus=filter2 petra=filter2 lena=filter3 luis=filter3
/etc/e2guardian/e2guardianf<Nummer>.conf
Nachfolgende soll durch kopieren einer bereits vorhandenen Konfigurationsdatei /etc/e2guardian/e2guardianf1.conf
weitere Konfigurationsdateien erstellt werden, was erforderlich ist, um mehrere Filtergruppen einsetzen zu können:
# cp -a /etc/e2guardian/e2guardianf1.conf /etc/e2guardian/e2guardianf2.conf # cp -a /etc/e2guardian/e2guardianf1.conf /etc/e2guardian/e2guardianf3.conf
Anschließend kann der Inhalt der so neu erstellten Konfigurationsdateien
/etc/e2guardian/e2guardianf2.conf
/etc/e2guardian/e2guardianf3.conf
entsprechend angepasst werden.
Nachfolgende Änderungen können beispielhaft vorgenommen werden:
Änderung des Namens der Filtergruppe:
- groupname = 'eltern'
Ab Version 5.2 - Änderung bzw. Kopie des storyboard
- storyboard = '/etc/e2guardian/f2.story'
WICHTIG - Damit die Änderungen auf f2.story
möglich ist, sollte mit nachfolgendem Befehl eine Kopie des originalen examplef1.story
durchgeführt werden. Dadurch können später Änderungen leichter durchgeführt werden, da immer die Originaldatei noch verfügbar bleibt:
# cp -a /etc/e2guardian/examplef1.story /etc/e2guardian/f2.story
Setzen eines eigenen HTML-Templates für gebannte Inhalte:
- htmltemplate = 'templatef2.html'
Einstellung der Punktezahl für die Bewertung einer Seite, ab welche diese nicht mehr angezeigt werden soll:
- naughtynesslimit = 160
WICHTIG - Damit die Änderungen des HTML-Templates möglich ist, sollte mit nachfolgendem Befehl eine Kopie des originalen HTML-Templates durchgeführt werden. Dadurch können später Änderungen leichter durchgeführt werden, da immer die Originaldatei noch verfügbar bleibt:
# cp -a /usr/share/e2guardian/languages/german/template.html /usr/share/e2guardian/languages/german/templatef2.html
Abschließend müssen noch die einzelnen Konfigurationsdateien welche sich im Verzeichnis
/etc/e2guardian/e2guardian/lists
befinden, entsprechend gesetzte werden, wenn die für die einzelnen Filtergruppen unterschiedliche Inhalte aufweisen sollen.
Ggf. kann dies im z.B. Editor vi
entsprechend durchgeführt werden:
:%s/list'/list_f2'/g
und
:%s/pics'/pics_f2'/g
Die Konfigurationsdatei /etc/e2guardian/e2guardianf2.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen, könnte dann wie folgt aussehen:
Bis Version 4.1.4
# egrep -v '(^#|^$)' /etc/e2guardian/e2guardianf2.conf groupmode = 1 groupname = 'eltern' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist_f2' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist_f2' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist_f2' bannedsitelist = '/etc/e2guardian/lists/bannedsitelist_f2' greysitelist = '/etc/e2guardian/lists/greysitelist_f2' bannedsslsitelist = '/etc/e2guardian/lists/bannedsslsitelist_f2' greysslsitelist = '/etc/e2guardian/lists/greysslsitelist_f2' exceptionsitelist = '/etc/e2guardian/lists/exceptionsitelist_f2' bannedurllist = '/etc/e2guardian/lists/bannedurllist_f2' greyurllist = '/etc/e2guardian/lists/greyurllist_f2' exceptionurllist = '/etc/e2guardian/lists/exceptionurllist_f2' exceptionregexpurllist = '/etc/e2guardian/lists/exceptionregexpurllist_f2' bannedregexpurllist = '/etc/e2guardian/lists/bannedregexpurllist_f2' picsfile = '/etc/e2guardian/lists/pics_f2' contentregexplist = '/etc/e2guardian/lists/contentregexplist_f2' urlregexplist = '/etc/e2guardian/lists/urlregexplist_f2' refererexceptionsitelist = '/etc/e2guardian/lists/refererexceptionsitelist_f2' refererexceptionurllist = '/etc/e2guardian/lists/refererexceptionurllist_f2' embededreferersitelist = '/etc/e2guardian/lists/embededreferersitelist_f2' embededrefererurllist = '/etc/e2guardian/lists/embededrefererurllist_f2' urlredirectregexplist = '/etc/e2guardian/lists/urlredirectregexplist_f2' !! Not compiled !! authexceptionsitelist = '/etc/e2guardian/lists/authexceptionsitelist_f2' !! Not compiled !! authexceptionurllist = '/etc/e2guardian/lists/authexceptionurllist_f2' blockdownloads = off exceptionextensionlist = '/etc/e2guardian/lists/exceptionextensionlist_f2' exceptionmimetypelist = '/etc/e2guardian/lists/exceptionmimetypelist_f2' bannedextensionlist = '/etc/e2guardian/lists/bannedextensionlist_f2' bannedmimetypelist = '/etc/e2guardian/lists/bannedmimetypelist_f2' exceptionfilesitelist = '/etc/e2guardian/lists/exceptionfilesitelist_f2' exceptionfileurllist = '/etc/e2guardian/lists/exceptionfileurllist_f2' maxuploadsize = -1 headerregexplist = '/etc/e2guardian/lists/headerregexplist_f2' bannedregexpheaderlist = '/etc/e2guardian/lists/bannedregexpheaderlist_f2' addheaderregexplist = '/etc/e2guardian/lists/addheaderregexplist_f2' naughtynesslimit = 160 categorydisplaythreshold = 0 embeddedurlweight = 0 enablepics = on bypass = 0 bypasskey = '' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off deepurlanalysis = off reportinglevel = 3 htmltemplate = 'templatef2.html' usesmtp = off mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslcertcheck = off sslmitm = off onlymitmsslgrey = off mitmcheckcert = on nocheckcertsitelist = '/etc/e2guardian/lists/nocheckcertsitelist_f2'
Ab Version 5.2:
Die Konfigurationsdatei /etc/e2guardian/e2guardianf2.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen, könnte dann wie folgt aussehen:
# egrep -v '(^#|^ #|^$)' /etc/e2guardian/e2guardianf2.conf groupname = 'eltern' storyboard = '/etc/e2guardian/f2.story' bannedphraselist = '/etc/e2guardian/lists/bannedphraselist_f2' weightedphraselist = '/etc/e2guardian/lists/weightedphraselist_f2' exceptionphraselist = '/etc/e2guardian/lists/exceptionphraselist_f2' sitelist = 'name=banned,messageno=500,path=/etc/e2guardian/lists/bannedsitelist_f2' ipsitelist = 'name=banned,messageno=510,path=/etc/e2guardian/lists/bannedsiteiplist_f2' urllist = 'name=banned,messageno=501,path=/etc/e2guardian/lists/bannedurllist_f2' regexpboollist = 'name=banned,messageno=503,path=/etc/e2guardian/lists/bannedregexpurllist_f2' regexpboollist = 'name=banneduseragent,messageno=522,path=/etc/e2guardian/lists/bannedregexpuseragentlist_f2' sitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsitelist_f2' ipsitelist = 'name=bannedssl,messageno=520,path=/etc/e2guardian/lists/bannedsslsiteiplist_f2' sitelist = 'name=grey,path=/etc/e2guardian/lists/greysitelist_f2' ipsitelist = 'name=grey,path=/etc/e2guardian/lists/greysiteiplist_f2' urllist = 'name=grey,path=/etc/e2guardian/lists/greyurllist_f2' sitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsitelist_f2' ipsitelist = 'name=greyssl,path=/etc/e2guardian/lists/greysslsiteiplist' sitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsitelist_f2' ipsitelist = 'name=exception,messageno=602,path=/etc/e2guardian/lists/exceptionsiteiplist_f2' urllist = 'name=exception,messageno=603,path=/etc/e2guardian/lists/exceptionurllist_f2' regexpboollist = 'name=exception,messageno=609,path=/etc/e2guardian/lists/exceptionregexpurllist_f2' regexpboollist = 'name=exceptionuseragent,messageno=610,path=/etc/e2guardian/lists/exceptionregexpuseragentlist_f2' sitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsitelist_f2' ipsitelist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionsiteiplist_f2' urllist = 'name=refererexception,messageno=620,path=/etc/e2guardian/lists/refererexceptionurllist_f2' sitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersitelist_f2' ipsitelist = 'name=embededreferer,path=/etc/e2guardian/lists/embededreferersiteiplist_f2' urllist = 'name=embededreferer,path=/etc/e2guardian/lists/embededrefererurllist_f2' regexpreplacelist = 'name=change,path=/etc/e2guardian/lists/urlregexplist_f2' regexpreplacelist = 'name=sslreplace,path=/etc/e2guardian/lists/sslsiteregexplist_f2' regexpreplacelist = 'name=redirect,path=/etc/e2guardian/lists/urlredirectregexplist_f2' contentregexplist = '/etc/e2guardian/lists/contentregexplist_f2' sitelist = 'name=localbanned,messageno=560,path=/etc/e2guardian/lists/localbannedsitelist_f2' searchlist = 'name=localbanned,messageno=581,path=/etc/e2guardian/lists/localbannedsearchlist_f2' sitelist = 'name=localgrey,path=/etc/e2guardian/lists/localgreysitelist_f2' sitelist = 'name=localgreyssl,path=/etc/e2guardian/lists/localgreysslsitelist_f2' sitelist = 'name=localexception,messageno=662,path=/etc/e2guardian/lists/localexceptionsitelist_f2' fileextlist = 'name=exceptionextension,path=/etc/e2guardian/lists/exceptionextensionlist_f2' mimelist = 'name=exceptionmime,path=/etc/e2guardian/lists/exceptionextensionlist_f2' fileextlist = 'name=bannedextension,messageno=900,path=/etc/e2guardian/lists/bannedextensionlist_f2' mimelist = 'name=bannedmime,messageno=800,path=/etc/e2guardian/lists/bannedmimetypelist_f2' sitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesitelist_f2' ipsitelist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfilesiteiplist_f2' urllist = 'name=exceptionfile,path=/etc/e2guardian/lists/exceptionfileurllist_f2' maxuploadsize = -1 regexpreplacelist = 'name=headermods,path=/etc/e2guardian/lists/headerregexplist_f2' regexpboollist = 'name=bannedheader,path=/etc/e2guardian/lists/bannedregexpheaderlist_f2' regexpboollist = 'name=exceptionheader,path=/etc/e2guardian/lists/exceptionregexpheaderlist_f2' regexpreplacelist = 'name=addheader,path=/etc/e2guardian/lists/addheaderregexplist_f2' naughtynesslimit = 160 regexpreplacelist = 'name=searchterms,path=/etc/e2guardian/lists/searchregexplist_f2' searchlist = 'name=banned,path=/etc/e2guardian/lists/bannedsearchlist_f2' searchlist = 'name=override,path=/etc/e2guardian/lists/bannedsearchoveridelist_f2' categorydisplaythreshold = 0 embeddedurlweight = 0 bypass = 0 bypasskey = '' sitelist = 'name=bannedbypass,messageno=500,path=/etc/e2guardian/lists/bannedsitelistwithbypass_f2' infectionbypass = 0 infectionbypasskey = '' infectionbypasserrorsonly = on disablecontentscan = off disablecontentscanerror = off contentscanexceptions = off deepurlanalysis = off reportinglevel = 3 usesmtp = off #NOT YET TESTED mailfrom = '' avadmin = '' contentadmin = '' avsubject = 'e2guardian virus block' contentsubject = 'e2guardian violation' notifyav = off notifycontent = off thresholdbyuser = off violations = 0 threshold = 0 sslmitm = off mitmcheckcert = on sitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsitelist_f2' ipsitelist = 'name=nocheckcert,path=/etc/e2guardian/lists/nocheckcertsiteiplist_f2'
/etc/e2guardian/lists
Nachfolgende soll durch kopieren von bereits vorhandenen Konfigurationsdateien /etc/e2guardian/lists/*
weitere Konfigurationsdateien erstellt werden, was gewünscht sein kann, wenn mehrere Filtergruppen zum Einsatz kommen:
# ls /etc/e2guardian/lists/*list /etc/e2guardian/lists/pics | while read FILE; do cp -a ${FILE} ${FILE}_f2; done
Bypass-Konfiguration
Unter einem sogenannten Bypass wird im E2guardian die Möglichkeit verstanden, beim erscheinen der „Access Denied“ (Zugriff verweigert-Seite) einen Link auf dieser Seite anzuklicken, um dann durch
- Variante 1: Passwort Eingabe
- Variante 2: Zugehörigkeit zu einer Filtergruppe (mit Authentifizierung)
damit die Seite für einen gewissen Zeitraum trotzdem angezeigt zu bekommen, obwohl diese durch die exception-Dateien eigentlich gesperrt ist.
Um E2guardian zu so einem Verhalten zu veranlassen, sind folgende Schritte notwendig:
- Die Freigabe auf eine Filtergruppe beschränken
- Anpassungen an der
/etc/e2guardian/e2guardianf<Nummer>.conf
-Datei - Die entsprechende HTML-Datei anpassen -
template<Nummer>.html
, welche den entsprechendem -BYPASS- Link enthält
/etc/e2guardian/e2guardian.conf
Um die Freigabe via Bypass auf eine Filtergruppe beschränken zu können, ist die Erstellung einer Filtergruppe vorab erforderlich, was unter nachfolgendem internen Link nachgelesen werden kann:
/etc/e2guardian/e2guardianf<Nummer>.conf
In diesem Beispiel wird die Konfigurationsdatei /etc/e2guardian/e2guardianf2.conf
verwendet um einen Bypass einzurichten:
(Nur relevanter Ausschnitt):
... # Temporary Denied Page Bypass # This provides a link on the denied page to bypass the ban for a few minutes. To be # secure it uses a random hashed secret generated at daemon startup. You define the # number of seconds the bypass will function for before the deny will appear again. # To allow the link on the denied page to appear you will need to edit the template.html # or e2guardian.pl file for your language. # 300 = enable for 5 minutes # 0 = disable ( defaults to 0 ) # -1 = enable but you require a separate program/CGI to generate a valid link # Tachtler # default: bypass = 0 bypass = 300 ...
/usr/share/e2guardian/languages/german/templatef<Nummer>.html
In diesem Beispiel wird die Konfigurationsdatei /usr/share/e2guardian/languages/german/templatef2.html
verwendet um einen Bypass einzurichten:
Folgender Link kann mit nachfolgendem HTML-Code, an geeigneter Stelle, auf der HTML-Seite „Access Denied“ (Zugriff verweigert-Seite) eingefügt werden:
(Nur relevanter Ausschnitt):
... <br><br> Zeitlich begrenzten Zugriff auf diese Seite trotzdem durchführen <a href="-BYPASS-">Bypass</a> <br><br><br><br> ...
Virenscanner-Konfiguration
Nahcfolgend soll der Virenscanner ClamAV eingebunden werden.
Um im E2guardian einen Virenscanner einbinden zu können, sind Anpassungen in den Konfigurationsdateien:
/etc/e2guardian/e2guardian.conf
/etc/e2guardian/contentscanners/clamdscan.conf
/etc/clamd.d/e2guardian.conf
/etc/sysconfig/clamd.e2guardian
/usr/lib/systemd/system/clamd.e2guardian.service
durchzuführen.
/etc/e2guardian/e2guardian.conf
Nachfolgende Anpassungen in der Konfigurationsdatei /etc/e2guardian/e2guardian.conf
sind erforderlich, um den Virenscanner ClamAV einbinden zu können:
(Nur relevanter Ausschnitt)
... # Content Scanners (Also known as AV scanners) # These are plugins that scan the content of all files your browser fetches # for example to AV scan. The options are limitless. Eventually all of # e2guardian will be plugin based. You can have more than one content # scanner. The plugins are run in the order you specify. # This is one of the few places you can have multiple options of the same name. # # Some of the scanner(s) require 3rd party software and libraries eg clamav. # See the individual plugin conf file for more options (if any). # # Tachtler # default: #contentscanner = '/etc/e2guardian/contentscanners/clamdscan.conf' contentscanner = '/etc/e2guardian/contentscanners/clamdscan.conf' #contentscanner = '/etc/e2guardian/contentscanners/avastdscan.conf' #contentscanner = '/etc/e2guardian/contentscanners/kavdscan.conf' #contentscanner = '/etc/e2guardian/contentscanners/icapscan.conf' #contentscanner = '/etc/e2guardian/contentscanners/commandlinescan.conf' ...
/etc/e2guardian/contentscanners/clamdscan.conf
Nachfolgende Anpassungen in der Konfigurationsdatei /etc/e2guardian/contentscanners/clamdscan.conf
sind erforderlich, um den Virenscanner ClamAV einbinden zu können:
(Komplette Konfigurationsdatei)
plugname = 'clamdscan' # edit this to match the location of your ClamD UNIX domain socket # Tachtler # default: #clamdudsfile = '/var/run/clamav/clamd.sock' clamdudsfile = '/var/run/e2guardian/clamd.sock' # If this string is set, the text it contains shall be removed from the # beginning of filenames when passing them to ClamD. # Use it to - for example - support a ClamD running inside a chroot jail: # if DG's filecachedir is set to "/var/clamdchroot/downloads/" and pathprefix # is set to "/var/clamdchroot", then file names given to ClamD will be of the # form "/downloads/tf*" instead of "/var/clamdchroot/downloads/tf*". #pathprefix = '/var/clamdchroot' # Only used until version 4.1.4 exceptionvirusmimetypelist = '/etc/e2guardian/lists/contentscanners/exceptionvirusmimetypelist' exceptionvirusextensionlist = '/etc/e2guardian/lists/contentscanners/exceptionvirusextensionlist' exceptionvirussitelist = '/etc/e2guardian/lists/contentscanners/exceptionvirussitelist' exceptionvirusurllist = '/etc/e2guardian/lists/contentscanners/exceptionvirusurllist'
/etc/clamd.d/e2guardian.conf
Nachfolgende Konfigurationsdatei /etc/clamd.d/e2guardian.conf
stellt die Verbindungsparameter zwischen dem
E2guardian und dem Virenscanner ClamAV zur Verfügung.
ACHTUNG - Aktuell sind alle Parameter noch auf „Dansguardian“ eingestellt, dies muss korrigiert werden!
Nachfolgend sollte die Konfigurationsdatei wie folgt angepasst werden, damit diese die Konfigurationen für den E2guardian und NICHT dem Dansguardian aufweist:
(Komplette Konfigurationsdatei):
# Use system logger. LogSyslog yes # Specify the type of syslog messages - please refer to 'man syslog' # for facility names. LogFacility LOG_DAEMON # This option allows you to save a process identifier of the listening # daemon (main thread). # Tachtler # default: PidFile /var/run/dansguardian/clamd.pid PidFile /var/run/e2guardian/clamd.pid # Remove stale socket after unclean shutdown. # Default: disabled FixStaleSocket yes # Run as a selected user (clamd must be started by root). # Tachtler # default: User dansguardian User e2guardian # Path to a local socket file the daemon will listen on. # Tachtler # default: LocalSocket /var/run/dansguardian/clamd.sock LocalSocket /var/run/e2guardian/clamd.sock
/etc/sysconfig/clamd.e2guardian
Nachfolgende Konfigurationsdatei /etc/sysconfig/clamd.e2guardian
stellt ebenfalls weitere Verbindungsparameter zwischen dem E2guardian und dem Virenscanner ClamAV zur Verfügung.
ACHTUNG - Aktuell sind alle Parameter noch auf „Dansguardian“ eingestellt, dies muss korrigiert werden!
Nachfolgend sollte die Konfigurationsdatei wie folgt angepasst werden, damit diese die Konfigurationen für den E2guardian und NICHT dem Dansguardian aufweist:
(Komplette Konfigurationsdatei):
CLAMD_CONFIGFILE=/etc/clamd.d/e2guardian.conf CLAMD_SOCKET=/var/run/e2guardian/clamd.sock CLAMD_OPTIONS=
/etc/systemd/system/clamd.e2guardian.service
Nachfolgende Konfigurationsdatei /etc/sysconfig/clamd.e2guardian
stellt die Startparameter zur Verbindung zwischen dem E2guardian und dem Virenscanner ClamAV zur Verfügung.
ACHTUNG - Aktuell sind alle Parameter noch auf „Dansguardian“ eingestellt, dies muss korrigiert werden!
Nachfolgend sollte die Konfigurationsdatei wie folgt angepasst werden, damit diese die Konfigurationen für den E2guardian und NICHT dem Dansguardian aufweist:
(Komplette Konfigurationsdatei):
[Unit] Description=Clamd E2Guardian. An Interface Between Content Filter And Content Checkers After=network.target [Service] Type=forking PIDFile=/var/run/e2guardian/clamd.pid ExecStart=/usr/sbin/clamd -c /etc/clamd.d/e2guardian.conf [Install] WantedBy=multi-user.target
Um die Änderungen wirksam werden zu lassen, muss nachfolgender Befehl ausgeführt werden:
# systemctl daemon-reload
/etc/tmpfiles.d/clamd.e2guardian.conf
Im Verzeichnis /etc/tmpfiles.d
/ systemd-tmpfiles.d können temporäre Dateien und Verzeichnisse unter anderem im Verzeichnis /var/run/
angelegt werden.
Nachfolgende Konfiguration erzeugt den temporären UNIX-Dateisocket im Verzeichnis /var/run/e2guardian/clamd.sock
mit den zugehörigen Berechtigungen.
Dazu wird im nachfolgendem Verzeichnis eine Konfigurationsdatei mit ebenfalls nachfolgerndem Namen
/etc/tmpfiles.d/clamd.e2guardian.conf
erstellt, welche nachfolgenden Inhalt aufweist:
(Komplette Konfigurationsdatei):
d /var/run/e2guardian 0755 e2guardian clamupdate -
HINWEIS - Mit diesen Dateirechten können auch Überwachungs-Monitore den Datei-Socket überprüfen!
ClamAV Dienst/Deamon-Start einrichten
Um den Virenscanner ClamAV mit dem E2guardian, welcher ebenfalls als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable clamd.e2guardian.service ln -s '/usr/lib/systemd/system/clamd.e2guardian.service' '/etc/systemd/system/multi-user.target.wants/clamd.e2guardian.service'
Eine Überprüfung, ob beim Neustart des Server der clamd.e2guardian
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e e2guardian.service clamd.e2guardian.service enabled e2guardian.service enabled
bzw.
# systemctl is-enabled clamd.e2guardian.service enabled
Erster Start clamd.e2guardian
Um den ClamAV des E2guardian zu starten kann nachfolgender Befehl angewandt werden:
# systemctl start clamd.e2guardian.service
Eine Überprüfung ob der Start des ClamAV des E2guardian erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
# systemctl status clamd.e2guardian.service clamd.e2guardian.service - Clamd E2Guardian. An Interface Between Content Filter And Content Checkers Loaded: loaded (/usr/lib/systemd/system/clamd.e2guardian.service; enabled) Active: active (running) since Thu 2015-06-11 16:26:28 CEST; 15s ago Process: 1417 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/e2guardian.conf (code=exited, status=0/SUCCESS) Main PID: 1419 (clamd) CGroup: /system.slice/clamd.e2guardian.service └─1419 /usr/sbin/clamd -c /etc/clamd.d/e2guardian.conf Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Algorithmic detection... Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Portable Executable s... Jun 11 16:26:27 server50.tachtler.net clamd[1419]: ELF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Mail files support en... Jun 11 16:26:27 server50.tachtler.net clamd[1419]: OLE2 support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: PDF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: SWF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: HTML support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Self checking every 6... Jun 11 16:26:28 server50.tachtler.net systemd[1]: Started Clamd E2Guardi... Hint: Some lines were ellipsized, use -l to show in full.
bzw. mit nachfolgendem Befehl, ob der Dienst/Daemon in der Prozessliste erscheint:
# ps aux | grep clamd e2guard+ 1419 0.0 15.6 452984 294660 ? Ssl 16:26 0:00 /usr/sbin/clamd -c /etc/clamd.d/e2guardian.conf root 1426 0.0 0.0 112640 932 pts/0 S+ 16:27 0:00 grep --color=auto clamd
Eine weitere Möglichkeit ist die Überprüfung des journal
, was mit nachfolgendem Befehl durchgeführt werden kann:
# journalctl -x Jun 11 16:26:14 server50.tachtler.net systemd[1]: Starting Clamd E2Guardian. An Interface Between Content Filter And Content Checkers... -- Subject: Unit clamd.e2guardian.service has begun with start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit clamd.e2guardian.service has begun starting up. Jun 11 16:26:14 server50.tachtler.net clamd[1417]: clamd daemon 0.98.7 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64) Jun 11 16:26:14 server50.tachtler.net clamd[1417]: Running as user e2guardian (UID 399, GID 399) Jun 11 16:26:14 server50.tachtler.net clamd[1417]: Log file size limited to 1048576 bytes. Jun 11 16:26:14 server50.tachtler.net clamd[1417]: Reading databases from /var/lib/clamav Jun 11 16:26:14 server50.tachtler.net clamd[1417]: Not loading PUA signatures. Jun 11 16:26:14 server50.tachtler.net clamd[1417]: Bytecode: Security mode set to "TrustSigned". Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: ************************************************** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: *** The virus database is older than 7 days! *** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: *** Please update it as soon as possible. *** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: ************************************************** Jun 11 16:26:26 server50.tachtler.net clamd[1417]: Loaded 3798335 signatures. Jun 11 16:26:27 server50.tachtler.net clamd[1417]: LOCAL: Unix socket file /var/run/e2guardian/clamd.sock Jun 11 16:26:27 server50.tachtler.net clamd[1417]: LOCAL: Setting connection queue length to 200 Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: Global size limit set to 104857600 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: File size limit set to 26214400 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: Recursion level limit set to 16. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: Files limit set to 10000. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxEmbeddedPE limit set to 10485760 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxHTMLNormalize limit set to 10485760 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxHTMLNoTags limit set to 2097152 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxScriptNormalize limit set to 5242880 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxZipTypeRcg limit set to 1048576 bytes. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxPartitions limit set to 50. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Limits: MaxIconsPE limit set to 100. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Archive support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Algorithmic detection enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Portable Executable support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: ELF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Mail files support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: OLE2 support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: PDF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: SWF support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: HTML support enabled. Jun 11 16:26:27 server50.tachtler.net clamd[1419]: Self checking every 600 seconds. Jun 11 16:26:28 server50.tachtler.net systemd[1]: Started Clamd E2Guardian. An Interface Between Content Filter And Content Checkers. -- Subject: Unit clamd.e2guardian.service has finished start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit clamd.e2guardian.service has finished starting up. -- -- The start-up result is done.
Ignore/Whitelist erstellen: /var/lib/clamav/whitelist.ign2
Um z.B. bei dem Verdacht auf ein „false-positive“ eine Erkennung eines bestimmten Treffers aus dem „pattern“ von ClamAV ignorieren bzw. „whitelisten“ zu können, ist nachfolgendes Vorgehen notwendig.
Mit nachfolgendem Befehl ist im Verzeichnis
/var/lib/clamav
eine Datei mit dem Namen
whitelist.ign2
zu erzeugen.
# touch /var/lib/clamav/whitelist.ign2
Der Inhalt ist dann mit dem Namen des zu ignorierenden bzw. „whitelistenden“ Treffers aus dem „pattern“ von ClamAV als einfacher Eintrag zu erstellen, wie nachfolgendes Beispiel zeigt:
Win.Exploit.CVE_2019_0903-6966169-0
Anschliessend ist, wenn der ClamAV bereits gestartet wurde, ein Neustart mit nachfolgendem Befehl durchzuführen:
# systemctl restart clamd.e2guardian.service
Virenscanner-Update-Konfiguration
Die Einbindung des Virenscanners ClamAV in den E2guardian ist leider noch nicht ausreichend, da der Virenscanner ohne frische Viren-Pattern (Viren-Update-Dateien) nur bedingt erfolgreich agieren kann, was z.B ggf. auch im journal
zu sehen ist:
(Nur relevanter Ausschnitt)
Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: ************************************************** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: *** The virus database is older than 7 days! *** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: *** Please update it as soon as possible. *** Jun 11 16:26:14 server50.tachtler.net clamd[1417]: LibClamAV Warning: **************************************************
Um den ClamAV welcher in den E2guardian eingebunden ist „Up-To-Date“ zu halten ist nachfolgende Konfiguration erforderlich.
Installation: clamav-update
Mit nachfolgendem Befehl, kann das rpm
-Paket - clamav-update
installiert werden:
# yum install clamav-update Loaded plugins: changelog, priorities base | 3.6 kB 00:00 epel | 4.4 kB 00:00 extras | 3.4 kB 00:00 mailserver.guru-os | 2.9 kB 00:00 mailserver.guru-testing | 2.9 kB 00:00 updates | 3.4 kB 00:00 mailserver.guru-os/x86_64/primary_db | 119 kB 00:00 132 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package clamav-update.x86_64 0:0.98.7-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: clamav-update x86_64 0.98.7-1.el7 epel 89 k Transaction Summary ================================================================================ Install 1 Package Total download size: 89 k Installed size: 178 k Is this ok [y/d/N]: y Downloading packages: clamav-update-0.98.7-1.el7.x86_64.rpm | 89 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : clamav-update-0.98.7-1.el7.x86_64 1/1 Verifying : clamav-update-0.98.7-1.el7.x86_64 1/1 Installed: clamav-update.x86_64 0:0.98.7-1.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket e2guardian
installiert wurden.
# rpm -qil clamav-update Name : clamav-update Version : 0.98.7 Release : 1.el7 Architecture: x86_64 Install Date: Thu 11 Jun 2015 05:02:33 PM CEST Group : Applications/File Size : 182427 License : GPLv2 Signature : RSA/SHA256, Thu 30 Apr 2015 03:57:27 PM CEST, Key ID 6a2faea2352c64e5 Source RPM : clamav-0.98.7-1.el7.src.rpm Build Date : Wed 29 Apr 2015 08:47:04 PM CEST Build Host : buildvm-20.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.clamav.net Summary : Auto-updater for the Clam Antivirus scanner data-files Description : This package contains programs which can be used to update the clamav anti-virus database automatically. It uses the freshclam(1) utility for this task. To activate it, uncomment the entry in /etc/cron.d/clamav-update. /etc/cron.d/clamav-update /etc/freshclam.conf /etc/logrotate.d/clamav-update /etc/sysconfig/freshclam /usr/bin/freshclam /usr/share/clamav/freshclam-sleep /usr/share/man/man1/freshclam.1.gz /usr/share/man/man5/freshclam.conf.5.gz /var/lib/clamav/daily.cld /var/lib/clamav/main.cld /var/log/freshclam.log
/etc/sysconfig/freshclam
Nachfolgende Konfigurationsdatei /etc/sysconfig/freshclam
regelt, ob der Dienst überhaupt aktiv ist und muss entsprechend angepasst werden, damit dieser aktiv ist.
Nachfolgende Anpassungen müssen am Ende der Konfigurationsdatei durchgeführt werden:
(Komplette Konfigurationsdatei)
## When changing the periodicity of freshclam runs in the crontab, ## this value must be adjusted also. Its value is the timespan between ## two subsequent freshclam runs in minutes. E.g. for the default ## ## | 0 */3 * * * ... ## ## crontab line, the value is 180 (minutes). # FRESHCLAM_MOD= ## A predefined value for the delay in seconds. By default, the value is ## calculated by the 'hostid' program. This predefined value guarantees ## constant timespans of 3 hours between two subsequent freshclam runs. ## ## This option accepts two special values: ## 'disabled-warn' ... disables the automatic freshclam update and ## gives out a warning ## 'disabled' ... disables the automatic freshclam silently # FRESHCLAM_DELAY= ### !!!!! REMOVE ME !!!!!! ### REMOVE ME: By default, the freshclam update is disabled to avoid ### REMOVE ME: network access without prior activation # Tachtler # default: FRESHCLAM_DELAY=disabled-warn # REMOVE ME # FRESHCLAM_DELAY=disabled-warn # REMOVE ME
/etc/freshclam.conf
Nachfolgende Konfigurationsdatei /etc/freshclam.conf
ist die Steuerungsdatei für den ClamAV-Update-Mechanismus.
Da die Konfigurationsdatei /etc/freshclam.conf
aufgrund von Kommentar- und Leerzeichen sehr schnell unübersichtlich ist, kann mit nachfolgendem Befehl, eine Ausgabe ohne Kommentar- und Leerzeilen erzeugt werden, welche dann nach der Grundinstallation des ClamAV-Update-Mechanismus wie folgt aussehen sollte:
# egrep -v '(^#|^$)' /etc/freshclam.conf
Die Konfigurationsdatei /etc/freshclam.conf
ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^$)' /etc/freshclam.conf
Example
LogSyslog yes
DatabaseMirror database.clamav.net
Nachfolgende Anpassungen müssen am Anfang der Konfigurationsdatei durchgeführt werden:
(Nur relevanter Ausschnitt)
## ## Example config file for freshclam ## Please read the freshclam.conf(5) manual before editing this file. ## # Comment or remove the line below. # Tachtler # default: Example # Example ...
Nachfolgende Änderungen wurden beispielhaft vorgenommen:
Verringerung der Update-Zeit von alle 3 Stunden auf alle 30 Minuten (Maximalwert):
- Checks 48
Benachrichtigung des ClamAV ermöglichen:
- NotifyClamd /etc/clamd.d/e2guardian.conf
Die Konfigurationsdatei /etc/freshclam.conf
ohne Kommentar- und Leerzeichen inklusive der Änderungen, könnte dann wie folgt aussehen:
# egrep -v '(^#|^$)' /etc/freshclam.conf LogSyslog yes DatabaseMirror database.clamav.net Checks 48 NotifyClamd /etc/clamd.d/e2guardian.conf
Variante 1: /etc/cron.d/clamav-update
Nachfolgender cron
-Job wird standardmäßig: alle 3-Stunden ausgeführt und liefert so Updates für den Virenscanner ClamAV.
Dies kann ebenfalls auf den (Maximalwert = 30 Minuten) abgeändert werden, wie nachfolgende Anpassungen zeigen:
(Komplette Konfigurationsdatei)
## Adjust this line... MAILTO=root ## It is ok to execute it as root; freshclam drops privileges and becomes ## user 'clamupdate' as soon as possible # Tachtler # default: 0 */3 * * * root /usr/share/clamav/freshclam-sleep */30 * * * * root /usr/share/clamav/freshclam-sleep
Variante 2: /usr/lib/systemd/system/clamd.freshclam.service
Alternativ kann auch der „freshclam“ als Daemon im Hintergrund gestartet werden, was durch erstellen einer systemd
Start-Datei für den „freshclam“ wie nachfolgend gezeigt, durchgeführt werden kann:
# Run the freshclam as daemon [Unit] Description = freshclam update scanner daemon After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d Restart = on-failure PrivateTmp = true [Install] WantedBy=multi-user.target
Um die Änderungen wirksam werden zu lassen, muss nachfolgender Befehl ausgeführt werden:
# systemctl daemon-reload
Freshclam Dienst/Deamon-Start einrichten
Um den Virenscanner ClamAV-Update-Dienst/Daemon, welcher ebenfalls als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable clamd.freshclam.service ln -s '/usr/lib/systemd/system/clamd.freshclam.service' '/etc/systemd/system/multi-user.target.wants/clamd.freshclam.service'
Eine Überprüfung, ob beim Neustart des Server der clamd.freshclam.
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e clamd.freshclam clamd.freshclam.service enabled
bzw.
# systemctl is-enabled clamd.freshclam.service enabled
Erster Start clamd.freshclam
Um den ClamAV-Update-Mechanismus des E2guardian zu starten kann nachfolgender Befehl angewandt werden:
# systemctl start clamd.freshclam.service
Eine Überprüfung ob der Start des ClamAV-Update-Mechanismus des E2guardian erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
# systemctl status clamd.freshclam.service clamd.freshclam.service - freshclam update scanner daemon Loaded: loaded (/usr/lib/systemd/system/clamd.freshclam.service; enabled) Active: active (running) since Thu 2015-06-11 18:00:10 CEST; 2s ago Process: 1766 ExecStart=/usr/bin/freshclam -d (code=exited, status=0/SUCCESS) Main PID: 1767 (freshclam) CGroup: /system.slice/clamd.freshclam.service └─1767 /usr/bin/freshclam -d Jun 11 18:00:10 server50.tachtler.net freshclam[1767]: main.cvd is up to... Jun 11 18:00:10 server50.tachtler.net systemd[1]: Started freshclam upda... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: getfile: daily-20... Jun 11 18:00:12 server50..achtler.net freshclam[1767]: getpatch: Can't d... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: getfile: daily-20... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: getpatch: Can't d... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: Trying host datab... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: getfile: daily-20... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: getpatch: Can't d... Jun 11 18:00:12 server50.tachtler.net freshclam[1767]: Incremental updat... Hint: Some lines were ellipsized, use -l to show in full.
bzw. mit nachfolgendem Befehl, ob der Dienst/Daemon in der Prozessliste erscheint:
# ps aux | grep freshclam clamupd+ 1824 7.8 0.1 69448 2732 ? Ss 18:02 0:04 /usr/bin/freshclam -d root 1833 0.0 0.0 112640 932 pts/0 S+ 18:02 0:00 grep --color=auto freshclam
Ebenfalls kann anhand der LOG-Datei des „freshclam“ nachvollzogen werden, wie das Update der Viren-Pattern (Virus-Update-Informationen) verlaufen ist. Es sollte eine Ausgabe in etwa wie nachfolgende erscheinen:
Jun 12 12:11:22 server50 freshclam[2664]: Update process terminated Jun 12 12:11:44 server50 freshclam[3209]: freshclam daemon 0.98.7 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64) Jun 12 12:11:44 server50 freshclam[3209]: ClamAV update process started at Fri Jun 12 12:11:44 2015 Jun 12 12:11:44 server50 freshclam[3209]: main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo) Jun 12 12:12:15 server50 freshclam[3209]: Downloading daily.cvd [100%] Jun 12 12:12:21 server50 freshclam[3209]: daily.cvd updated (version: 20563, sigs: 1423134, f-level: 63, builder: shurley) Jun 12 12:12:22 server50 freshclam[3209]: Downloading bytecode.cvd [100%] Jun 12 12:12:22 server50 freshclam[3209]: bytecode.cvd updated (version: 258, sigs: 47, f-level: 63, builder: anvilleg) Jun 12 12:12:26 server50 freshclam[3209]: Database updated (3847406 signatures) from database.clamav.net (IP: 62.201.161.84) Jun 12 12:12:26 server50 freshclam[3209]: Clamd successfully notified about the update. Jun 12 12:12:26 server50 freshclam[3209]: --------------------------------------
Vor allem nachfolgende Zeile sollte erscheinen:
Jun 12 12:12:26 server50 freshclam[3209]: Clamd successfully notified about the update.
Blacklist-Konfiguration
E2guardian bietet die Möglichkeit sogenannte Blacklist einzubinden, diese Listen beinhalten meist Domains, welche in verschiedenen Kategorien unterteilt sind.
Herunterladen
Unter nachfolgendem externen Link kann für den persönlichen und privaten Gebrauch, kostenlos mit täglichen Updates, Blacklist bezogen werden:
Der Download kann direkt unter nachfolgendem Link gestartet werden:
Nachfolgender Befehl soll hier beispielhaft zum Download in das Verzeichnis /tmp
genutzt werden:
# wget http://www.shallalist.de/Downloads/shallalist.tar.gz -P /tmp --2015-06-12 14:58:34-- http://www.shallalist.de/Downloads/shallalist.tar.gz Resolving www.shallalist.de (www.shallalist.de)... 46.4.77.203 Connecting to www.shallalist.de (www.shallalist.de)|46.4.77.203|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9897263 (9.4M) [application/x-gzip] Saving to: ‘/tmp/shallalist.tar.gz’ 100%[======================================>] 9,897,263 1.16MB/s in 8.2s 2015-06-12 14:58:43 (1.14 MB/s) - ‘/tmp/shallalist.tar.gz’ saved [9897263/9897263]
Installation
Nach dem erfolgreichen herunterladen der Datei shallalist.tar.gz
in das Verzeichnis /tmp
kann diese Datei mit nachfolgendem Befehl entpackt werden:
# tar xzfv /tmp/shallalist.tar.gz
Anschließend ist das Verzeichnis /tmp/BL
entstanden, welches mit nachfolgendem Befehl in das Verzeichnis /etc/e2guardian/lists
kopiert und gleichzeitig umbenannt werden kann:
# mv /tmp/BL /etc/e2guardian/lists/blacklists
Mit nachfolgendem Befehl, müssen noch die richtigen Besitzrechte gesetzt werden:
# chown -R root.root /etc/e2guardian/lists/blacklists
Mit nachfolgendem Befehle, müssen noch die richtigen Dateirechte gesetzt werden:
# chmod -R 755 /etc/e2guardian/lists/blacklists
Die Konfiguration bzw. das Einbinden der Domain-Listen aus den einzelnen Verzeichnissen geschieht in der Konfigurationsdatei
/etc/e2guardian/bannedsitelist
Hier ist ebenfalls schon eine etwas kleinere Liste enthalten, welche aber aufgrund des neuen und aktuelleren Umfangs ignoriert werden sollte, jedoch als Vorlage dienen kann, wie die einzelnen Domain-Listen eingebunden werden sollen.
Hier ein Konfigurationsbeispiel für das einbinden der Domain-Listen in die DansGuardian-Konfigurationsdatei /etc/e2guardian/lists/bannedsitelist
(Nur relevanter Ausschnitt):
...
# The squidGuard advert domain/URL lists are now included by default.
# To work with advanced ad blocking & the logadblocks option, advert
# phrase/site/URL lists should have the string "ADs" in their listcategory.
# .Include</etc/e2guardian/lists/blacklists/ads/domains>
#Remove the # from the following and edit as needed to use a stock
#squidGuard/urlblacklists collection.
#.Include</etc/e2guardian/lists/blacklists/adult/domains>
#.Include</etc/e2guardian/lists/blacklists/aggressive/domains>
#.Include</etc/e2guardian/lists/blacklists/artnudes/domains>
#.Include</etc/e2guardian/lists/blacklists/audio-video/domains>
#.Include</etc/e2guardian/lists/blacklists/beerliquorinfo/domains>
#.Include</etc/e2guardian/lists/blacklists/beerliquorsale/domains>
#.Include</etc/e2guardian/lists/blacklists/chat/domains>
#.Include</etc/e2guardian/lists/blacklists/childcare/domains>
#.Include</etc/e2guardian/lists/blacklists/clothing/domains>
#.Include</etc/e2guardian/lists/blacklists/culinary/domains>
#.Include</etc/e2guardian/lists/blacklists/dialers/domains>
#.Include</etc/e2guardian/lists/blacklists/drugs/domains>
#.Include</etc/e2guardian/lists/blacklists/entertainment/domains>
#.Include</etc/e2guardian/lists/blacklists/forums/domains>
#.Include</etc/e2guardian/lists/blacklists/frencheducation/domains>
#.Include</etc/e2guardian/lists/blacklists/gambling/domains>
#.Include</etc/e2guardian/lists/blacklists/government/domains>
#.Include</etc/e2guardian/lists/blacklists/hacking/domains>
#.Include</etc/e2guardian/lists/blacklists/homerepair/domains>
#.Include</etc/e2guardian/lists/blacklists/hygiene/domains>
#.Include</etc/e2guardian/lists/blacklists/jewelry/domains>
#.Include</etc/e2guardian/lists/blacklists/jobsearch/domains>
#.Include</etc/e2guardian/lists/blacklists/kidstimewasting/domains>
#.Include</etc/e2guardian/lists/blacklists/mail/domains>
#.Include</etc/e2guardian/lists/blacklists/news/domains>
#.Include</etc/e2guardian/lists/blacklists/onlineauctions/domains>
#.Include</etc/e2guardian/lists/blacklists/onlinegames/domains>
#.Include</etc/e2guardian/lists/blacklists/onlinepayment/domains>
#.Include</etc/e2guardian/lists/blacklists/personalfinance/domains>
#.Include</etc/e2guardian/lists/blacklists/pets/domains>
#.Include</etc/e2guardian/lists/blacklists/porn/domains>
#.Include</etc/e2guardian/lists/blacklists/proxy/domains>
#.Include</etc/e2guardian/lists/blacklists/publicite/domains>
#.Include</etc/e2guardian/lists/blacklists/redirector/domains>
#.Include</etc/e2guardian/lists/blacklists/ringtones/domains>
#.Include</etc/e2guardian/lists/blacklists/sportnews/domains>
#.Include</etc/e2guardian/lists/blacklists/sports/domains>
#.Include</etc/e2guardian/lists/blacklists/vacation/domains>
#.Include</etc/e2guardian/lists/blacklists/violence/domains>
#.Include</etc/e2guardian/lists/blacklists/virusinfected/domains>
#.Include</etc/e2guardian/lists/blacklists/warez/domains>
Nachfolgende ein Beispiel wie die Einträge durchgeführt werden können, OHNE alle Listen zu verwenden:
(Nur relevanter Ausschnitt):
# Tachtler - active blacklists - .Include</etc/e2guardian/lists/blacklists/aggressive/domains> .Include</etc/e2guardian/lists/blacklists/dating/domains> .Include</etc/e2guardian/lists/blacklists/drugs/domains> .Include</etc/e2guardian/lists/blacklists/fortunetelling/domains> .Include</etc/e2guardian/lists/blacklists/gamble/domains> .Include</etc/e2guardian/lists/blacklists/porn/domains> .Include</etc/e2guardian/lists/blacklists/sex/education/domains> .Include</etc/e2guardian/lists/blacklists/sex/lingerie/domains> .Include</etc/e2guardian/lists/blacklists/spyware/domains> .Include</etc/e2guardian/lists/blacklists/tracker/domains> .Include</etc/e2guardian/lists/blacklists/weapons/domains>
Probleme nach dem einbinden der Blacklists
Evtl. kann es sein, dass auch ein Zugriff auf Google nicht mehr möglich ist. Die ist eine Resultat davon, dass es eine Blacklist gibt in der Suchmaschinen wie Google gelistet sind. Die Datei hat den Namen /etc/e2guardian/lists/blacklists/searchengines/domains
.
Das Auffinden von evtl. erwünschten, jedoch gesperrten Seiten kann mit folgendem Befehl durchgeführt werden:
# grep -r google.de /etc/e2guardian/lists/blacklists/* /etc/e2guardian/lists/blacklists/imagehosting/domains:images.google.de /etc/e2guardian/lists/blacklists/movies/domains:video.google.de /etc/e2guardian/lists/blacklists/news/domains:news.google.de /etc/e2guardian/lists/blacklists/porn/urls:google.de/notebook/public/05160677075035842971/BDRkwSgoQ2Iiezpwj /etc/e2guardian/lists/blacklists/porn/urls:google.de/notebook/public/09859990722265856606/BDSUCIwoQgKnn4Zwj /etc/e2guardian/lists/blacklists/porn/domains:videogoogle.de /etc/e2guardian/lists/blacklists/porn/domains.processed:videogoogle.de /etc/e2guardian/lists/blacklists/searchengines/domains:google.de /etc/e2guardian/lists/blacklists/shopping/urls:google.de/products /etc/e2guardian/lists/blacklists/shopping/urls:www.google.de/froogle /etc/e2guardian/lists/blacklists/tracker/domains:id.google.de /etc/e2guardian/lists/blacklists/tracker/domains.processed:id.google.de
Abhilfe schafft hier das einfache Auskommentieren der entsprechenden Einträge in den entsprechenden Dateien, hier z.B. /etc/e2guardian/lists/blacklists/searchengines/domains
, was wie folgt aussehen kann:
Vorher:
google.de
Nachher:
# google.de
Automatisches Update der Blacklists
Nachfolgendes Skript kann im Verzeichnis
/etc/cron.daily
hinterlegt werden und holt einmal pro Tag dann die aktuellen blacklist ab und bindet diese automatisch ein:
#!/bin/bash ############################################################################## # Script-Name : update_shallalist.sh # # Description : Download and Update shallalist.tar.gz from download site at # # http://www.shallalist.de/Downloads/shallalist.tar.gz # # # # # # Last update : 07.07.2015 # # Version : 1.00 # ############################################################################## ############################################################################## # H I S T O R Y # ############################################################################## # Version : x.xx # # Description : <Description> # # -------------------------------------------------------------------------- # # Version : x.xx # # Description : <Description> # # -------------------------------------------------------------------------- # ############################################################################## # Source function library. . /etc/init.d/functions # Variable declarations. ############################################################################## # >>> Please edit following lines for personal command and/or repositorys. ! # ############################################################################## # CUSTOM - Script-Name. SCRIPT_NAME='update_shallalist.sh' # CUSTOM - Command-Line. WGET_CMDOPTS='-nH ' # CUSTOM - PATH/FILE variables. SOURCE_URL="http://www.shallalist.de/Downloads" SOURCE_FILE="shallalist.tar.gz" TARGET_PATH="/etc/e2guardian/lists/blacklists" # CUSTOM - Binary. BINARY_NAME="e2guardian" # CUSTOM - Mail-Recipient. MAIL_RECIPIENT='root@tachtler.net' # CUSTOM - Status-Mail [Y|N]. MAIL_STATUS='N' ############################################################################## # >>> Normaly there is no need to change anything below this comment line. ! # ############################################################################## # Variables. WGET_COMMAND=`command -v wget` TOUCH_COMMAND=`command -v touch` RM_COMMAND=`command -v rm` MV_COMMAND=`command -v mv` CAT_COMMAND=`command -v cat` DATE_COMMAND=`command -v date` MKDIR_COMMAND=`command -v mkdir` PROG_SENDMAIL=`command -v sendmail` TAR_COMMAND=`command -v tar` CHOWN_COMMAND=`command -v chown` CHMOD_COMMAND=`command -v chmod` SYSTEMCTL_COMMAND=`command -v systemctl` FILE_LOCK='/tmp/'$SCRIPT_NAME'.lock' FILE_LOG='/var/log/'$SCRIPT_NAME'.log' FILE_LAST_LOG='/tmp/'$SCRIPT_NAME'.log' FILE_MAIL='/tmp/'$SCRIPT_NAME'.mail' VAR_HOSTNAME=`uname -n` VAR_SENDER='root@'$VAR_HOSTNAME VAR_EMAILDATE=`$DATE_COMMAND '+%a, %d %b %Y %H:%M:%S (%Z)'` # Functions. function log() { echo $1 echo `$DATE_COMMAND '+%Y/%m/%d %H:%M:%S'` " INFO:" $1 >>${FILE_LAST_LOG} } function retval() { if [ "$?" != "0" ]; then case "$?" in 1) log "ERROR: Generic error code." ;; 2) log "ERROR: Parse error---for instance, when parsing command-line options, the .wgetrc or .netrc..." ;; 3) log "ERROR: File I/O error." ;; 4) log "ERROR: Network failure." ;; 5) log "ERROR: SSL verification failure." ;; 6) log "ERROR: Username/password authentication failure." ;; 7) log "ERROR: Protocol errors." ;; 8) log "ERROR: Server issued an error response." ;; *) log "ERROR: Unknown error $?" ;; esac fi } function movelog() { $CAT_COMMAND $FILE_LAST_LOG >> $FILE_LOG $RM_COMMAND -f $FILE_LAST_LOG $RM_COMMAND -f $FILE_LOCK } function sendmail() { case "$1" in 'STATUS') MAIL_SUBJECT='Status execution '$SCRIPT_NAME' script.' ;; *) MAIL_SUBJECT='ERROR while execution '$SCRIPT_NAME' script !!!' ;; esac $CAT_COMMAND <<MAIL >$FILE_MAIL Subject: $MAIL_SUBJECT Date: $VAR_EMAILDATE From: $VAR_SENDER To: $MAIL_RECIPIENT MAIL $CAT_COMMAND $FILE_LAST_LOG >> $FILE_MAIL $PROG_SENDMAIL -f $VAR_SENDER -t $MAIL_RECIPIENT < $FILE_MAIL $RM_COMMAND -f $FILE_MAIL } # Main. log "" log "+-----------------------------------------------------------------+" log "| Start update blacklist from official server: www.shallalist.de. |" log "+-----------------------------------------------------------------+" log "" log "Run script with following parameter:" log "" log "SCRIPT_NAME...: $SCRIPT_NAME" log "" log "SOURCE_URL....: $SOURCE_URL" log "SOURCE_FILE...: $SOURCE_FILE" log "TARGET_PATH...: $TARGET_PATH" log "" log "BINARY_NAME...: $BINARY_NAME" log "" log "MAIL_RECIPIENT: $MAIL_RECIPIENT" log "MAIL_STATUS...: $MAIL_STATUS" log "" # Check if command (file) NOT exist OR IS empty. if [ ! -s "$WGET_COMMAND" ]; then log "Check if command '$WGET_COMMAND' was found.....................[FAILED]" sendmail ERROR movelog exit 10 else log "Check if command '$WGET_COMMAND' was found.....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$TOUCH_COMMAND" ]; then log "Check if command '$TOUCH_COMMAND' was found....................[FAILED]" sendmail ERROR movelog exit 11 else log "Check if command '$TOUCH_COMMAND' was found....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$RM_COMMAND" ]; then log "Check if command '$RM_COMMAND' was found.......................[FAILED]" sendmail ERROR movelog exit 12 else log "Check if command '$RM_COMMAND' was found.......................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$MV_COMMAND" ]; then log "Check if command '$MV_COMMAND' was found.......................[FAILED]" sendmail ERROR movelog exit 13 else log "Check if command '$MV_COMMAND' was found.......................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$CAT_COMMAND" ]; then log "Check if command '$CAT_COMMAND' was found......................[FAILED]" sendmail ERROR movelog exit 14 else log "Check if command '$CAT_COMMAND' was found......................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$DATE_COMMAND" ]; then log "Check if command '$DATE_COMMAND' was found.....................[FAILED]" sendmail ERROR movelog exit 15 else log "Check if command '$DATE_COMMAND' was found.....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$MKDIR_COMMAND" ]; then log "Check if command '$MKDIR_COMMAND' was found....................[FAILED]" sendmail ERROR movelog exit 16 else log "Check if command '$MKDIR_COMMAND' was found....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$PROG_SENDMAIL" ]; then log "Check if command '$PROG_SENDMAIL' was found................[FAILED]" sendmail ERROR movelog exit 17 else log "Check if command '$PROG_SENDMAIL' was found................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$TAR_COMMAND" ]; then log "Check if command '$TAR_COMMAND' was found......................[FAILED]" sendmail ERROR movelog exit 18 else log "Check if command '$TAR_COMMAND' was found......................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$CHOWN_COMMAND" ]; then log "Check if command '$CHOWN_COMMAND' was found....................[FAILED]" sendmail ERROR movelog exit 19 else log "Check if command '$CHOWN_COMMAND' was found....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$CHMOD_COMMAND" ]; then log "Check if command '$CHMOD_COMMAND' was found....................[FAILED]" sendmail ERROR movelog exit 20 else log "Check if command '$CHMOD_COMMAND' was found....................[ OK ]" fi # Check if command (file) NOT exist OR IS empty. if [ ! -s "$SYSTEMCTL_COMMAND" ]; then log "Check if command '$SYSTEMCTL_COMMAND' was found................[FAILED]" sendmail ERROR movelog exit 21 else log "Check if command '$SYSTEMCTL_COMMAND' was found................[ OK ]" fi # Check if LOCK file NOT exist. if [ ! -e "$FILE_LOCK" ]; then log "Check if script is NOT already runnig .....................[ OK ]" $TOUCH_COMMAND $FILE_LOCK else log "Check if script is NOT already runnig .....................[FAILED]" log "" log "ERROR: The script was already running, or LOCK file already exists!" log "" sendmail ERROR movelog exit 30 fi # Start download. log "" log "+-----------------------------------------------------------------+" log "| Run download from $SCRIPT_NAME ........................ |" log "+-----------------------------------------------------------------+" log "" log "$WGET_COMMAND $WGET_CMDOPTS $SOURCE_URL/$SOURCE_FILE" $WGET_COMMAND $WGET_CMDOPTS --append-output=$FILE_LAST_LOG --directory-prefix=/tmp $SOURCE_URL/$SOURCE_FILE if [ "$?" != 0 ]; then retval $? log "" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 50 else log "" log "+-----------------------------------------------------------------+" log "| End download from $SCRIPT_NAME ........................ |" log "+-----------------------------------------------------------------+" log "" fi # Unpack downloaded blacklist to log "+-----------------------------------------------------------------+" log "| Unpack downloaded tar.gz to target directory................... |" log "+-----------------------------------------------------------------+" log "" log "SOURCE_FILE...: $SOURCE_FILE" log "" $MKDIR_COMMAND -p /tmp/blacklists if [ "$?" != 0 ]; then retval $? log "Make temp. directory '/tmp/blacklists' [FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 60 else log "Make temp. directory '/tmp/blacklists' [ OK ]" log "" fi $TAR_COMMAND xzvf /tmp/$SOURCE_FILE -C /tmp/blacklists --strip-components=1 if [ "$?" != 0 ]; then retval $? log "Unpack of '$SOURCE_FILE' .............................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 61 else log "" log "Unpack of '$SOURCE_FILE' .............................[ OK ]" fi $CHOWN_COMMAND -R root.root /tmp/blacklists if [ "$?" != 0 ]; then retval $? log "Owner set '/tmp/blacklists' ...............................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 62 else log "" log "Owner set '/tmp/blacklists' ...............................[ OK ]" fi $CHMOD_COMMAND -R 755 /tmp/blacklists if [ "$?" != 0 ]; then retval $? log "Permission set '/tmp/blacklists' ..........................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 63 else log "Permission set '/tmp/blacklists' ..........................[ OK ]" fi $SYSTEMCTL_COMMAND stop $BINARY_NAME if [ "$?" != 0 ]; then retval $? log "Stop of '$BINARY_NAME' ......................................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 70 else log "" log "Stop of '$BINARY_NAME' ......................................[ OK ]" fi $RM_COMMAND -rf $TARGET_PATH/* if [ "$?" != 0 ]; then retval $? log "Delete of '$TARGET_PATH/*' ............[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 71 else log "" log "Delete of '$TARGET_PATH/*' ............[ OK ]" fi $MV_COMMAND /tmp/blacklists/* $TARGET_PATH/ if [ "$?" != 0 ]; then retval $? log "Move '/tmp/blacklists' '$TARGET_PATH/' [FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 72 else log "Move '/tmp/blacklists' '$TARGET_PATH/' [ OK ]" fi $SYSTEMCTL_COMMAND start $BINARY_NAME if [ "$?" != 0 ]; then retval $? log "Start of '$BINARY_NAME' .....................................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 73 else log "" log "Start of '$BINARY_NAME' .....................................[ OK ]" fi $RM_COMMAND /tmp/$SOURCE_FILE* if [ "$?" != 0 ]; then retval $? log "Delete of '$SOURCE_FILE' .............................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 80 else log "" log "Delete of '$SOURCE_FILE' .............................[ OK ]" fi $RM_COMMAND -rf /tmp/blacklists if [ "$?" != 0 ]; then retval $? log "Delete of '/tmp/blacklists' ...............................[FAILED]" $RM_COMMAND -f $FILE_LOCK sendmail ERROR movelog exit 81 else log "Delete of '/tmp/blacklists' ...............................[ OK ]" fi # Finish download. log "" log "+-----------------------------------------------------------------+" log "| Finish......................................................... |" log "+-----------------------------------------------------------------+" log "" # Status e-mail. if [ $MAIL_STATUS = 'Y' ]; then sendmail STATUS fi # Move temporary log to permanent log movelog exit 0
Das oben gezeigte Skript führt nachfolgende Aktionen aus:
- Herunterladen der
shallalist.tar.gz
-Datei mit dem Befehlwget
- Entpacken der heruntergeladenen
shallalist.tar.gz
in das Verzeichnis/tmp/blacklist
- Setzen der richtigen Besitzrechte
- Setzen der richtigen Dateirechte
- Stoppen von E2guardian
- Löschen der alten blacklist unter
/etc/e2guardian/lists/blacklists/*
- Verschieben der neuen blacklist von
/tmp/blacklists/*
nach/etc/e2guardian/lists/blacklists/*
- Starten von E2guardian
- Löschen des Verzeichnisses
/tmp/blacklists
- Löschen der heruntergeladenen
shallalist.tar.gz
-Datei - Benachrichtigung im Skript-Fehlerfall via e-Mail
- Benachrichtigung via e-Mail über eine erfolgreiche Ausführung, auf Wunsch ein-/ausschaltbar
- Erstellen einer LOG-Datei über die Skript-Ausführung in
/var/log/<SKRIPT-NAME>
Optimierung-Konfiguration
Folgende Standard-Einstellungen in der Konfigurationsdatei /etc/e2guardian/e2guardian.conf
führen zu einem durchaus ordentlichen RAM-Speicherverbrauch (nur relevanter Ausschnitt):
(Nur relevanter Ausschnitt)
... # Fork pool options # If on, this causes DG to write to the log file whenever child processes are # created or destroyed (other than by crashes). This information can help in # understanding and tuning the following parameters, but is not generally # useful in production. logchildprocesshandling = off # sets the maximum number of processes to spawn to handle the incoming # connections. Max value usually 250 depending on OS. # On large sites you might want to try 380. # Tachtler # default: maxchildren = 180 maxchildren = 80 # sets the minimum number of processes to spawn to handle the incoming connections. # On large sites you might want to try 64. # Tachtler # default: minchildren = 20 minchildren = 4 # sets the minimum number of processes to be kept ready to handle connections. # On large sites you might want to try 16. # Tachtler # default: minsparechildren = 16 minsparechildren = 2 # sets the minimum number of processes to spawn when it runs out # On large sites you might want to try 20. # Tachtler # default: preforkchildren = 10 preforkchildren = 4 # sets the maximum number of processes to have doing nothing. # When this many are spare it will cull some of them. # On large sites you might want to try 64. # Tachtler # default: maxsparechildren = 32 maxsparechildren = 8 ...
Dies führte bei meinem System nach ein paar Tagen Laufzeit bis zu einer Belegung von
- 25 E2guardian-Prozessen á 4 MB = 100MB
mit Leerlaufprozessen!
Mit den durch # Tachtler
gekennzeichneten Einstellungen, kann bei home
-Systemen, wie ich eines betreibe, der Speicherverbrauch auf
- 6-8 E2guardian-Prozessen á 4 MB = max. 32MB
mit Leerlaufprozessen gesenkt werden!
HTTPS - SSL MITM-Konfiguration
Der Einsatz eines E2guardian Content-Filter-Servers als „man-in-the-middle“ Entschlüsselungs- und Verschlüsselungs-Content-filter einer direkten oder transparent umgeleiteten HTTPS-Verbindung, kann durch den Einsatz einer eigenen CA umgesetzt werden.
Durch den Einsatz des E2guardian Content-Filter-Servers im Modus „man-in-the-middle“ als Entschlüsselungs- und Verschlüsselungs-Content-Filter, kann der Datenverkehr analysiert nach Viren und Schadsoftware untersucht und geblockt werden.
WICHTIG - Das HTTPS Protokoll wurde dafür implementiert, dem Endbenutzer die Möglichkeit zu geben, sicher und unter der Wahrung seiner Privatsphäre Datenaustausch zu betreiben. Das aufbrechen eines HTTPS gesicherten Datenstroms (Tunnels) OHNE DIE ZUSTIMMUNG DES JEWEILIGEN ENDBENUTZERS, stellt eine ethische Verletzung der Persönlichkeitsrechte dar und ist auch in den meisten Ländern illegal und hat juristische Konsequenzen zur Folge !!!
HINWEIS - Standardmäßig warnen viele Browser den Endbenutzer, über eine mögliche „man-in-the-middle“ Attacke!
Beschreibung | Externer Link |
---|---|
Homepage | http://e2guardian.org |
Nachfolgende Skizze beschreibt vereinfacht die Funktionsweise des E2guardian Content-Filter-Servers mit SSL MITM-Konfiguration:
+--------------------------+ +--------------------------------------------------+ +---------+ | | | e2guardian | | Browser | | | | | | | | | | 1. e2guardian bekommt Anfrage vom Browser | <-1-- | Anfrage | | https://www.tachtler.net | <-2-- | 2. e2guardian holt Zertifikat vom Ziel-Server | | | | https://www.tachtler.net | --3-> | 3. e2guardian bekommt das Ziel-Server Zertifikat | | | | | | | | | | | | !. e2guardian erstellt ein EIGENES ZERTIFIKAT | | | | | | mit den Daten aus dem geholten Zertifikat vom | | | | | | Ziel-Server unter Zuhilfenahme seiner eigenen | | | | | | Root-CA | | | | | | | | | | | | 4. e2guardian gibt Anfrage an den Browser zurück | --4-> | Antwort | | | | | | | +--------------------------+ +--------------------------------------------------+ +---------+
Root-CA erstellen
Damit der E2guardian Content-Filter-Server als „man-in-the-middle“ Entschlüsselungs- und Verschlüsselungs-Content-Filter einer direkten oder transparent umgeleiteten HTTPS-Verbindung agieren kann, muss eine eigenen CA erstellt werden, falls nicht schon eine eigene CA vorhanden ist.
Nachfolgende Befehle erstellen eine eigene CA zur Verwendung mit dem E2guardian Content-Filter-Server.
Nachfolgender Befehl erstellt zuerst zwei neue Verzeichnisse unterhalb des Verzeichnisses
/etc/pki
mit den Namen
/etc/pki/e2guardian/certs
/etc/pki/e2guardian/private
# mkdir -p /etc/pki/e2guardian/{certs,private}
Anschließend werden mit nachfolgenden Befehlen die Besitzrechte
# chown -R e2guardian:e2guardian /etc/pki/e2guardian/{certs,private}
und die Dateirechte
# chmod -R 700 /etc/pki/e2guardian/{certs,private}
entsprechend gesetzt.
Anschließend kann nun mit nachfolgendem Befehl
- ein Schlüssel (Key)
- ein Root-Zertifikat (Root-CA)
in den entsprechenden Verzeichnissen, mit bestimmten Ausprägungen erstellt werden:
# openssl req -new -newkey rsa:2048 -sha256 -days 3652 -nodes -x509 -keyout /etc/pki/e2guardian/private/e2guardianCA.key -out /etc/pki/e2guardian/certs/e2guardianCA.crt Generating a 2048 bit RSA private key ..................+++ .................+++ writing new private key to '/etc/pki/e2guardian/private/e2guardianCA.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:DE State or Province Name (full name) []:Bavaria (Bayern) Locality Name (eg, city) [Default City]:Munich (Muenchen) Organization Name (eg, company) [Default Company Ltd]:Klaus Tachtler Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server's hostname) []:www.tachtler.net Email Address []:hostmaster@tachtler.net
Erklärungen:
Es wird eine Schlüssel vom Typ rsa
in der Länge von 2048
Byte verwendet, was aktuell den meisten Zertifikaten entspricht:
rsa:2048
Es kommt der Verschlüsselungsalgorithmus sha256
zum Einsatz, was ebenfalls aktuell den meisten Zertifikaten entspricht:
-sha256
Es wurde eine Laufzeit von ca. 10 Jahren gewählt, meist die Unterstützung für Betriebssysteme im „Long term support“ im „Enterprise“ Segment, wie z.B. bei CentOS.
-days 3652
Nachfolgend sind die Zertifikatsinformationen, wie
- Land:
DE
- Bundesland:
Bavaria (Bayern)
- Name der Organisation:
Klaus Tachtler
- Weitere Organisationsbezeichnung (Abteilung usw.):
.
- (Punkt bedeutet keine Angabe!) - Name des Zertifikats, Hostname:
www.tachtler.net
- E-Mail-Adresse des Ansprachpartners:
hostmaster@tachtler.net
genannt:
Country Name (2 letter code) [XX]:DE State or Province Name (full name) []:Bavaria (Bayern) Locality Name (eg, city) [Default City]:Munich (Muenchen) Organization Name (eg, company) [Default Company Ltd]:Klaus Tachtler Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server's hostname) []:www.tachtler.net Email Address []:hostmaster@tachtler.net
Anschließend werden mit nachfolgenden Befehlen die Besitzrechte
# chown -R e2guardian:e2guardian /etc/pki/e2guardian/{certs,private}/e2guardianCA.*
und die Dateirechte
# chmod -R 400 /etc/pki/e2guardian/{certs,private}/e2guardianCA.*
für die Dateien entsprechend gesetzt.
Abschließend kann mit nachfolgendem Befehl überprüft werden, ob die Dateien richtig erstellt wurden, was eine Ausgabe, wie die nachfolgend gezeigte, zum Vorschein bringen sollte:
# ls -l /etc/pki/e2guardian/* /etc/pki/e2guardian/certs: total 4 -r-------- 1 e2guardian e2guardian 1476 Mar 5 09:30 e2guardianCA.crt /etc/pki/squid/private: total 4 -r-------- 1 e2guardian e2guardian 1704 Mar 5 09:30 e2guardianCA.key
Eine Überprüfung, ob das Zertifikat korrekt erstellt wurde, kann mit nachfolgendem Befehl durchgeführt werden:
# openssl x509 -noout -text -in /etc/pki/e2guardian/certs/e2guardianCA.crt Certificate: Data: Version: 3 (0x2) Serial Number: 18351035949067543440 (0xfeabf9f7bc982390) Signature Algorithm: sha256WithRSAEncryption Issuer: C=DE, ST=Bavaria (Bayern), L=Munich (Muenchen), O=Klaus Tachtler, CN=www.tachtler.net/emailAddress=hostmaster@tachtler.net Validity Not Before: Mar 5 08:30:27 2015 GMT Not After : Mar 4 08:30:27 2025 GMT Subject: C=DE, ST=Bavaria (Bayern), L=Munich (Muenchen), O=Klaus Tachtler, CN=www.tachtler.net/emailAddress=hostmaster@tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:d2:73:76:c0:a6:c1:3a:d0:e6:9e:9a:62:6d:56: a6:b0:99:22:dd:30:47:c6:dc:e7:2d:d6:8e:e2:15: a6:09:10:35:73:97:88:29:e6:95:03:2a:8c:78:48: 22:4b:fc:ac:c6:8f:2c:20:cc:06:0b:f8:72:9d:e2: b5:ff:37:52:27:63:f1:7f:04:c2:22:74:1f:16:fc: f9:6d:95:67:cd:7b:c3:4e:5f:25:d4:6f:3c:d9:3e: 11:9a:c6:15:96:ed:7d:3c:76:aa:2f:93:f6:bc:fa: 4c:74:5d:25:98:99:61:ad:2a:8b:bd:b3:92:97:68: eb:fa:e4:58:e9:33:36:93:3c:ed:ad:28:24:55:26: 68:b8:6c:e8:b8:c6:63:57:af:9a:c9:1c:96:99:7f: 2f:ec:ed:b3:e3:8a:01:5a:d5:b4:48:36:ec:55:12: 79:97:d5:93:28:df:3b:86:a1:0f:16:0d:c9:d0:4d: 58:8a:ea:a9:15:76:20:49:5a:07:41:01:4b:cb:0e: a0:74:01:68:38:e5:07:a9:9e:a7:fe:ae:de:01:35: 36:43:2d:6d:4b:56:d4:be:4e:47:3e:a6:13:c7:f3: f1:77:0b:37:1a:78:32:63:b9:14:b9:2a:69:80:ad: 59:28:ad:56:2c:4f:1d:5a:7c:fa:af:b0:dc:a1:25: 8b:5a Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 14:08:11:A4:ED:02:27:70:64:0C:18:4D:20:BE:04:DC:D7:A3:8E:58 X509v3 Authority Key Identifier: keyid:14:08:11:A4:ED:02:27:70:64:0C:18:4D:20:BE:04:DC:D7:A3:8E:58 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha256WithRSAEncryption 4a:9b:21:79:97:74:7a:e2:a0:84:32:af:aa:6d:c8:eb:81:7d: ea:1d:94:c8:c8:39:f3:3e:13:aa:f6:a3:05:9e:17:10:85:24: f8:cd:e7:3f:d3:bb:e2:51:b7:ad:21:75:50:48:fb:ca:8b:da: a0:78:59:df:57:82:86:54:ba:d2:ba:f1:b4:ab:ce:75:db:62: 21:25:fb:74:74:cd:ae:50:ec:27:f6:5f:b6:65:9a:ce:ed:cc: ee:da:ca:0b:02:a1:bc:49:e9:96:68:37:6a:8e:6b:c9:b5:ec: a9:99:1e:bc:99:65:c4:c5:95:78:a6:54:bf:88:d1:f4:65:9e: 02:c0:54:50:50:77:d5:3d:f0:6b:87:e1:de:68:37:fa:bb:46: fa:f2:a3:e4:23:d7:5b:f3:26:20:9e:2b:d1:a1:7f:38:05:e3: 05:66:ed:3a:21:60:e0:8d:5b:ca:4d:f1:3e:61:dd:96:c4:dd: c4:8e:71:c8:58:cd:f7:d1:4c:71:20:78:8d:06:83:c7:4a:ff: 24:4c:22:b4:0a:aa:3b:32:a3:6f:bb:8e:15:8b:56:10:70:04: 1d:cf:b5:01:b2:94:d4:76:c8:ca:05:18:10:72:a3:5b:4c:84: be:b9:c6:e0:4b:e1:8a:83:ca:1d:8c:16:a7:94:34:4d:95:be: 45:e2:59:7b
/etc/e2guardian/e2guardian.conf
Nachfolgende Ergänzungen sind in der Konfigurationsdatei
/etc/e2guardian/e2guardian.conf
notwendig, um die SSL MITM-Konifgurations Definitionen im E2guardian Content-Filter-Server einsetzen zu können:
(Nur relevanter Ausschnitt)
... #SSL certificate checking path #Path to CA certificates used to validate the certificates of https sites. # if left blank openssl default ca certificate bundle will be used #Leave as default unless you want to load non-default cert bundle #sslcertificatepath = '' #SSL man in the middle #CA certificate path #Path to the CA certificate to use as a signing certificate for #generated certificates. # default is blank - required if ssl_mitm is enabled. # Tachtler # default: #cacertificatepath = '/home/stephen/dginstall/ca.pem' cacertificatepath = '/etc/pki/e2guardian/certs/e2guardianCA.crt' #CA private key path #path to the private key that matches the public key in the CA certificate. # default is blank - required if ssl_mitm is enabled. # Tachtler # default: #caprivatekeypath = '/home/stephen/dginstall/ca.key' caprivatekeypath = '/etc/pki/e2guardian/private/e2guardianCA.key' #Cert private key path #The public / private key pair used by all generated certificates # default is blank - required if ssl_mitm is enabled. # Tachtler # default: #certprivatekeypath = '/home/stephen/dginstall/cert.key' certprivatekeypath = '/etc/pki/e2guardian/private/e2guardianCA.key' #Generated cert path #The location where generated certificates will be saved for future use. #(must be writable by the dg user) # default is blank - required if ssl_mitm is enabled. # default: #generatedcertpath = '/home/stephen/dginstall/generatedcerts/' generatedcertpath = '/var/lib/ssl_e2guardian' #Warning: if you change the cert start/end time from default on a running # system you will need to clear the generated certificate # store and also may get problems on running client browsers #Generated cert start time (in unix time) - optional # defaults to 1417872951 = 6th Dec 2014 # generatedcertstart = 1417872951 #Generated cert end time (in unix time) - optional # defaults to generatedcertstart + 10 years #genratedcertend = # generatedcertstart =
Erklärungen:
Nachfolgende Erklärungen beschreiben die einzelnen Konfigurationsdirektiven zur SSL MITM-Konfiguration.
cacertificatepath = '/etc/pki/e2guardian/certs/e2guardianCA.crt'
Pfad zum ROOT-Zertifikat der eigenen CA
caprivatekeypath = '/etc/pki/e2guardian/private/e2guardianCA.key'
Pfad zum ROOT-Zertifikat-Schlüssel der eigenen CA
certprivatekeypath = '/etc/pki/e2guardian/private/e2guardianCA.key'
Pfad zum ROOT-Zertifikat-Schlüssel der eigenen CA. Hier könnte auch ein zusätzlicher eigener Schlüssel zur Erstellung der „on-the-fly“-Zertifikate verwendet werden.
generatedcertpath = '/var/lib/ssl_e2guardian'
Pfad zum Verzeichnis in dem zukünftig die „on-the-fly“-Generierten Zertifikate abgelegt werden.
/etc/e2guardian/e2guardianfX.conf
Nachfolgende Ergänzungen sind in der Konfigurationsdatei
/etc/e2guardian/e2guardianfX.conf
- hier z.B./etc/e2guardian/e2guardianf2.conf
notwendig, um die SSL MITM-Konifgurations Definitionen im E2guardian Content-Filter-Server einsetzen zu können:
(Nur relevanter Ausschnitt)
... #SSL man in the middle # Forge ssl certificates for all non-exception sites, decrypt the data then re encrypt it # using a different private key. Used to filter ssl sites # Tachtler # default: sslmitm = off sslmitm = on #Limit SSL MITM to sites in greysslsitelist(s) # ignored if sslmitm is off # SSL sites not matching greysslsitelist will be treat as if sslmitm is off. onlymitmsslgrey = off # Enable MITM site certificate checking # ignored if sslmitm is off # default (recommended) is 'on' # Tachtler # default: mitmcheckcert = on mitmcheckcert = off ...
Erklärungen:
Nachfolgende Erklärungen beschreiben die einzelnen Konfigurationsdirektiven zur SSL MITM-Konfiguration.
sslmitm = on
Aktivieren der SSL MITM-Konfiguration für diese Benutzergruppe
mitmcheckcert = off
Deaktivierung der Überprüfung von Zertifikaten, da sonst ggf. Probleme beim Aufruf von HTTPS-Seiten auftreten können.
Verzeichnis /var/lib/ssl_e2guardian einrichten
Nachdem die Konfiguration des E2guardian Content-Filter-Servers zur Nutzung mit SSL MITM erfolgreich abgeschlossen ist, ist es noch erforderlich nachfolgendes Verzeichnis, welche die „on-the-fly“ unter Zuhilfenahme der eigenen CA erstellten Zertifikate, aufnehmen soll einzurichten.
/var/lib/ssl_e2guardian
Nachfolgender Befehl erstellt das Verzeichnis
/var/lib/ssl_e2guardian
# mkdir /var/lib/ssl_e2guardian
Anschließend werden mit nachfolgendem Befehl die Besitzrechte
# chown -R e2guardian:e2guardian /var/lib/ssl_e2guardian
für das Verzeichnis und das darin enthaltene Unterverzeichnis und die Dateien entsprechend gesetzt.
Abschließend kann mit nachfolgendem Befehl überprüft werden, ob das Verzeichnis richtig erstellt wurden, was eine Ausgabe, wie die nachfolgend gezeigte, zum Vorschein bringen sollte:
# ls -l /var/lib/ssl_e2guardian total 0
Neustart/Start e2guardian
Um den E2guardian neu zu starten oder kann nachfolgender Befehl angewandt werden:
# systemctl restart e2guardian.service
Eine Überprüfung ob der Start des E2guardian erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
# systemctl status e2guardian.service e2guardian.service - E2guardian Web filtering Loaded: loaded (/usr/lib/systemd/system/e2guardian.service; enabled) Active: active (running) since Wed 2015-06-10 16:00:53 CEST; 8s ago Process: 3815 ExecStart=/usr/sbin/e2guardian (code=exited, status=0/SUCCESS) Main PID: 3817 (e2guardian) CGroup: /system.slice/e2guardian.service ├─3817 /usr/sbin/e2guardian ├─3818 /usr/sbin/e2guardian ├─3819 /usr/sbin/e2guardian ├─3820 /usr/sbin/e2guardian ├─3821 /usr/sbin/e2guardian ├─3822 /usr/sbin/e2guardian └─3823 /usr/sbin/e2guardian Jun 30 10:03:15 server50.tachtler.net systemd[1]: Started E2guardian Web filtering. Jun 30 10:03:17 server50.tachtler.net e2guardian[2030]: Started sucessfully.
bzw. mit nachfolgendem Befehl, ob auf den entsprechende Netzwerkinterface gelauscht wird:
# netstat -tulpen | grep e2guardian tcp 0 0 192.168.0.50:8080 0.0.0.0:* LISTEN 399 53084 3817/e2guardian
Browser-Konfiguration
Nachfolgend soll die Konfiguration eines Browsers, in diesem Fall der Browser Mozilla Firefox Desktop Variante, durchgeführt werden.
Proxy-Konfiguration
Nachdem nachfolgende Konfiguration im Browser, hier am Beispiel eines Mozilla Firefox-Browsers, wie in nachfolgender Bildschirmkopie dargestellt, durchgeführt wurde, sollte mit dem Surfen, auch auf HTTPS gesicherte Seiten, über den E2guardian Content-Filter-Server nichts mehr im Wege stehen:
Nachfolgende Einstellungen sind im Mozilla Firefox-Browsers unter
- Open Menu (Menü) | Preferences (Einstellungen) | Advanced (Erweitert) | Network (Netzwerk) | Settings… (Einstellungen…) | Manual proxy configuration (Manuelle Proxy-Konfiguration)
durchzuführen:
Einstellungen | Standardwert | Wert |
---|---|---|
HTTP Proxy | [leer] | 192.168.0.50 (IP des E2guardian Content-Filter-Servers) |
Port | [leer] | 8080 |
SSL Proxy | [leer] | 192.168.0.50 (IP des E2guardian Content-Filter-Servers) |
Port | [leer] | 8080 |
Browser HTTPS Aufruf
Anschließend sollte nun beim Aufruf einer Website wie z.B. https://www.google.de nachfolgendes Browser-Dialog-Fenster erscheinen und zur Eingabe eines Benutzernamens eines Passwortes auffordern, wie auf nachfolgender Bildschirm dargestellt:
Anschließend sollte, korrekterweise nachfolgende Reaktion des Mozilla Firefox-Browsers auf die „man-in-the-moddle“ Attacke, durch den E2guardian Content-Filter-Server erfolgen, wie in nachfolgender Bildschirmkopie dargestellt:
HINWEIS - Diese Verhalten des Mozilla Firefox-Browsers auf die „man-in-the-moddle“ Attacke ist vollkommen korrekt !!!
Erklärung:
Was ist hier passiert? - Korrekterweise erkennt der Mozilla Firefox-Browsers, dass es sich hierbei um kein Zertifikat für https://www.google.de, welches von einer vertrauenswürdigen Root-CA ausgestellt wurde, handelt.
Nachfolgende Bildschirmkopien zeigen den Unterschied.
Als erstes kann im aktuellen Mozilla Firefox-Browser Fenster nun auf den Bereich
- I Understand the Risks (Ich kenne das Risiko)
mit der linken Maustaste geklickt werden, wonach nachfolgende Erweiterung der aktuell dargestellten Fehlerseite erscheinen sollte:
Anschließend kann nun mit der linken Maustaste auf die Schaltfläche [Add Exception…] ([Ausnahme hinzufügen…]) geklickt werden, woraufhin sich nachfolgendes zusätzliches Dialog-Fenster öffnet:
WICHTIG - Hier sollte zuerst der Haken bei
- Permanentliy store this exception (Diese Ausnahme dauerhaft speichern)
entfernt werden, um später keine verfälschten Ergebnisse zu erhalten!
Anschließend sollte mit der linken Maustaste auf die Schaltfläche [Get Certificate] ([Zertifikat herunterladen]) geklickt werden, um sich Details zum verwendeten Zertifikat anzeigen zu lassen, welches nachfolgendes weiteres Dialogfenster öffnen sollte:
Zertifikat aus „man-in-the-middle“ vom E2guardian Content-Filter-Server | Zertifikat von der Original Web-Seite |
---|---|
Der relevante Unterschied sind hier die Angaben bei: Issued by (Ausgestellt von)
Zertifikat aus „man-in-the-middle“ vom E2guardian Content-Filter-Server | Zertifikat von der Original Web-Seite | ||
---|---|---|---|
Common Name (CN) | www.tachtler.net | Common Name (CN) | Google Internet Authority G2 |
Organization (O) | Klaus Tachtler | Organization (O) | Google Inc |
Organizational Unit (OU) | <Not Part Of Certificate> | Organizational Unit (OU) | <Not Part Of Certificate> |
HINWEIS - Hier zeigt sich, dass das Zertifikat vom E2guardian Content-Filter-Server beim Web-Seiten Aufruf „on-the-fly“ erstellt wurde!
Browser Root-Zertifikat importieren
Um das, wie unter nachfolgendem internen Link beschrieben Verhalten zu verhindern,
ist es erforderlich das Root-Zertifikat aus der eigenen CA welche, wie unter nachfolgendem internen Link dargestellt
erstellt wurde, in den jeweiligen Browser des Endbenutzers zu importieren!
Ausgehend davon, das die Root-Zertifikat aus der eigenen CA bereits heruntergeladen wurden und hier als Beispiel im Verzeichnis - /tmp/e2guardianCA.crt
gespeichert wurden.
Nachfolgende Einstellungen sind im Mozilla Firefox-Browsers unter
- Open Menu (Menü) | Preferences (Einstellungen) | Advanced (Erweitert) | Certificates (Zertifikate)
durchzuführen:
Anschließend sollte dann auf die Schaltfläche [View Certificates] ([Zertifikate anzeigen]) geklickt werden, damit sich nachfolgender Dialog öffnet und der [Reiter: Authorities (Zertifizierungsstellen)] ausgewählt sein sollte:
Durch anklicken der Schaltfläche [Import…] ([Importieren…]), kann dann im sich öffnenden Dialog-Fenster eine Zertifikatsdatei, hier
/tmp/e2guardianCA.crt
ausgewählt werden:
Durch drücken der Schaltfläche [Open] ([Speichern]) wird dann nachfolgendes Dialog-Fenster angezeigt, in dem der Rahmen festgelegt werden kann, in welchem Umfang dem Zertifikat vertraut wird. Nachfolgend wurden alle Haken entsprechend wie nachfolgend beschrieben gesetzt:
Haken | Bezeichnung |
---|---|
✔ | Trust this CA to identify websites. |
✔ | Trust this CA to identify email users. |
✔ | Trust this CA to identify software developers. |
Zum Abschluss und zum tatsächlichen Import muss dann die Schaltfläche [OK] angeklickt werden.
Anschließend kann dann in der Liste der importierten Zertifikate überprüft werden ob der jeweilig Importvorgang erfolgreich war und es sollte eine Anzeige wie die nachfolgende zur Anzeige kommen:
Anschließend sollte nun beim Aufruf einer Website wie z.B. https://www.google.de nachfolgendes Browser-Dialog-Fenster erscheinen und zur Eingabe eines Benutzernamens eines Passwortes auffordern, wie auf nachfolgender Bildschirm dargestellt:
Anschließend sollte nun im Mozilla Firefox-Browsers auf die „man-in-the-middle“ Attacke, durch den E2guardian Content-Filter-Server kein Zertifikats-Hinweis mehr erfolgen!
Log Analyzer for e2Guardian/DansGuardian
Als zusätzliches Add-on zum E2guardian kann unter folgender Adresse der „Log Analyzer for e2Guardian/DansGuardian“ kostenlos heruntergeladen werden. Auf dieser Seite sind auch Bildschirmkopien zu finden.
Download "Log Analyzer for e2Guardian/DansGuardian„
Es handelt sich hier um ein Perl-Script welches wie ein CGI-Script durch einen Webserver wie z.B. Apache HTTP Webserver ausgeführt werden kann.
Zu beachten ist, das das Script in einem CGI-Verzeichnis oder einem Verzeichnis auf dem Apache HTTP Webserver zu erreichen sein muss. Evtl. kann auch ein eigener Virtueller Host im Apache HTTP Webserver dafür definiert werden.
Installation Log Analyzer for e2Guardian/DansGuardian
Zur Installation eines Download "Log Analyzer for e2Guardian/DansGuardian“ werden nachfolgende Pakete benötigt:
installiert werden.
Mit nachfolgendem Befehl, werden die Pakete perl-CGI
und perl-IO-Compress
installiert:
# yum install perl-CGI perl-IO-Compress Loaded plugins: changelog, priorities 132 packages excluded due to repository priority protections Package perl-IO-Compress-2.061-2.el7.noarch already installed and latest version Resolving Dependencies --> Running transaction check ---> Package perl-CGI.noarch 0:3.63-4.el7 will be installed --> Processing Dependency: perl(FCGI) >= 0.67 for package: perl-CGI-3.63-4.el7.noarch --> Running transaction check ---> Package perl-FCGI.x86_64 1:0.74-8.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: perl-CGI noarch 3.63-4.el7 base 250 k Installing for dependencies: perl-FCGI x86_64 1:0.74-8.el7 base 42 k Transaction Summary ================================================================================ Install 1 Package (+1 Dependent package) Total download size: 292 k Installed size: 783 k Is this ok [y/d/N]: y Downloading packages: (1/2): perl-CGI-3.63-4.el7.noarch.rpm | 250 kB 00:00 (2/2): perl-FCGI-0.74-8.el7.x86_64.rpm | 42 kB 00:00 -------------------------------------------------------------------------------- Total 790 kB/s | 292 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:perl-FCGI-0.74-8.el7.x86_64 1/2 Installing : perl-CGI-3.63-4.el7.noarch 2/2 Verifying : perl-CGI-3.63-4.el7.noarch 1/2 Verifying : 1:perl-FCGI-0.74-8.el7.x86_64 2/2 Installed: perl-CGI.noarch 0:3.63-4.el7 Dependency Installed: perl-FCGI.x86_64 1:0.74-8.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket perl-CGI
installiert wurden.
# rpm -qil perl-CGI Name : perl-CGI Version : 3.63 Release : 4.el7 Architecture: noarch Install Date: Thu 02 Jul 2015 10:19:15 AM CEST Group : Development/Libraries Size : 716590 License : (GPL+ or Artistic) and Artistic 2.0 Signature : RSA/SHA256, Fri 04 Jul 2014 06:15:15 AM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : perl-CGI-3.63-4.el7.src.rpm Build Date : Mon 09 Jun 2014 09:31:20 PM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://search.cpan.org/dist/CGI Summary : Handle Common Gateway Interface requests and responses Description : CGI.pm is a stable, complete and mature solution for processing and preparing HTTP requests and responses. Major features including processing form submissions, file uploads, reading and writing cookies, query string generation and manipulation, and processing and preparing HTTP headers. Some HTML generation utilities are included as well. CGI.pm performs very well in in a vanilla CGI.pm environment and also comes with built-in support for mod_perl and mod_perl2 as well as FastCGI. /usr/share/doc/perl-CGI-3.63 /usr/share/doc/perl-CGI-3.63/Changes /usr/share/doc/perl-CGI-3.63/README /usr/share/doc/perl-CGI-3.63/cgi_docs.html /usr/share/man/man3/CGI.3pm.gz /usr/share/man/man3/CGI::Apache.3pm.gz /usr/share/man/man3/CGI::Carp.3pm.gz /usr/share/man/man3/CGI::Cookie.3pm.gz /usr/share/man/man3/CGI::Fast.3pm.gz /usr/share/man/man3/CGI::Pretty.3pm.gz /usr/share/man/man3/CGI::Push.3pm.gz /usr/share/man/man3/CGI::Switch.3pm.gz /usr/share/man/man3/CGI::Util.3pm.gz /usr/share/perl5/vendor_perl/CGI /usr/share/perl5/vendor_perl/CGI.pm /usr/share/perl5/vendor_perl/CGI/Apache.pm /usr/share/perl5/vendor_perl/CGI/Carp.pm /usr/share/perl5/vendor_perl/CGI/Cookie.pm /usr/share/perl5/vendor_perl/CGI/Fast.pm /usr/share/perl5/vendor_perl/CGI/Pretty.pm /usr/share/perl5/vendor_perl/CGI/Push.pm /usr/share/perl5/vendor_perl/CGI/Switch.pm /usr/share/perl5/vendor_perl/CGI/Util.pm
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket perl-IO-Compress
installiert wurden.
# rpm -qil perl-IO-Compress Name : perl-IO-Compress Version : 2.061 Release : 2.el7 Architecture: noarch Install Date: Wed 04 Feb 2015 03:32:08 PM CET Group : Development/Libraries Size : 814173 License : GPL+ or Artistic Signature : RSA/SHA256, Fri 04 Jul 2014 06:19:23 AM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : perl-IO-Compress-2.061-2.el7.src.rpm Build Date : Tue 10 Jun 2014 03:54:10 AM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://search.cpan.org/dist/IO-Compress/ Summary : Read and write compressed data Description : This distribution provides a Perl interface to allow reading and writing of compressed data created with the zlib and bzip2 libraries. IO-Compress supports reading and writing of bzip2, RFC 1950, RFC 1951, RFC 1952 (i.e. gzip) and zip files/buffers. The following modules used to be distributed separately, but are now included with the IO-Compress distribution: * Compress-Zlib * IO-Compress-Zlib * IO-Compress-Bzip2 * IO-Compress-Base /usr/bin/zipdetails /usr/share/doc/perl-IO-Compress-2.061 /usr/share/doc/perl-IO-Compress-2.061/Changes /usr/share/doc/perl-IO-Compress-2.061/README /usr/share/doc/perl-IO-Compress-2.061/compress-zlib /usr/share/doc/perl-IO-Compress-2.061/compress-zlib/filtdef /usr/share/doc/perl-IO-Compress-2.061/compress-zlib/filtinf /usr/share/doc/perl-IO-Compress-2.061/compress-zlib/gzcat /usr/share/doc/perl-IO-Compress-2.061/compress-zlib/gzgrep /usr/share/doc/perl-IO-Compress-2.061/compress-zlib/gzstream /usr/share/doc/perl-IO-Compress-2.061/io /usr/share/doc/perl-IO-Compress-2.061/io/anycat /usr/share/doc/perl-IO-Compress-2.061/io/bzip2 /usr/share/doc/perl-IO-Compress-2.061/io/bzip2/bzcat /usr/share/doc/perl-IO-Compress-2.061/io/bzip2/bzgrep /usr/share/doc/perl-IO-Compress-2.061/io/bzip2/bzstream /usr/share/doc/perl-IO-Compress-2.061/io/gzip /usr/share/doc/perl-IO-Compress-2.061/io/gzip/gzappend /usr/share/doc/perl-IO-Compress-2.061/io/gzip/gzcat /usr/share/doc/perl-IO-Compress-2.061/io/gzip/gzgrep /usr/share/doc/perl-IO-Compress-2.061/io/gzip/gzstream /usr/share/man/man1/zipdetails.1.gz /usr/share/man/man3/Compress::Zlib.3pm.gz /usr/share/man/man3/File::GlobMapper.3pm.gz /usr/share/man/man3/IO::Compress::Base.3pm.gz /usr/share/man/man3/IO::Compress::Bzip2.3pm.gz /usr/share/man/man3/IO::Compress::Deflate.3pm.gz /usr/share/man/man3/IO::Compress::FAQ.3pm.gz /usr/share/man/man3/IO::Compress::Gzip.3pm.gz /usr/share/man/man3/IO::Compress::RawDeflate.3pm.gz /usr/share/man/man3/IO::Compress::Zip.3pm.gz /usr/share/man/man3/IO::Uncompress::AnyInflate.3pm.gz /usr/share/man/man3/IO::Uncompress::AnyUncompress.3pm.gz /usr/share/man/man3/IO::Uncompress::Base.3pm.gz /usr/share/man/man3/IO::Uncompress::Bunzip2.3pm.gz /usr/share/man/man3/IO::Uncompress::Gunzip.3pm.gz /usr/share/man/man3/IO::Uncompress::Inflate.3pm.gz /usr/share/man/man3/IO::Uncompress::RawInflate.3pm.gz /usr/share/man/man3/IO::Uncompress::Unzip.3pm.gz /usr/share/perl5/Compress /usr/share/perl5/Compress/Zlib.pm /usr/share/perl5/File /usr/share/perl5/File/GlobMapper.pm /usr/share/perl5/IO /usr/share/perl5/IO/Compress /usr/share/perl5/IO/Compress/Adapter /usr/share/perl5/IO/Compress/Adapter/Bzip2.pm /usr/share/perl5/IO/Compress/Adapter/Deflate.pm /usr/share/perl5/IO/Compress/Adapter/Identity.pm /usr/share/perl5/IO/Compress/Base /usr/share/perl5/IO/Compress/Base.pm /usr/share/perl5/IO/Compress/Base/Common.pm /usr/share/perl5/IO/Compress/Bzip2.pm /usr/share/perl5/IO/Compress/Deflate.pm /usr/share/perl5/IO/Compress/FAQ.pod /usr/share/perl5/IO/Compress/Gzip /usr/share/perl5/IO/Compress/Gzip.pm /usr/share/perl5/IO/Compress/Gzip/Constants.pm /usr/share/perl5/IO/Compress/RawDeflate.pm /usr/share/perl5/IO/Compress/Zip /usr/share/perl5/IO/Compress/Zip.pm /usr/share/perl5/IO/Compress/Zip/Constants.pm /usr/share/perl5/IO/Compress/Zlib /usr/share/perl5/IO/Compress/Zlib/Constants.pm /usr/share/perl5/IO/Compress/Zlib/Extra.pm /usr/share/perl5/IO/Uncompress /usr/share/perl5/IO/Uncompress/Adapter /usr/share/perl5/IO/Uncompress/Adapter/Bunzip2.pm /usr/share/perl5/IO/Uncompress/Adapter/Identity.pm /usr/share/perl5/IO/Uncompress/Adapter/Inflate.pm /usr/share/perl5/IO/Uncompress/AnyInflate.pm /usr/share/perl5/IO/Uncompress/AnyUncompress.pm /usr/share/perl5/IO/Uncompress/Base.pm /usr/share/perl5/IO/Uncompress/Bunzip2.pm /usr/share/perl5/IO/Uncompress/Gunzip.pm /usr/share/perl5/IO/Uncompress/Inflate.pm /usr/share/perl5/IO/Uncompress/RawInflate.pm /usr/share/perl5/IO/Uncompress/Unzip.pm
Apache VHOST für Log Analyzer for e2Guardian/DansGuardian
Nachstehend soll ein möglicher virtueller Host welcher unter dem Apache HTTP Server realisiert werden kann für den Web-Anwendungsbereich des Log Analyzer for DansGuardian als Beispiel dargestellt werden.
Nachfolgende Konfigurationsdatei in nachfolgendem Verzeichnis und mit nachfolgendem Namen
/etc/httpd/conf.d/e2guardian.conf
könnte wie folgt realisiert werden:
# # e2loganalyzer.tachtler.net (Log Analyzer for e2Guardian/DansGuardian) # <VirtualHost _default_:80> ServerAdmin webmaster@tachtler.net ServerName e2loganalyzer.tachtler.net ServerAlias www.e2loganalyzer.tachtler.net ServerPath / AddHandler cgi-script .pl DocumentRoot "/var/www/e2loganalyzer" <Directory "/var/www/e2loganalyzer"> Options -Indexes +FollowSymLinks +ExecCGI # Tachtler (enable for unlimited access) Require all granted </Directory> DirectoryIndex e2log.pl ErrorLog logs/e2loganalyzer_error.log CustomLog logs/e2loganalyzer_access.log combined </VirtualHost>
Wichtig sind hier folgende Definitionen:
AddHandler cgi-script .pl
* Ausführbarkeit von Perl-Scripte für den Apache HTTP Webserver und
Options -Indexes +FollowSymLinks +ExecCGI
* Ausführen von CGI-Scripten für diesen virtuellen Host des Apache HTTP Webserver
DirectoryIndex e2log.pl
* Startdatei für den Apache HTTP Webserver, damit das Perl-Script beim Aufruf des Virtuellen Hosts gleich ausgeführt wird.
Wie in der Definition des Virtuellen Hosts dargestellt hat das Perl-Script den Namen e2log.pl
.
Um das Perl-Script e2log.pl
auch ausführen zu können, kann mit folgendem Befehl die Ausführung der Datei ermöglicht werden:
# chmod 755 e2log.pl
Ein Aufruf kann dann über die URL http://www.e2loganalyzer.tachtler.net erfolgen!