Der perfekte Office Server mit Mandriva Directory Server auf Debian Etch - Seite 4

12 Spamassassin

Mit diesem Schritt aktivierst Du zusätzliche Plugins um die Spamerkennung zu verbessern.

vi /etc/spamassassin/local.cf

Füge folgenden Inhalt der Datei hinzu:

# dcc
use_dcc 1
dcc_path /usr/bin/dccproc

#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf

#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1

vi /etc/spamassassin/v310.pre

Aktiviere die Zeile für den dcc-plugin. So sollte es aussehen:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor loadplugin Mail::SpamAssassin::Plugin::Razor2 loadplugin Mail::SpamAssassin::Plugin::SpamCop loadplugin Mail::SpamAssassin::Plugin::AWL loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject loadplugin Mail::SpamAssassin::Plugin::MIMEHeader loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
Konfiguriere spamassassin nun so, dass es als Daemon ausgeführt wird.

vi /etc/default/spamassassin

Setze ENABLED=1. Es sollte wie folgt aussehen:
ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir" PIDFILE="/var/run/spamd.pid" #NICE="--nicelevel 15" CRON=0
Starte danach spamassassin und starte amavis neu.

/etc/init.d/spamassassin start
/etc/init.d/amavis restart

13 BIND Konfiguration

Kopiere zuerst eine benutzerdefinierte Konfigurationsdatei in das Bind Verzeichnis.

cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/

Danach ändern wir den slapd starting point sodass es vor Bind startet.

update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Bearbeite die resolv Konfiguration.

vi /etc/resolv.conf

So sollte es aussehen:
nameserver 127.0.0.1
nameserver 192.168.0.2

14 DHCP Konfiguration

Kopiere zuerst die benutzerdefinierte Konfigurationsdatei in das dhcp3 Verzeichnis.

cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
vi /etc/dhcp3/dhcpd.conf

Passe die Datei an Deine Wünsche an - so sollte es aussehen:

ldap-server "localhost";
ldap-port 389; ldap-username "cn=admin, dc=example, dc=com"; ldap-password "howtoforge"; ldap-base-dn "dc=example, dc=com"; ldap-method dynamic; ldap-debug-file "/var/log/dhcp-ldap-startup.log";

15 SquidGuard/Squid Konfiguration

Squid, in Zusammenhang mit SquidGuard, wird dazu verwendet, die Zugänglichkeit ausgewählter Webseiten zu deaktivieren.

15.1 Konfigurationsdateien

15.1.1 SquidGuard

Kopiere die Beispiel-Konfigurationsdatei in das squid Verzeichnis, erstelle eine Liste der geblockten Domainnamen (sonst läd der mmc-proxy-plugin nicht) und bearbeite die Konfigurationsdatei.

cp /usr/share/doc/python-mmc-base/contrib/proxy/squidGuard.conf /etc/squid/
touch /var/lib/squidguard/db/bad.destdomainlist
vi /etc/squid/squidGuard.conf

Ändere die Zeile für die Weiterleitung sodass sie wie folgt aussieht:

redirect http://blocked.example.com/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u

15.1.2 Squid

Bennene zunächst die Konfigurationsdatei um, erstelle eine neue ohne Kommentare (die originale Konfigurationsdatei hat mehr als 4000 Zeilen) und bearbeite sie.

cd /etc/squid/
mv squid.conf squid.conf.orig
cat squid.conf.orig | egrep "^[^#]" > squid.conf
vi squid.conf

Kommentiere ...

http_access allow localhost

... aus und füge folgende Zeilen der Konfiguration hinzu:

redirect program /usr/bin/squidGuard
acl SSL ports port 3128
acl our_networks src 192.168.0.0/24
http_access allow our_networks

Starte squid neu

/etc/init.d/squid restart


15.2 VHost weiterleiten

Wenn Benutzer Webseiten besuchen möchten, die Du deaktiviert hast, werden sie an blocked.example.com. weitergeleitet. Erstelle das Verzeichnis für den VHost, füge squidGuard.cgi ein und mache sie ausführbar.

mkdir /var/www/squidguard/
zcat /usr/share/doc/squidguard/examples/squidGuard.cgi.gz > /var/www/squidguard/squidGuard.cgi
chmod +x /var/www/squidguard/squidGuard.cgi

Erstelle danach einen VHost für die Weiterleitung.

vi /etc/apache2/sites-available/http

Füge diese Konfiguration hinzu:

NameVirtualHost 192.168.0.100:80

<VirtualHost 192.168.0.100:80>

ServerName blocked.example.com
ServerAdmin Administrator@example.com
DocumentRoot /var/www/squidguard/

AddHandler cgi-script .cgi

<Directory /var/www/squidguard/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from 192.168.0.0/24
</Directory>

ErrorLog /var/log/apache2/squidguard_error.log
CustomLog /var/log/apache2/squidguard_access.log combined
LogLevel warn

</VirtualHost>

16 Webinterface Konfiguration

16.1 SSL Zertifikat

Dieses SSL Zertifikat wird für das MMC und CUPS Web-frontend verwendet.

mkdir /etc/apache2/ssl/
openssl req -new -x509 -keyout /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.crt -days 365 -nodes
chmod 600 /etc/apache2/ssl/server.key
cp /etc/apache2/ssl/* /etc/cups/ssl/

16.2 CUPS

Um auf das CUPS web-frontend von anderen Maschinen in Deinem Netzwerk aus zugreifen zu können, musst Du ein paar Einstellungen anpassen.

vi /etc/cups/cupsd.conf

Ändere:

Listen localhost:631

zu:

Listen %server_ip%:631

Ändere:

# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
</Location>

# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>

zu:

# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
Allow 192.168.0.0/24
</Location>

# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
Allow 192.168.0.0/24
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.0.0/24
</Location>

Starte CUPS danach neu.

/etc/init.d/cupsys restart

Nun kannst Du Deine CUPS Drucker via CUPS Webinterface von Deinem Arbeitsplatz aus verwalten. Öffne https://192.168.0.100:631/ (Wenn später der Nameserver und der dhcp-Server konfiguriert sind, solltest Du Dich via https://server1.example.com:631 verbinden) in einem Browser Deiner Wahl und melde Dich als Root an. Bitte beachte, dass, wenn für Deinen Drucker kein Linux Treiber verfügbar ist und Du diesen Drucker nur von Deinem Windows Arbeitsplatz über SAMBA verwenden möchtest, kannst Du den Druckerhersteller "RAW" verwenden und den richtigen Treiber auf Deinem Windows Arbeitsplatz installieren.

Wenn Du einen HP Drucker einrichten möchtest, beachte bitte, dass Du ihn CUPS via hplip (Kommandozeile) hinzufügst. Der exakte Befehl hängt von der Verbindung Deines Gerätes ab - sieh Dir "hp-setup --help" an. Z.B. ist der Befehl für einen Netzwerk-Drucker mit der IP 192.168.0.20 dieser: "hp-setup -i 192.168.0.20". Danach kannst Du die Druckereinstellungen innerhalb des CUPS Webinterfaces anpassen (Auflösung etc.).

Nachdem Du einen neuen Drucker zu CUPS hinzugefügt hast, musst Du ihn Samba hinzufügen via

cupsaddsmb -a


16.3 MMC

Wir werden zwei vhosts erstellen - einen für http-Verbindungen und einen für https-Verbindungen.

16.3.1 HTTP VHost

vi /etc/apache2/sites-available/http

Füge folgende Konfiguration hinzu.

<VirtualHost 192.168.0.100:80>

ServerName server1.example.com

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>

16.3.2 HTTPS VHost

vi /etc/apache2/sites-available/https

Füge folgende Konfiguration hinzu.

NameVirtualHost 192.168.0.100:443

<VirtualHost 192.168.0.100:443>

ServerName server1.example.com
ServerAdmin Administrator@example.com
DocumentRoot /usr/share/mmc/

SSLEngine on
SSLCertificateKeyFile ssl/server.key
SSLCertificateFile ssl/server.crt
SSLProtocol all
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

<Directory /usr/share/mmc/>
AllowOverride None
Order allow,deny
Allow from 192.168.0.0/24
php_flag short_open_tag on
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
</Directory>

ErrorLog /var/log/apache2/mmc_error.log
CustomLog /var/log/apache2/mmc_access.log combined
LogLevel warn

</VirtualHost>

Füge den Port, auf dem der HTTPS lauscht, der Apache Konfiguration hinzu.

vi /etc/apache2/ports.conf

Füge folgende Zeile hinzu:

Listen 443

9 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Verlustmeldung

Hi, cooles Howto, aber es fehlt glaube ich ein ganz kleines schnippselchen.

es fehlt eine "/etc/libnss-ldap.conf" mit dem inhalt:


# The distinguished name of the search base.
BASE dc=example,dc=com
URI ldap://127.0.0.1/

# Mandriva Howto: Missing
nss_base_passwd ou=Users,dc=example,dc=com
nss_base_shadow ou=Users,dc=example,dc=com
nss_base_group ou=Groups,dc=example,dc=com


wenn diese existiert dann werden die ldap-user auch per "getent passwd" angezeigt.
ohne diese zeilen gibt der befehl "net -U Administrator rpc rights grant ‘DOMAINDomain Admins’ SeMachineAccountPrivilege" immer einen fehler.

btw: es fehlen bei allen windows-pfaden die backslashes wie z.b. in der smb.conf und smbldap.conf

mfg RR


Von: Verlustmeldung

nss_base_passwd ou=Computers,dc=example,dc=com?one

Das noch dabei dann stehen auch computer$ im getent passwd


Von: uwe wicki

Hallo, ein sehr gutes Howto.
Bei 4.2 Basis-Konfigurationmöchte ich einen kleinen Verbesserungsvorschlag machen:

Anstatt slappasswd -s %ldap_admin_password%

slappasswd >> /etc/ldap/slapd.conf
Nach dieser Eingabe wirst du aufgefordert dein Passwort einzugeben und zu bestätigen.

2 Vorteile:
Das Passwort steht nicht im Klartext in der History.
Der Hash wird am Ende der Datei slapd.conf eingefügt. Man muss nichts abschreiben.

Grüße Uwe


Von: uwe wicki

Hallo,
in der smb.conf fand ich einen Druckfehler
Statt add group script = /usr/sbin/ambldap-groupadd -p “%g”
heißt es: add group script = /usr/sbin/smbldap-groupadd -p “%g”
Grüße Uwe


Von: uwe wicki

Hallo

erneut ein kleiner Verbesserungsvorschlag, der einem die Konfiguration erleichert.
Entsprechen Kommentar 3 geht in 5.1 Basis-Konfiguration nach dem Test der smb.conf

Statt net getlocalsid EXAMPLE
net getlocalsid EXAMPLE >> /etc/smbldap-tools/smbldap.conf

Vorteil: Die Datei wird gleich erstellt und enthält die SID fehlerfrei, ohne sie abzuschreiben

Grüße Uwe


Von: uwe wicki

Hallo,

Zwei kleine Bemerkungen:

1: Auch wenn es unsicher erscheint, aber man sollte bei den Passwörtern keine Sonderzeichen verwenden.
2: Am Ende von 5.2 heißt es:
Als Nächstes gewähren wir der Gruppe “Domain Admins” das Recht, der Domain Maschinen hinzuzufügen.
net -U Administrator rpc rights grant ‘DOMAINDomain Admins’ SeMachineAccountPrivilege
Dieser Schritt gelang mir erst am Ende von 6.


Von: uwe wicki

Hallo,

auch heute fand ich wieder einige Kleinigkeiten.

beim Update müsste es statt
dpkg-statoverride –update –add root dovecot 4755 /usr/lib/dovecot/deliver

dpkg-statoverride –-update –-add root dovecot 4755 /usr/lib/dovecot/deliver
heißen.

Ein größeres Problem hat sich jetzt mit dem dcc-client ergeben.
Auf Seite 1 wird man aufgefordert das Paket dcc-client zu installieren. Dies funktionierte nicht.
Auf Seite 4 soll der dcc-client in spamAssassin eingebunden werden, was natürlich nicht funktioniert.
Anschließend versuchte ich dcc-client direkt zu installieren. Die Anleitung dazu findet man unter
http://konabi.de/artikel/artikel_content.php?artikel=dcc
Beim Ausführen der Konfiguration ./configure... erhielt ich folgenden Fehler.
checking for cc... (cached) no
error: no acceptable cc found in $PATH
An dieser Stelle gab ich auf und schaltete in der local.cf dcc aus, indem ich die beiden entsprechenden Zeilen einkommentierte.
Über Hilfe würde ich mich freuen.

Grüße Uwe


Von: badfur

FINALY! Hab dieses Howto jetzt zum dritten mal auf Lenny(!) durchgearbeitet und endlich läuft es *dance*. Ein paar Dinge gehen auf Lenny nicht wie beschrieben und manchmal haut die Reihenfolge einfach nicht hin, aber im großen und ganzen klappt es. Vielleicht kann ich mich durchringen dieses Howto auf Lenny zu aktualisieren, wenn der Author nichts dagegen hat ;) Auf jeden Fall würde ich ohne dieses Howto immer noch wie Kuh ins Uhrwerk schauen. Vielen Dank! ;)


Von: andreea

@Badfur - wie eine Kuh ins Uhrwerk?! Cooler Spruch :-D Freut mich!