Server/srs1337/2015: Unterschied zwischen den Versionen
K (→loader.conf) |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== 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 == | ||
Version vom 11. Mai 2014, 21:48 Uhr
Installation
PT und Frank Hebold orientierten sich ergänzend an der "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
- 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
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
- 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
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
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
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
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
Änderung des Rootverzeichnisses nach der Installation des Betriebssystems
Änderung des Rootverzeichnisses
- chroot /mnt
Setzen des Passwortes für root nach der Installation des Betriebssystems
root-Passwort setzen
- passwd
Anpassung zum Einhängen des SWAP-Mirror für jeden Boot-Vorgang nach der Installation des Betriebssystems
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
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
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
Festlegung (Reduzierung) der Dauer vom Bootscreen
- ee /boot/loader.conf
autoboot_delay="1"
Anpassung zur Festlegung der Zeitzone nach der Installation des Betriebssystems
Änderung der Zeitzone
- tzsetup
Europe
Germany
Abmelden aus dem Rootverzeichnisses nach der Installation des Betriebssystems
- exit
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)
- 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
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
FERTIG! (Neustart!)
- reboot
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
- cd /etc/mail
- ee alias
- make aliases
Erstellung der Liste für Nameserver
- ee /etc/resolv.conf
domain domain.tld
nameserver "IP"
nameserver "IP"
Installation der Portscollection
- portsnap fetch extract
Bereitstellung von SSH
Konfiguration von OpenSSH
- 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
- ee /etc/rc.conf
sshd_enable="YES"
Anpassung der Sicherheitseinstellungen
Festlegung zur Automatisierung der Updates
- 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
- auditd starten
- /etc/rc.d/auditd start
Festlegen der Grundeinstellungen der Audit-Unterstützung
- 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
- ee /etc/rc.conf
# Audit Deamon aktivieren
auditd_enable="YES"
Installation des Paket Filters (PF) von OpenBSD und ALTQ
- Paketfilter starten
- /etc/rc.d/pf start
- /etc/rc.d/pflog start
Festlegen der Regeln für den Paket Filter
- 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
- 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
- ee /etc/rc.conf
# host system is gateway for jails
gateway_enable="YES"
Anpassung zur Aktivierung der Systemlog-Informationen für jeden Boot-Vorgang
- ee /etc/rc.conf
# syslogd an Hauptmaschine binden
syslogd_flags="-b $MAIN_IP"
Anpassung zur Sprache und Zeichensatz
- 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
- 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
/boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:storich"
geom_mirror_load="YES"
autoboot_delay="1"
/etc/rc.conf
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)"
- Wenn IPv6 verfügbar ist, müssen noch weitere Anpassung für die Nutzung von IPv6 eingetragen werden.
- Hilfreiche Seite für das Tunneln von ipv6 zu 4 Adressen
#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
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
loader.conf
- 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
kern.ipc.somaxconn=1024 #mögliche Verbindungen erhöhen
security.jail.allow_raw_sockets=1 # Jail kann raw-socket