Server/srs1337/2015: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== weitere Konfigurationen == <!-- === loader.conf === * für den apache Eintrag anlegen <code> accf_data_load=”YES” # Wait for data accept filter accf…“)
 
K (PaulRiegel verschob die Seite Server/srs1337/2015-03-09 nach Server/srs1337/2015)
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Server/srs1337 | srs1337]] ist die Bezeichnung für das System auf dem [[Server/dicke Berta | Server ''dicke Berta'']].
Die ''kursiv gekennzeichneten Teile'' des Inhaltes, sind variabel oder können hier nicht angegeben werden.
== Installation ==
[[PT]] und [[Benutzer:FrankHebold | Frank Hebold]] orientierten sich ergänzend an der [http://www.commander1024.de/wordpress/2012/01/freebsd-9-mit-root-on-zfs/ "Anleitung" ''FreeBSD 9 mit Root on ZFS''].
=== Installation des Betriebssystems ===
==== Starten mit dem Startmedium ====
* mit Speicherabbild für den USB-Stick
==== Einrichtung der Festplatten zur Installation des Betriebssystems ====
Festplatten einrichten
<code>
: gpart create -s gpt /dev/da0
: gpart create -s gpt /dev/da1
: gpart create -s gpt /dev/da2
</code>
==== Partitionierung der Festplatten zur Installation des Betriebssystems ====
Festplatten partitionieren
<code>
: gpart add -s 512k -t freebsd-boot da0
: gpart add -s 512k -t freebsd-boot da1
: gpart add -s 512k -t freebsd-boot da2
: gpart add -s 3G -t freebsd-swap da0
: gpart add -s 3G -t freebsd-swap da1
: gpart add -s 3G -t freebsd-swap da2
: gpart add -t freebsd-zfs da0
: gpart add -t freebsd-zfs da1
: gpart add -t freebsd-zfs da2
</code>
==== Bootloader zur Installation des Betriebssystems ====
<code>
: gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
: gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1
: gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da2
</code>
==== Spiegeln des SWAP zur Installation des Betriebssystems ====
SWAP spiegeln (Redundanz erzeugen)
<code>
: gmirror label -v -b round-robin swap0 da0p2 da1p2 da2p2
: gmirror load
</code>
==== Anlegen des Pools für ZFS zur Installation des Betriebssystems ====
Pool für ZFS anlegen
<code>
: zpool create storich mirror da0p3 da1p3 da2p3
: zfs set mountpoint=/mnt storich
: zpool export storich
: zpool import -o cachefile=/var/tmp/zpool.cache storich
: zfs set checksum=fletcher4 storich
</code>
==== Anlegen der Datasets von ZFS zur Installation des Betriebssystems ====
Datasets von ZFS anlegen
<code>
: zfs create -o compression=on -o exec=on -o setuid=off storich/tmp
: chmod 1777 /mnt/tmp
: zfs create storich/usr
: zfs create storich/usr/home
: cd /mnt/
: ln -s /usr/home home
: zfs create -o compression=lzjb -o setuid=off storich/usr/ports
: zfs create -o compression=off -o exec=off -o setuid=off storich/usr/ports/distfiles
: zfs create -o compression=off -o exec=off -o setuid=off storich/usr/ports/packages
: zfs create -o compression=off -o exec=off -o setuid=off storich/usr/src
: zfs create storich/var
: zfs create -o compression=off -o exec=off -o setuid=off storich/var/crash
: zfs create -o exec=off -o setuid=off storich/var/empty
: zfs create -o compression=lzjb -o exec=off -o setuid=off storich/var/log
: zfs create -o compression=gzip -o exec=off -o setuid=off storich/var/mail
: zfs create -o exec=off -o setuid=off storich/var/run
: zfs create -o compression=lzjb -o exec=on -o setuid=off storich/var/tmp
: chmod 1777 /mnt/var/tmp
</code>
==== Installation des Betriebssystems<!-- :-D --> zur Installation des Betriebssystems ====
Installation FreeBSD 9.X
<code>
: tar -xf /usr/freebsd-dist/base.txz
: tar -xf /usr/freebsd-dist/kernel.txz
: tar -xf /usr/freebsd-dist/doc.txz
: tar -xf /usr/freebsd-dist/lib32.txz
: tar -xf /usr/freebsd-dist/ports.txz
: tar -xf /usr/freebsd-dist/src.txz
: zfs set readonly=on storich/var/empty
</code>
==== Konfiguration des FreeBSD nach der Installation des Betriebssystems ====
===== Änderung des Rootverzeichnisses nach der Installation des Betriebssystems =====
----
[[wikipedia:de:chroot | Änderung des Rootverzeichnisses]]
<code>
: chroot /mnt
</code>
===== Setzen des Passwortes für ''root'' nach der Installation des Betriebssystems =====
root-Passwort setzen
<code>
: passwd
</code>
===== Anpassung zum Einhängen des SWAP-Mirror für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
SWAP beim Hochfahren einhängen
<code>
: ee /etc/fstab
</code>
<code>
#Device Mountpoint FStype Options Dump Pass#
/dev/mirror/swap0 none swap sw 0 0
</code>
===== Anpassung zur Aktivierung von ZFS für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
Aktivierung des ZFS
<code>
: ee /etc/rc.conf
</code>
<code>
zfs_enable="YES"
</code>
Laden der benötigten Kernel-Module
<code>
: ee /boot/loader.conf
</code>
<code>
zfs_load="YES"
vfs.root.mountfrom="zfs:storich"
geom_mirror_load="YES"
</code>
===== Anpassung zur Aktivierung der Netzwerkeinstellungen für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
Grundkonfiguration der Netzwerkeinstellungen
<code>
: ee /etc/rc.conf
</code>
<code>
hostname="''hostname der Maschine''"
defaultrouter="''IP des Defaultrouters''"
ifconfig_bce0="''IP der Maschine'' netmask 255.255.255.0"
</code>
===== Anpassung zur Festlegung der Dauer vom Bootscreen für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
Festlegung (Reduzierung) der Dauer vom Bootscreen
<code>
: ee /boot/loader.conf
</code>
<code>
autoboot_delay="1"
</code>
===== Anpassung zur Festlegung der Zeitzone nach der Installation des Betriebssystems =====
Änderung der Zeitzone
<code>
: tzsetup
</code>
<code>
Europe
Germany
</code>
===== Abmelden aus dem Rootverzeichnisses nach der Installation des Betriebssystems =====
<code>
: exit
</code>
----
===== Kopieren der Informationen zum Pool für ZFS für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
Informationen zum Pool für ZFS kopieren (oder verschieben)
<code>
: cp /var/tmp/zpool.cache /mnt/boot/zfs/
</code>
===== einmaliges Aushängen und Festlegung der zukünftige Einhängepunkte der Datasets von ZFS  für jeden Boot-Vorgang nach der Installation des Betriebssystems =====
Datasets von ZFS aushängen und zukünftige Einhängepunkte festlegen
<code>
: cd /
: zfs unmount -a
: zfs set mountpoint=legacy storich
: zfs set mountpoint=/tmp storich/tmp
: zfs set mountpoint=/usr storich/usr
: zfs set mountpoint=/var storich/var
</code>
==== Neustarten nach der Installation des Betriebssystems ====
FERTIG! (Neustart!)
<code>
: reboot
</code>
=== Anpassungen und Ergänzungen nach der Installation des Betriebssystems ===
==== Anpassung zur Festlegung der Adressen für die Weiterleitung der Mails des Betriebssystems ====
Erstellung und Weiterleitung von Adressen für Mails vom Betriebssystem
<code>
: cd /etc/mail
: ee alias
: make aliases
</code>
==== Erstellung der Liste für Nameserver ====
<code>
: ee /etc/resolv.conf
</code>
<code>
domain ''domain.tld''
nameserver "''IP''"
nameserver "''IP''"
</code>
==== Installation der Portscollection ====
<code>
: portsnap fetch extract
</code>
==== Bereitstellung von [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/openssh.html SSH] ====
===== Konfiguration von OpenSSH =====
* [http://openssh.com/ openssh]
* ssh auf anderen port legen
* Vorschläge für sshd_config
<code>
: ee /etc/ssh/sshd_config
</code>
<code>
VersionAddendum
Port $SSH_PORTNUMMER
ListenAddress $JAIL_IP
Protocol 2
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 1m
PermitRootLogin no
StrictModes yes
MaxAuthTries 4
MaxSessions 5
AllowUsers $DER_COOLE_LEUTE_CLUB
PermitEmptyPasswords no
X11Forwarding no
Banner none
</code>
* immer schön manpage lesen und mit dem Feinkamm durchgehen
* keys + passwörter zur Authentifizierung
* in jails:'''ListenAddress 0.0.0.0'''
===== Aktivierung von OpenSSH für jeden Boot-Vorgang =====
<code>
: ee /etc/rc.conf
</code>
<code>
sshd_enable="YES"
</code>
==== Anpassung der Sicherheitseinstellungen ====
===== Festlegung zur Automatisierung der Updates =====
* Automatische Portscollection updaten
* Mailinfo zusenden zu
* nicht aktuellen Ports
* verbugten Ports
<code>
: ee /etc/crontab
</code>
<code>
0 13 * * * root portsnap -I cron fetch && portsnap update && pkg_version -vIL=
0 14 * * * root portaudit -Fda
0 */12 * * * root /usr/sbin/audit -n
</code>
===== [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/audit-install.html Installation der Audit-Unterstützung] =====
* auditd starten
<code>
: /etc/rc.d/auditd start
</code>
====== Festlegen der Grundeinstellungen der Audit-Unterstützung ======
* flags setzen
<code>
: ee /etc/security/audit_control
</code>
<code>
flags:lo,aa,ex
</code>
* synchronize config:
<code>
: audit -s
</code>
====== Anpassung zur Aktivierung der Audit-Unterstützung für jeden Boot-Vorgang ======
<code>
: ee /etc/rc.conf
</code>
<code>
# Audit Deamon aktivieren
auditd_enable="YES"
</code>
===== [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/firewalls-pf.html Installation des Paket Filters (PF) von OpenBSD und ALTQ] =====
* Paketfilter starten
<code>
: /etc/rc.d/pf start
: /etc/rc.d/pflog start
</code>
====== Festlegen der Regeln für den Paket Filter ======
<code>
: ee /etc/pf.conf
</code>
<code>
### MAKROS
thishost  "$MAIN_IP"
# portsnap5 204.9.55.80
portsnap_freebsd  "{ 204.109.56.116 204.9.55.80 }"
# auditfile.tbz is beeing fetched from portaudit.freebsd.org
portaudit_freebsd  "69.147.83.36"
# dnsserver from resolv.conf
dnsserver  "{ 85.214.73.63 217.79.186.148 27.110.120.30 204.152.184.76 194.150$
### RULES
# default deny
block in all
block out all
# lokales interface darf ohne einschränkungen
pass in quick on lo0 all
pass out quick on lo0 all
## HOST
# allow ssh
pass in on bce0 proto tcp from any to $thishost port $SSH_PORT
pass out on bce0 proto tcp from $thishost port $SSH_PORT to any
## allow outbound icmp
# echo request
pass out inet proto icmp icmp-type 8 code 0 keep state
# echo reply
pass in inet proto icmp icmp-type 0 code 0 keep state
# destination unreachable
pass in inet proto icmp icmp-type 3 keep state
# allow DNS lookups {also via tcp?} port 53
# what about traversal???
pass out on bce0 proto udp from $thishost to $dnsserver port 53 keep state
# allow portsnap to fetch from freebsd.org (ports?)
pass in on bce0 proto tcp from $portsnap_freebsd to $thishost
pass out on bce0 proto tcp from $thishost to $portsnap_freebsd
# allow portaudit to fetch auditfile.tbz via http
pass in on bce0 proto tcp from $portaudit_freebsd port 80 to $thishost
pass out on bce0 proto tcp from $thishost to $portaudit_freebsd port 80
## JAIL Beispiel (uneingeschränkt -> '''dumme Idee''', ports dienstabhänging freigeben
pass in on bce0 proto { tcp udp icmp } from any to $jail_srs14
pass out on bce0 proto { tcp udp icmp } from $jail_srs14 to any
</code>
* Regeln überprüfen
<code>
: pfctl -vnf /etc/pf.conf
</code>
* alte Regeln durch die neuen Regeln ersetzen
<code>
: pfctl -Fa -f /etc/pf.conf
</code>
====== Anpassung zur Aktivierung des Paket Filters für jeden Boot-Vorgang ======
<code>
: ee /etc/rc.conf
</code>
<code>
# Packet Filter aktivieren
pf_enable="YES"
# auf die erstellte Datei mit den Regeln für den Packet Filter verweisen
pf_rules="/etc/pf.conf"
# Log für den Packet Filterlog aktivieren
pflog_enable="YES"
</code>
==== Anpassung zur Aktivierung des Durchroutens aller Jails für jeden Boot-Vorgang ====
<code>
: ee /etc/rc.conf
</code>
<code>
# host system is gateway for jails
gateway_enable="YES"
</code>
==== Anpassung zur Aktivierung der Systemlog-Informationen für jeden Boot-Vorgang ====
<code>
: ee /etc/rc.conf
</code>
<code>
# syslogd an Hauptmaschine binden
syslogd_flags="-b $MAIN_IP"
</code>
==== Anpassung zur Sprache und Zeichensatz ====
<code>
: ee /etc/login.conf
</code>
<code>
# deutsch einstellen
default:\
    :charset=ISO-8859-1:\
    :lang=de_DE.ISO8859-1:\
</code>
<code>
: cap_mkdb /etc/login.conf
</code>
=== Zusammenfassung der Einträge und Anpassung nach der Installation des Betriebssystems ===
; Hinweis:
: Bei einer Mehrzahl von Einträgen sollte die Datei hier als Zusammenfassung abgebildet werden.
: Bei einmaligen Einträgen kann auf den entsprechende Abschnitt verwiesen werden.
==== /mnt/etc/fstab ====
siehe [[#Anpassung zum Einhängen des SWAP-Mirror für jeden Boot-Vorgang nach der Installation des Betriebssystems]]
==== /boot/loader.conf ====
<code>
zfs_load="YES"
vfs.root.mountfrom="zfs:storich"
geom_mirror_load="YES"
autoboot_delay="1"
</code>
==== /etc/rc.conf ====
<code>
zfs_enable="YES"
keymap="german.iso"
hostname="''Name des Servers''"
defaultrouter="''IP(v4)-Adresse des nächsten Routers (im C[https://de.wikipedia.org/wiki/IPv4#Netzklassen -Netz])''"
ifconfig_em0="''IP(v4)-Adresse des Servers (host)'' netmask 255.255.255.0"
sshd_enable="YES"
# Audit Deamon aktivieren
auditd_enable="YES"
# Packetfilter aktivieren
pf_enable="YES"
# Packetfilter Datei
pf_rules="/etc/pf.conf"
# Packetfilterlog aktivieren
pflog_enable="YES"
# host system is gateway for jails
gateway_enable="YES"
# syslogd an Hauptmaschine binden
syslogd_flags="-b ''IP(v4)-Adresse des Servers (host)''"
</code>
* Wenn IPv6 verfügbar ist, müssen noch weitere Anpassung für die Nutzung von IPv6 eingetragen werden.
* [https://www.davidandrzejewski.com/2010/03/04/freebsd-ipv6-tunnel-and-gateway-configuration/ Hilfreiche Seite für das Tunneln von ipv6 zu 4 Adressen]
<code>
#Aktivierung des IPv6 Supports
ipv6_enable="YES"
ipv6_defaultrouter="'''<IPv6-Adresse des nächsten Routers>'''"
ipv6_ifconfig_em0="'''<IPv6-Adresse des Servers (host)>''' prefixlen 128"
# host system is gateway for jails with ipv6
ipv6_gateway_enable="YES"
</code>
==== /etc/resolv.conf ====
siehe [[#Erstellung der Liste für Nameserver]]
* Aus Sicherheitsgründen wurde hier nicht der orginale Dateiinalt hingeschrieben
==== /etc/ssh/sshd_config ====
siehe [[#Konfiguration von OpenSSH]]
==== /etc/crontab ====
siehe [[#Festlegung zur Automatisierung der Updates]]
==== /etc/security/audit_control ====
sieh [[#Festlegen der Grundeinstellungen der Audit-Unterstützung]]
==== /etc/pf.conf ====
siehe [[#Festlegen der Regeln für den Paket Filter]]
* Aus Sicherheitsgründen wurde hier nicht der orginale Dateiinalt hingeschrieben
==== /etc/login.conf ====
siehe [[#Anpassung zur Sprache und Zeichensatz]]
== weitere Konfigurationen ==
== weitere Konfigurationen ==
<!--
 
=== loader.conf ===
=== loader.conf ===


* für den apache Eintrag anlegen
* für den apache Eintrag anlegen
  <code>
  <code>
  accf_data_load=”YES” # Wait for data accept filter
  accf_data_load="YES" # Wait for data accept filter
  accf_http_load=”YES” # Wait for full HTTP request accept filter
  accf_http_load="YES" # Wait for full HTTP request accept filter
  </code>
  </code>


Zeile 14: Zeile 528:
  security.jail.allow_raw_sockets=1  # Jail kann raw-socket
  security.jail.allow_raw_sockets=1  # Jail kann raw-socket
  </code>
  </code>
-->
== Siehe weiter ==


== Siehe auch ==
* [[Server/SRS1337/Ports | Ports auf dem Hauptsystem srs1337]]
* [[Server/SRS1337/Ports | Ports auf dem Hauptsystem srs1337]]
* [[Server/SRS1337/Jails | Jails auf dem Hauptsystem srs1337]]
* [[Server/SRS1337/Jails | Jails auf dem Hauptsystem srs1337]]
* [[Server/dicke Berta]]


[[Kategorie:Server]]
[[Kategorie:Server]]
[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:Rechentechnik]]
[[Kategorie:Rechentechnik]]

Aktuelle Version vom 26. April 2015, 10:22 Uhr

srs1337 ist die Bezeichnung für das System auf dem Server dicke Berta.

Die kursiv gekennzeichneten Teile des Inhaltes, sind variabel oder können hier nicht angegeben werden.

Installation[Bearbeiten]

PT und Frank Hebold orientierten sich ergänzend an der "Anleitung" FreeBSD 9 mit Root on ZFS.

Installation des Betriebssystems[Bearbeiten]

Starten mit dem Startmedium[Bearbeiten]

  • mit Speicherabbild für den USB-Stick

Einrichtung der Festplatten zur Installation des Betriebssystems[Bearbeiten]

Festplatten einrichten

gpart create -s gpt /dev/da0
gpart create -s gpt /dev/da1
gpart create -s gpt /dev/da2

Partitionierung der Festplatten zur Installation des Betriebssystems[Bearbeiten]

Festplatten partitionieren

gpart add -s 512k -t freebsd-boot da0
gpart add -s 512k -t freebsd-boot da1
gpart add -s 512k -t freebsd-boot da2
gpart add -s 3G -t freebsd-swap da0
gpart add -s 3G -t freebsd-swap da1
gpart add -s 3G -t freebsd-swap da2
gpart add -t freebsd-zfs da0
gpart add -t freebsd-zfs da1
gpart add -t freebsd-zfs da2

Bootloader zur Installation des Betriebssystems[Bearbeiten]

gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da2

Spiegeln des SWAP zur Installation des Betriebssystems[Bearbeiten]

SWAP spiegeln (Redundanz erzeugen)

gmirror label -v -b round-robin swap0 da0p2 da1p2 da2p2
gmirror load

Anlegen des Pools für ZFS zur Installation des Betriebssystems[Bearbeiten]

Pool für ZFS anlegen

zpool create storich mirror da0p3 da1p3 da2p3
zfs set mountpoint=/mnt storich
zpool export storich
zpool import -o cachefile=/var/tmp/zpool.cache storich
zfs set checksum=fletcher4 storich

Anlegen der Datasets von ZFS zur Installation des Betriebssystems[Bearbeiten]

Datasets von ZFS anlegen

zfs create -o compression=on -o exec=on -o setuid=off storich/tmp
chmod 1777 /mnt/tmp
zfs create storich/usr
zfs create storich/usr/home
cd /mnt/
ln -s /usr/home home
zfs create -o compression=lzjb -o setuid=off storich/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off storich/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off storich/usr/ports/packages
zfs create -o compression=off -o exec=off -o setuid=off storich/usr/src
zfs create storich/var
zfs create -o compression=off -o exec=off -o setuid=off storich/var/crash
zfs create -o exec=off -o setuid=off storich/var/empty
zfs create -o compression=lzjb -o exec=off -o setuid=off storich/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off storich/var/mail
zfs create -o exec=off -o setuid=off storich/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off storich/var/tmp
chmod 1777 /mnt/var/tmp

Installation des Betriebssystems zur Installation des Betriebssystems[Bearbeiten]

Installation FreeBSD 9.X

tar -xf /usr/freebsd-dist/base.txz
tar -xf /usr/freebsd-dist/kernel.txz
tar -xf /usr/freebsd-dist/doc.txz
tar -xf /usr/freebsd-dist/lib32.txz
tar -xf /usr/freebsd-dist/ports.txz
tar -xf /usr/freebsd-dist/src.txz
zfs set readonly=on storich/var/empty

Konfiguration des FreeBSD nach der Installation des Betriebssystems[Bearbeiten]

Änderung des Rootverzeichnisses nach der Installation des Betriebssystems[Bearbeiten]

Änderung des Rootverzeichnisses

chroot /mnt

Setzen des Passwortes für root nach der Installation des Betriebssystems[Bearbeiten]

root-Passwort setzen

passwd

Anpassung zum Einhängen des SWAP-Mirror für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

SWAP beim Hochfahren einhängen

ee /etc/fstab


#Device			Mountpoint	FStype	Options	Dump	Pass#
/dev/mirror/swap0	none		swap	sw	0	0

Anpassung zur Aktivierung von ZFS für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

Aktivierung des ZFS

ee /etc/rc.conf


zfs_enable="YES"

Laden der benötigten Kernel-Module

ee /boot/loader.conf


zfs_load="YES"
vfs.root.mountfrom="zfs:storich"
geom_mirror_load="YES"

Anpassung zur Aktivierung der Netzwerkeinstellungen für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

Grundkonfiguration der Netzwerkeinstellungen

ee /etc/rc.conf


hostname="hostname der Maschine"
defaultrouter="IP des Defaultrouters"
ifconfig_bce0="IP der Maschine netmask 255.255.255.0"

Anpassung zur Festlegung der Dauer vom Bootscreen für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

Festlegung (Reduzierung) der Dauer vom Bootscreen

ee /boot/loader.conf


autoboot_delay="1"

Anpassung zur Festlegung der Zeitzone nach der Installation des Betriebssystems[Bearbeiten]

Änderung der Zeitzone

tzsetup


Europe
Germany

Abmelden aus dem Rootverzeichnisses nach der Installation des Betriebssystems[Bearbeiten]

exit


Kopieren der Informationen zum Pool für ZFS für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

Informationen zum Pool für ZFS kopieren (oder verschieben)

cp /var/tmp/zpool.cache /mnt/boot/zfs/

einmaliges Aushängen und Festlegung der zukünftige Einhängepunkte der Datasets von ZFS für jeden Boot-Vorgang nach der Installation des Betriebssystems[Bearbeiten]

Datasets von ZFS aushängen und zukünftige Einhängepunkte festlegen

cd /
zfs unmount -a
zfs set mountpoint=legacy storich
zfs set mountpoint=/tmp storich/tmp
zfs set mountpoint=/usr storich/usr
zfs set mountpoint=/var storich/var

Neustarten nach der Installation des Betriebssystems[Bearbeiten]

FERTIG! (Neustart!)

reboot

Anpassungen und Ergänzungen nach der Installation des Betriebssystems[Bearbeiten]

Anpassung zur Festlegung der Adressen für die Weiterleitung der Mails des Betriebssystems[Bearbeiten]

Erstellung und Weiterleitung von Adressen für Mails vom Betriebssystem

cd /etc/mail
ee alias
make aliases

Erstellung der Liste für Nameserver[Bearbeiten]

ee /etc/resolv.conf


domain domain.tld
nameserver "IP"
nameserver "IP"

Installation der Portscollection[Bearbeiten]

portsnap fetch extract

Bereitstellung von SSH[Bearbeiten]

Konfiguration von OpenSSH[Bearbeiten]
  • openssh
  • ssh auf anderen port legen
  • Vorschläge für sshd_config

ee /etc/ssh/sshd_config


VersionAddendum
Port $SSH_PORTNUMMER
ListenAddress $JAIL_IP
Protocol 2
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 1m
PermitRootLogin no
StrictModes yes
MaxAuthTries 4
MaxSessions 5
AllowUsers $DER_COOLE_LEUTE_CLUB
PermitEmptyPasswords no
X11Forwarding no
Banner none

  • immer schön manpage lesen und mit dem Feinkamm durchgehen
  • keys + passwörter zur Authentifizierung
  • in jails:ListenAddress 0.0.0.0
Aktivierung von OpenSSH für jeden Boot-Vorgang[Bearbeiten]

ee /etc/rc.conf


sshd_enable="YES"

Anpassung der Sicherheitseinstellungen[Bearbeiten]

Festlegung zur Automatisierung der Updates[Bearbeiten]
  • Automatische Portscollection updaten
  • Mailinfo zusenden zu
  • nicht aktuellen Ports
  • verbugten Ports

ee /etc/crontab


0	13	*	*	*	root	portsnap -I cron fetch && portsnap update && pkg_version -vIL=
0	14	*	*	*	root	portaudit -Fda
0	*/12	*	*	*	root	/usr/sbin/audit -n

Installation der Audit-Unterstützung[Bearbeiten]
  • auditd starten

/etc/rc.d/auditd start

Festlegen der Grundeinstellungen der Audit-Unterstützung[Bearbeiten]
  • flags setzen

ee /etc/security/audit_control


flags:lo,aa,ex

  • synchronize config:

audit -s

Anpassung zur Aktivierung der Audit-Unterstützung für jeden Boot-Vorgang[Bearbeiten]

ee /etc/rc.conf


# Audit Deamon aktivieren
auditd_enable="YES"

Installation des Paket Filters (PF) von OpenBSD und ALTQ[Bearbeiten]
  • Paketfilter starten

/etc/rc.d/pf start
/etc/rc.d/pflog start

Festlegen der Regeln für den Paket Filter[Bearbeiten]

ee /etc/pf.conf


### MAKROS
thishost  "$MAIN_IP"
# portsnap5 204.9.55.80
portsnap_freebsd  "{ 204.109.56.116 204.9.55.80 }"
# auditfile.tbz is beeing fetched from portaudit.freebsd.org
portaudit_freebsd  "69.147.83.36"
# dnsserver from resolv.conf
dnsserver  "{ 85.214.73.63 217.79.186.148 27.110.120.30 204.152.184.76 194.150$
### RULES
# default deny
block in all
block out all
# lokales interface darf ohne einschränkungen
pass in quick on lo0 all
pass out quick on lo0 all
## HOST
# allow ssh
pass in on bce0 proto tcp from any to $thishost port $SSH_PORT
pass out on bce0 proto tcp from $thishost port $SSH_PORT to any
## allow outbound icmp
# echo request
pass out inet proto icmp icmp-type 8 code 0 keep state
# echo reply
pass in inet proto icmp icmp-type 0 code 0 keep state
# destination unreachable
pass in inet proto icmp icmp-type 3 keep state
# allow DNS lookups {also via tcp?} port 53
# what about traversal???
pass out on bce0 proto udp from $thishost to $dnsserver port 53 keep state
# allow portsnap to fetch from freebsd.org (ports?)
pass in on bce0 proto tcp from $portsnap_freebsd to $thishost
pass out on bce0 proto tcp from $thishost to $portsnap_freebsd
# allow portaudit to fetch auditfile.tbz via http
pass in on bce0 proto tcp from $portaudit_freebsd port 80 to $thishost
pass out on bce0 proto tcp from $thishost to $portaudit_freebsd port 80
## JAIL Beispiel (uneingeschränkt -> dumme Idee, ports dienstabhänging freigeben
pass in on bce0 proto { tcp udp icmp } from any to $jail_srs14
pass out on bce0 proto { tcp udp icmp } from $jail_srs14 to any

  • Regeln überprüfen

pfctl -vnf /etc/pf.conf

  • alte Regeln durch die neuen Regeln ersetzen

pfctl -Fa -f /etc/pf.conf

Anpassung zur Aktivierung des Paket Filters für jeden Boot-Vorgang[Bearbeiten]

ee /etc/rc.conf


# Packet Filter aktivieren
pf_enable="YES"
# auf die erstellte Datei mit den Regeln für den Packet Filter verweisen
pf_rules="/etc/pf.conf"
# Log für den Packet Filterlog aktivieren
pflog_enable="YES"

Anpassung zur Aktivierung des Durchroutens aller Jails für jeden Boot-Vorgang[Bearbeiten]

ee /etc/rc.conf


# host system is gateway for jails
gateway_enable="YES"

Anpassung zur Aktivierung der Systemlog-Informationen für jeden Boot-Vorgang[Bearbeiten]

ee /etc/rc.conf


# syslogd an Hauptmaschine binden
syslogd_flags="-b $MAIN_IP"

Anpassung zur Sprache und Zeichensatz[Bearbeiten]

ee /etc/login.conf


# deutsch einstellen
default:\

   :charset=ISO-8859-1:\
   :lang=de_DE.ISO8859-1:\


cap_mkdb /etc/login.conf

Zusammenfassung der Einträge und Anpassung nach der Installation des Betriebssystems[Bearbeiten]

Hinweis
Bei einer Mehrzahl von Einträgen sollte die Datei hier als Zusammenfassung abgebildet werden.
Bei einmaligen Einträgen kann auf den entsprechende Abschnitt verwiesen werden.

/mnt/etc/fstab[Bearbeiten]

siehe #Anpassung zum Einhängen des SWAP-Mirror für jeden Boot-Vorgang nach der Installation des Betriebssystems

/boot/loader.conf[Bearbeiten]


zfs_load="YES"
vfs.root.mountfrom="zfs:storich"
geom_mirror_load="YES"

autoboot_delay="1"

/etc/rc.conf[Bearbeiten]


zfs_enable="YES"
keymap="german.iso"
hostname="Name des Servers"
defaultrouter="IP(v4)-Adresse des nächsten Routers (im C-Netz)"
ifconfig_em0="IP(v4)-Adresse des Servers (host) netmask 255.255.255.0"
sshd_enable="YES"
# Audit Deamon aktivieren 
auditd_enable="YES"
# Packetfilter aktivieren 
pf_enable="YES"
# Packetfilter Datei 
pf_rules="/etc/pf.conf"
# Packetfilterlog aktivieren 
pflog_enable="YES"
# host system is gateway for jails 
gateway_enable="YES"

# syslogd an Hauptmaschine binden 
syslogd_flags="-b IP(v4)-Adresse des Servers (host)"


#Aktivierung des IPv6 Supports
ipv6_enable="YES"
ipv6_defaultrouter="<IPv6-Adresse des nächsten Routers>"
ipv6_ifconfig_em0="<IPv6-Adresse des Servers (host)> prefixlen 128"
# host system is gateway for jails with ipv6
ipv6_gateway_enable="YES"

/etc/resolv.conf[Bearbeiten]

siehe #Erstellung der Liste für Nameserver

  • Aus Sicherheitsgründen wurde hier nicht der orginale Dateiinalt hingeschrieben

/etc/ssh/sshd_config[Bearbeiten]

siehe #Konfiguration von OpenSSH

/etc/crontab[Bearbeiten]

siehe #Festlegung zur Automatisierung der Updates

/etc/security/audit_control[Bearbeiten]

sieh #Festlegen der Grundeinstellungen der Audit-Unterstützung

/etc/pf.conf[Bearbeiten]

siehe #Festlegen der Regeln für den Paket Filter

  • Aus Sicherheitsgründen wurde hier nicht der orginale Dateiinalt hingeschrieben

/etc/login.conf[Bearbeiten]

siehe #Anpassung zur Sprache und Zeichensatz

weitere Konfigurationen[Bearbeiten]

loader.conf[Bearbeiten]

  • für den apache Eintrag anlegen

accf_data_load="YES" # Wait for data accept filter
accf_http_load="YES" # Wait for full HTTP request accept filter

sysctl.conf[Bearbeiten]


kern.ipc.somaxconn=1024  #mögliche Verbindungen erhöhen
security.jail.allow_raw_sockets=1   # Jail kann raw-socket

Siehe auch[Bearbeiten]