ServerDoku

From TBP
Jump to: navigation, search

Contents

[edit] Precise

  • am 23.08.2012 erfolgte der Umstieg auf ubuntu precise. Einziges (dafür großes!) Problem war eine Veränderung in der Syntax für's Bonding. /etc/network/interfaces sieht jetzt so aus:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

auto eth2
iface eth2 inet manual
    bond-master bond0

auto eth3
iface eth3 inet manual
    bond-master bond0

auto eth4
iface eth4 inet manual
    bond-master bond0

auto eth5
iface eth5 inet manual
    bond-master bond0

auto bond0
iface bond0 inet static
    address 141.20.63.188
    netmask 255.255.255.0
    broadcast 141.20.63.255
    gateway 141.20.63.10
    bond_mode 0
    bond_miimon 100
    bond_updelay 200
    bond_downdelay 200
    bond-slaves none

auto eth1
iface eth1 inet static
    address 192.168.63.1
    netmask 255.255.255.0
    broadcast 192.168.63.255
    network 192.168.63.0

[edit] Natty

  • am 24.08.2011 wurde der Server komplett erneuert; jetzt haben wir einen DELL PowerEdge 515 mit 6 CPU-Cores, 16 GB RAM, 26 TB HD (netto), 6 Netzwerkkarten (vier davon als bond0 zusammengeschaltet). Ist um Welten schneller als der alte...
  • OS ist jetzt ubuntu natty server; wir hatten immer wieder Schwierigkeiten mit unterschiedlichen Versionsständen der Software von Clients und Server...
  • Services (Auswahl):
apache2           # Webserver
apcupsd           # Überwachung der USV
apt-cacher        # deb-Proxy
cfengine2         # u.a. für FAI
cvsd              # CVS
cups              # Printserver
fai-server        # das FAI Serverpaket
fail2ban          # Absicherung von ssh
isc-dhcp-server   # DHCP
dsmc              # Tivoli (Backup ins RZ)
hddtemp           # Temperatur der Festplatte messen
heimdal-kdc       # kerberos
heimdal-kcm       # kerberos
icecc             # verteiltes Kompilieren
mathlm            # Mathematica-License-Manager
mrmonitor         # Monitoring fürs RAID
mysql             # Datenbank
nagios3           # Monitoring
nfs-kernel-server # NFS-Dateisystem exportieren
nscd              # name service caching daemon; damit nicht jede Anfrage an LDAP/Kerberos gehen muß
ntp               # Zeit
postfix           # Post
samba             # basar und $HOME für Windows-Clients; Domainserver für THBP
saslauthd         # Absicherung von LDAP
slapd             # LDAP-Userverwaltung
smartmontools     # Monitoring der Festplattengesundheit
ssh               # OpenSSH-Server
tftpd-hpa         # Booten vom Netzwerk (für FAI-Installation)

[edit] Lenny

  • jaguar wurde am 29.12.2009 auf lenny gebracht; nur apt-cacher(2) und nagios zickten rum.
  • laufende Services:
tdm2              # RAID-Controller
apache2           # Webserver
apt-cacher        # deb-Proxy
cfengine2         # u.a. für FAI
cvsd              # CVS
cups              # Printserver
denyhosts         # Absicherung von ssh
dhcp3-server      # DHCP
distcc            # verteiltes Kompilieren
exim4             # Post
hddtemp           # Temperatur der Festplatte messen
heimdal-kdc       # kerberos
heimdal-kcm       # kerberos
icecc             # verteiltes Kompilieren
mathlm            # Mathematica-License-Manager
mysql             # Datenbank
nagios3           # Monitoring
nfs-kernel-server # NFS-Dateisystem exportieren
nis               # obsolete Userverwaltung; nur für Uraltclients relevant, kann eigentlich mal weg
nscd              # name service caching daemon; damit nicht jede Anfrage an LDAP/Kerberos gehen muß
ntp               # Zeit
portmap           # für NFS wichtig
pyro-nsd          # python name server, u.a. für semanticsbml web
rsync             # rsync-server; braucht den jemand?
samba             # basar und $HOME für Windows-Clients; Domainserver für THBP
saslauthd         # Absicherung von LDAP
slapd             # LDAP-Userverwaltung
smartmontools     # Monitoring der Festplattengesundheit
ssh               # OpenSSH-Server
tftpd-hpa         # Booten vom Netzwerk (für FAI-Installation)

[edit] kerberos

siehe [1]

realm: TBP.BIOLOGIE:HU-BERLIN.DE server: lynx.biologie.hu-berlin.de

/etc/krb5.conf

[..]
[realms]
        TBP.BIOLOGIE.HU-BERLIN.DE = {
                kdc = lynx.biologie.hu-berlin.de
                admin_server = lynx.biologie.hu-berlin.de
                default_domain = biologie.hu-berlin.de
        }
[..]
[domain_realm]
        .biologie.hu-berlin.de = TBP.BIOLOGIE.HU-BERLIN.DE
        biologie.hu-berlin.de = TBP.BIOLOGIE.HU-BERLIN.DE
[..]
[appdefaults]
        pam = {
                debug = false
                ticket_lifetime = 36000
                renew_lifetime = 36000
                forwardable = true
                krb4_convert = false
        }
        kinit = {
                ticket_lifetime = 36000
                renew_lifetime = 36000
                forwardable = true
        }

/etc/krb5kdc/kdc.conf

[realms]
    TBP.BIOLOGIE.HU-BERLIN.DE = {
        database_name = /var/lib/krb5kdc/principal
        admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
        acl_file = /etc/krb5kdc/kadm5.acl
        key_stash_file = /etc/krb5kdc/stash
        kdc_ports = 750,88
        max_life = 25h
        max_renewable_life = 4w
        master_key_type = des3-hmac-sha1
        supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
        default_principal_flags = +preauth
    }

/etc/krb5kdc/kadm5.acl

*/admin@TBP.BIOLOGIE.HU-BERLIN.DE *
$ kdb5_util create -s
  # mit einem wirklich sicherem passwort!
$ kadmin.local -q "addprinc root/admin
  # mit einem sicherem passwort!
$ /etc/init.d/krb5-admin-server stop
$ /etc/init.d/krb5-admin-server start
$ /etc/init.d/krb5-kdc stop
$ /etc/init.d/krb5-kdc start

  #jetzt sollte alles laufen:
$ kadmin
Authenticating as principal root/admin@TBP.BIOLOGIE.HU-BERLIN.DE with password.
Password for root/admin@TBP.BIOLOGIE.HU-BERLIN.DE:
kadmin:  listprincs
K/M@TBP.BIOLOGIE.HU-BERLIN.DE
kadmin/admin@TBP.BIOLOGIE.HU-BERLIN.DE
kadmin/changepw@TBP.BIOLOGIE.HU-BERLIN.DE
kadmin/history@TBP.BIOLOGIE.HU-BERLIN.DE
kadmin/lynx.biologie.hu-berlin.de@TBP.BIOLOGIE.HU-BERLIN.DE
krbtgt/TBP.BIOLOGIE.HU-BERLIN.DE@TBP.BIOLOGIE.HU-BERLIN.DE
root/admin@TBP.BIOLOGIE.HU-BERLIN.DE

  # einstellungen:
kadmin:  addprinc -randkey host/lynx.biologie.hu-berlin.de
kadmin:  ktadd host/lynx.biologie.hu-berlin.de
kadmin:  add_policy -maxlife 9999days -minlife 0days -minlength 8 -minclasses 2 -history 1 default
kadmin:  modprinc -maxrenewlife 4weeks krbtgt/TBP.BIOLOGIE.HU-BERLIN.DE@TBP.BIOLOGIE.HU-BERLIN.DE

[edit] LDAP

$ kadmin
kadmin: addprinc -randkey ldap/lynx.biologie.hu-berlin.de
kadmin:  ktadd -k /etc/ldap/ldap.keytab ldap/lynx.biologie.hu-berlin.de
$ chgrp openldap /etc/ldap/ldap.keytab
$ chmod 640 /etc/ldap/ldap.keytab
$ echo "export KRB5_KTNAME=/etc/ldap.keytab" >> /etc/default/slapd
$ echo 'SLAPD_SERVICES="ldap:/// ldaps:///"' >> /etc/default/slapd

für den slapd ein ssl cert erstellen (s.o.) und nach /etc/ldap/ kopieren (rechte beachten)

$ slappasswd 
  New password: 
  Re-enter new password:
{SSHA}KXVJ52jS+HIE38C+fvKJHYzmnX9ZZDRD
  # das passwort merken

/etc/ldap/slapd.conf

BASE    dc=tbp,dc=biologie,dc=hu-berlin,dc=de
URI     ldaps://lynx.biologie.hu-berlin.de
TLS_CACERT /etc/ssl/certs/tbpCA.pem

/etc/ldap/slapd.conf

idletimeout 3600
TLSCACertificateFile /etc/ssl/certs/tbpCA.pem
TLSCertificateFile /etc/ldap/slapd.pem
TLSCertificateKeyFile /etc/ldap/slapd.key
suffix          "dc=tbp,dc=biologie,dc=hu-berlin,dc=de"
rootdn          "cn=admin,dc=tbp,dc=biologie,dc=hu-berlin,dc=de"
rootpw          {SSHA}KXVJ52jS+HIE38C+fvKJHYzmnX9ZZDRD # das passwort von oben

## This is a bit of a hack to restrict the SASL mechanisms that the
## server advertises to just GSSAPI.  Otherwise it also advertises
## DIGEST-MD5, which the clients prefer.  Then you have to add "-Y
## GSSAPI" to all of your ldapsearch/ldapmodify/etc. command lines, which
## is annoying.  The default for this is noanonymous,noplain so the
## addition of noactive is what makes DIGEST-MD5 and the others go away.

sasl-secprops noanonymous,noplain,noactive

sasl-host lynx.biologie.hu-berlin.de
sasl-realm TBP.BIOLOGIE.HU-BERLIN.de

## Map SASL authentication DNs to LDAP DNs
##   This leaves "username/admin" principals untouched
sasl-regexp uid=([^/]*),cn=([^,]*),cn=GSSAPI,cn=auth uid=$1,ou=people,dc=tbp,dc=biologie,dc=hu-berlin,dc=de
# This should be a   ^  plus, not a star, but slapd won't accept it
#
## Users can change their shell, anyone else can see it
access to attrs=loginShell
        by dn.regex="uid=.*/admin,cn=GSSAPI,cn=auth" write
        by self write
        by * read
## Only the user can see their employeeNumber
access to attrs=employeeNumber
        by dn.regex="uid=.*/admin,cn=GSSAPI,cn=auth" write
        by self read
        by * none

access to attrs=userpassword
       by self write
       by anonymous auth
       by * none

## Default read access for everything else
access to *
        by dn.regex="uid=.*/admin,cn=GSSAPI,cn=auth" write
        by * read

[edit] NFSv4

$ mkdir -m 1777 /export
$ mkdir /export/home
$ mount -n --bind /home /export/home

/etc/default/nfs-kernel-server

# Number of servers to start up
RPCNFSDCOUNT=8

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information,
# see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS
RPCMOUNTDOPTS=

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=yes

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS=

SECURE_NFS=yes
STATD_PORT=4000
LOCKD_TCPPORT=4001
LOCKD_UDPPORT=4001
MOUNTD_PORT=4002
RQUOTAD_PORT=4003

/etc/exports

/export        gss/krb5(rw,sync,fsid=0,no_subtree_check,crossmnt,no_root_squash)
/export        gss/krb5i(rw,sync,fsid=0,no_subtree_check,crossmnt,no_root_squash)
/export        gss/krb5p(rw,sync,fsid=0,no_subtree_check,crossmnt,no_root_squash)
/export/home   gss/krb5(rw,sync,nohide,no_subtree_check,crossmnt,no_root_squash)
/export/home   gss/krb5i(rw,sync,nohide,no_subtree_check,crossmnt,no_root_squash)
/export/home   gss/krb5p(rw,sync,nohide,no_subtree_check,crossmnt,no_root_squash)
Personal tools