Bearbeiten von „StuRa:Server/FreeBSD

Zur Navigation springen Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
Dies ist die Dokumentation für den Betrieb der [[Server]] mit [[FreeBSD]].
Dies ist die [[Server/Dokumentation | Dokumentation für den Betrieb der]] [[Server]] mit [[FreeBSD]].
{{Achtung|
Diese Artikel bezieht sich auf den Betrieb von [[srs2342]] mindestens einschließlich 2015.<br />Er gilt nicht für den Betrieb von [[srs1337]], wo seit 2015 [[FreeNAS]] betrieben wird und daher durch die [[Intern:Server/Aktualisierung/2015|Aktualisierung]] wesentliche Änderungen vorgenommen wurden.
}}


== Sicherheit ==
= Sicherheit =
; Ports aktuell halten:
* ports aktuell halten:
: <code>portsnap /var/db/portsnap/INDEX</code>
** portsnap /var/db/portsnap/INDEX
: <code>/etc/crontab</code> anpassen
** edit /etc/crontab:
<pre>
<code>0 13 * * * root portsnap -I cron fetch && portsnap update && pkg_version -vIL=</code>
0 13 * * * root portsnap -I cron fetch && portsnap update && pkg_version -vIL=
* tägliches Audit der (installierten) Ports:
</pre>
** portaudit /var/db/portaudit/auditfile.tbz
; tägliches Audit der (installierten) Ports:
** edit /etc/crontab:
: <code>portaudit /var/db/portaudit/auditfile.tbz</code>
<code>0 14 * * * root portaudit -Fda</code>
: <code>/etc/crontab</code> anpassen
<pre>
0 14 * * * root portaudit -Fda
</pre>
 
; sich (Mensch) auf dem aktuellen Stand halten:
* [http://www.vuxml.org/freebsd/ VuXML] abonnieren
* [http://www.vuxml.org/freebsd/ VuXML] abonnieren
* [http://security.freebsd.org/ http://security.freebsd.org/] mal durchlesen
* [http://security.freebsd.org/ http://security.freebsd.org/] mal durchlesen
* [http://nvd.nist.gov/ National Vulnerability Database] [http://nvd.nist.gov/download/nvd-rss.xml (NVD RSS)] abonnieren
* [http://nvd.nist.gov/ National Vulnerability Database] [http://nvd.nist.gov/download/nvd-rss.xml (NVD RSS)] abonnieren


=== Paketfilter ===
== Paketfilter ==
; [http://www.openbsd.org/faq/pf/ OpenBSD pf]
* [http://www.openbsd.org/faq/pf/ OpenBSD pf]
* Paketfilter einrichten
* in /etc/rc.conf:
*: <code>/etc/rc.conf</code> anpassen
pf_enable="YES"
<pre>
pf_rules="/etc/pf.conf"
pf_enable="YES"
pflog_enable="YES"
pf_rules="/etc/pf.conf"
# host system is gateway for jails
pflog_enable="YES"
gateway_enable="YES"
# host system is gateway for jails
gateway_enable="YES"
</pre>
* syslogd an Hauptmaschine binden
* syslogd an Hauptmaschine binden
*: <code>/etc/rc.conf</code> anpassen
** in /etc/rc.conf: (evtl. -ss flag?)
<pre>
<code>syslogd_flags="-b $MAIN_IP"</code>
syslogd_flags="-b $MAIN_IP"
</pre>
*:: (Eventuell) funktioniert auch eine andere (alternative) Möglichkeit.
<pre>
syslogd_flags="-ss"
</pre>
* Paketfilter starten:
* Paketfilter starten:
*: <code>/etc/rc.d/pf start</code>
<code># /etc/rc.d/pf start
*: <code>/etc/rc.d/pflog start</code>
# /etc/rc.d/pflog start</code>
* <code>/etc/pf.conf</code> (Konfigurationsdatei für den Paketfilter) anpassen
* pf.config: (check via <code>pfctl -vnf /etc/pf.conf</code>) (inzwischen veraltet)
<pre>
### MAKROS
### MAKROS
thishost = "$MAIN_IP"
thishost = "$MAIN_IP"
# portsnap5 204.9.55.80
# portsnap5 204.9.55.80
portsnap_freebsd = "{ 204.109.56.116 204.9.55.80 }"
portsnap_freebsd = "{ 204.109.56.116 204.9.55.80 }"
# auditfile.tbz is beeing fetched from portaudit.freebsd.org
# auditfile.tbz is beeing fetched from portaudit.freebsd.org
portaudit_freebsd = "69.147.83.36"
portaudit_freebsd = "69.147.83.36"
# dnsserver from resolv.conf
# dnsserver from resolv.conf
dnsserver = "{ 85.214.73.63 217.79.186.148 27.110.120.30 204.152.184.76 194.150$
dnsserver = "{ 85.214.73.63 217.79.186.148 27.110.120.30 204.152.184.76 194.150$
### RULES
### RULES
# default deny
# default deny
block in all
block in all
block out all
block out all
# lokales interface darf ohne einschränkungen
# lokales interface darf ohne einschränkungen
pass in quick on lo0 all
pass in quick on lo0 all
pass out quick on lo0 all
pass out quick on lo0 all
## HOST
## HOST
# allow ssh
# allow ssh
pass in on bce0 proto tcp from any to $thishost port $SSH_PORT
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
pass out on bce0 proto tcp from $thishost port $SSH_PORT to any
## allow outbound icmp
## allow outbound icmp
# echo request
# echo request
pass out inet proto icmp icmp-type 8 code 0 keep state
pass out inet proto icmp icmp-type 8 code 0 keep state
# echo reply
# echo reply
pass in inet proto icmp icmp-type 0 code 0 keep state
pass in inet proto icmp icmp-type 0 code 0 keep state
# destination unreachable
# destination unreachable
pass in inet proto icmp icmp-type 3 keep state
pass in inet proto icmp icmp-type 3 keep state
# allow DNS lookups {also via tcp?} port 53
# allow DNS lookups {also via tcp?} port 53
# what about traversal???
# what about traversal???
pass out on bce0 proto udp from $thishost to $dnsserver port 53 keep state
pass out on bce0 proto udp from $thishost to $dnsserver port 53 keep state
# allow portsnap to fetch from freebsd.org (ports?)
# allow portsnap to fetch from freebsd.org (ports?)
pass in on bce0 proto tcp from $portsnap_freebsd to $thishost
pass in on bce0 proto tcp from $portsnap_freebsd to $thishost
pass out on bce0 proto tcp from $thishost to $portsnap_freebsd
pass out on bce0 proto tcp from $thishost to $portsnap_freebsd
# allow portaudit to fetch auditfile.tbz via http
# allow portaudit to fetch auditfile.tbz via http
pass in on bce0 proto tcp from $portaudit_freebsd port 80 to $thishost
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
pass out on bce0 proto tcp from $thishost to $portaudit_freebsd port 80
## JAIL Beispiel (uneingeschränkt -> '''dumme Idee''', ports dienstabhänging freigeben
## JAIL Beispiel (uneingeschränkt -> '''dumme Idee''', ports dienstabhänging freigeben
pass in on bce0 proto { tcp udp icmp } from any to $jail_srs14
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
pass out on bce0 proto { tcp udp icmp } from $jail_srs14 to any
 
</pre>
* regeln überprüfen: <code>pfctl -vnf /etc/pf.conf</code>
** prüfen (lassen) der eingetragene Regeln (aka "sanity check") (inzwischen veraltet)
**: <code>pfctl -vnf /etc/pf.conf</code>


==== Paketfilter bedienen ====
=== Paketfilter bedienen ===
* anschalten
* anschalten: <code>pfctl -e</code>
*: <code>pfctl -e</code>
* ausschalten: <code>pfctl -d</code>
* ausschalten
* sanity check: <code>pfctl -vnf /etc/pf.conf</code>
*: <code>pfctl -d</code>
* alte Regeln ins Klo und neue in die Auslage: <code>pfctl -Fa -f /etc/pf.conf</code>
* sanity check
*: <code>pfctl -vnf /etc/pf.conf</code>
* alte Regeln ins Klo und neue Regeln in die Auslage
*: <code>pfctl -Fa -f /etc/pf.conf</code>


==== Paketfilter Weblinks ====
=== Verweise ===
* [[FreeBSD-Handbuch:firewalls.html | Das FreeBSD-Handbuch: Kapitel 31. Firewalls]]
** [[FreeBSD-Handbuch:firewalls-pf.html | Das FreeBSD-Handbuch: 31.4. Paket Filter (PF) von OpenBSD und ALTQ]]
* [http://openbsd.org/faq/pf/de/index.html PF: Der OpenBSD Packet Filter]
* [http://openbsd.org/faq/pf/de/index.html PF: Der OpenBSD Packet Filter]
* [http://www.amazon.com/Building-Firewalls-OpenBSD-PF-2nd/dp/8391665119 Jacek Artymiak - Building Firewalls with OpenBSD and PF, 2nd edition]
* [http://www.amazon.com/Building-Firewalls-OpenBSD-PF-2nd/dp/8391665119 Jacek Artymiak - Building Firewalls with OpenBSD and PF, 2nd edition]
* [http://www.nostarch.com/pf2.htm Peter N. M. Hansteen: The Book of PF, 2nd Edition - A No-Nonsense Guide to the OpenBSD Firewall]
* [http://www.nostarch.com/pf2.htm Peter N. M. Hansteen: The Book of PF, 2nd Edition - A No-Nonsense Guide to the OpenBSD Firewall]


=== FreeBSD audit ===
== FreeBSD audit ==
* faschistoides Logging von Systemcalls
* faschistoides Logging von Systemcalls
* präventiv wirkungslos, aber in der post-mortem Analyse extrem hilfreich
* präventiv wirkungslos, aber in der post-mortem Analyse extrem hilfreich
* [[FreeBSD-Handbuch:audit.html | Das FreeBSD-Handbuch: Kapitel 17. Security Event Auditing]]
* [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/audit.html FreeBSD Kapitel 17. Security Event Auditing]
* <code>/etc/rc.conf</code> anpassen
* in /etc/rc.conf
<pre>
<code> auditd_enable="YES" </code>
auditd_enable="YES"
* start auditd:
</pre>
** <code># /etc/rc.d/auditd start</code>
* auditd starten:
* in /etc/security/audit_control:
*: <code>/etc/rc.d/auditd start</code>
flags:lo,aa,ex
* <code>/etc/security/audit_control</code> anpassen
policy:cnt,argv
<pre>
synchronize config: audit -s
flags:lo,aa,ex
* cronjob für die logs: /etc/crontab
policy:cnt,argv
<code>0    */12      *      *      *      root    /usr/sbin/audit -n</code>
synchronize config: audit -s
</pre>
* cronjob für die logs
*: <code>/etc/crontab</code> anpassen
<pre>
0    */12      *      *      *      root    /usr/sbin/audit -n
</pre>


== [[port:sudo|sudo]] ==
= Jails =
Jails dienen der Virtualisierung von Betriebssysteminstanzen. Näheres dazu im [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/jails.html FreeBSD Handbuch Kapitel 15 - Jails].


===== <code>sudo</code> höchstens sorgfältig verwenden =====
== Jail Verzeichnis mit ZFS anlegen ==
Durch den Mainstream wird <code>sudo</code> häufig inflationär und grob verwendet. Es gibt ja aber Tutorials <!--<ref>-->[https://www.bsdcan.org/2014/schedule/attachments/283_2014-04-29%20sudo%20tutorial%20-%20bsdcan%202014.pdf]<!--</ref>-->. Anwendungsfälle für <code>sudo</code>, die eine gewisse Absicht haben, sollten entsprechend dokumentiert sein.


=== Rechenzentrum ===
*beim erstenmal


* Port 25 geschlossen
<code>
* Port 135 geschlossen
# zfs create zpool/jails
* Port 137-139 geschlossen
# zfs set mountpoint=/usr/home/jails zpool/jails
</code>


== Jails ==
*ansonsten reicht es
Jails dienen der Virtualisierung von Betriebssysteminstanzen. Näheres dazu im [[FreeBSD-Handbuch:jails.html | Das FreeBSD Handbuch: Kapitel 15 - Jails].


=== Jail Verzeichnis mit ZFS anlegen ===
<code>
* beim ersten Mal
# zfs create zpool/jails/$JAILNAME
*: <code>zfs create zpool/jails</code>
</code>
*: <code>zfs set mountpoint=/usr/home/jails zpool/jails</code>


* ansonsten reicht es
== Anlegen eines Jails ==
*: <code>zfs create zpool/jails/$JAILNAME</code>


=== Anlegen einer Jail ===
* <code># cd /usr/src</code>
; auf dem Hauptsystem
* evtl. erst Sourcen installieren: sysinstall-> configure -> distributions
*: <code>cd /usr/src</code>
* evtl. <code># make buildworld</code>
* falls notwendig, müssen erst Sources installiert werden
* Jails liegen unter /home/jails/$JAILNAME
*: <code>sysinstall</code>
* System für jail bauen:
*:* <code>Configure</code> wählen
<code>
*:* <code>Distributions</code> wählen
# make installworld DESTDIR=/home/jails/$JAILNAME
*:* <code>Sources</code> anwählen
# make distribution DESTDIR=/home/jails/$JAILNAME
* falls notwendig, müssen die Systemanwendungen neu erstellt werden
</code>
*: <code>make buildworld</code>
* device nodes ins jail packen
* Jails liegen unter <code>/home/jails/''$JAILNAME''</code>
** <code># mount -t devfs devfs /home/jails/$JAILNAME/dev</code>
* System für Jail bauen:
* resolv.conf vom Host kopieren
*: <code>make installworld DESTDIR=/home/jails/''$JAILNAME''</code>
** <code># cp /etc/resolv.conf /home/jails/$JAILNAME/etc/resolv.conf</code>
*: <code>make distribution DESTDIR=/home/jails/''$JAILNAME''</code>
* rc.conf editieren:
* device nodes ins Jail packen
jail_enable="YES"
*: <code>mount -t devfs devfs /home/jails/''$JAILNAME''/dev</code>
jail_list="$JAILNAME"
* <code>/etc/resolv.conf</code> kopieren
ifconfig_bce0_alias0="$JAIL_IP netmask 255.255.255.0"
*: <code>cp /etc/resolv.conf /home/jails/''$JAILNAME''/etc/resolv.conf</code>
jail_$JAILNAME_rootdir="/usr/home/jails/$JAILNAME"
* Vermerk (der Existenz) der Jails im Hauptsystem
jail_$JAILNAME_hostname="$JAILNAME.stura.htw-dresden.de"
** <code>/etc/rc.conf</code> anpassen
jail_$JAILNAME_ip="$JAIL_IP"
<pre>
jail_$JAILNAME_devfs_enable="YES"
jail_enable="YES"
jail_$JAILNAME_devfs_ruleset="devfsrules_jail"
jail_list="$JAILNAME"
* jail starten  
ifconfig_bce0_alias0="$JAIL_IP netmask 255.255.255.0"
** <code># /etc/rc.d/jail start</code>
jail_$JAILNAME_rootdir="/path/to/jails/$JAILNAME"
* Prozess im jail starten  
jail_$JAILNAME_hostname="$JAILNAME.domain.tld"
** <code># jexec $JAIL_ID tcsh</code>
jail_$JAILNAME_ip="$JAIL_IP"
** $JAIL_ID ermitteln mit
jail_$JAILNAME_devfs_enable="YES"
*** <code># jls</code>
jail_$JAILNAME_devfs_ruleset="devfsrules_jail"
</pre>
* Jail starten
*: <code>/etc/rc.d/jail start</code>
*:* Es wurde eine Jail gestartete, die eine ''$JAIL_ID'' erzeugte.
*:* Die ''$JAIL_ID'' kann ermittelt werden.
*:*: <code>jls</code>
* Shell (tcsh), als Prozess, in der Jail starten
*: <code>jexec ''$JAIL_ID'' tcsh</code>
; in der Jail
* Defaultrouting einstellen
** <code>/etc/rc.conf</code> anpassen
**: ''$IP'' ist dabei eine ''IP'' oder ein ''interfacename''.
<pre>
defaultrouting="<$IP:network>"
</pre>
* portscollection installieren
* portscollection installieren
** <code>portsnap fetch extract </code>
** <code># portsnap fetch extract </code>
* portscollection updaten
* portscollection updaten
** <code>portsnap fetch update </code>
** <code># portsnap fetch update </code>
* falls noch notwendig, ssh (erstmal einmalig) anschalten
* evtl. ssh anschalten (in rc.conf)
*: <code>service sshd onestart</code>
<code>sshd_enable="YES"</code>
* falls noch notwendig, ssh (dauerhaft) anschalten
* /etc/host
** <code>/ect/rc.conf</code> anpassen
<code> #.#.#.#  JAILNAME.stura.htw-dresden.de </code>
<pre>
sshd_enable="YES"
</pre>
*
** <code>/etc/hosts</code> anpassen
<pre>
#.#.#.#  $JAILNAME.stura.htw-dresden.de
</pre>


=== Löschen eines Jails ===
== Löschen eines Jails ==
; auf dem Hauptsystem
* ins jailroot wechseln (/home/jails/$JAILNAME)
* in (Root-)Verzeichnis der Jail wechseln
<code>
*: <code>cd /home/jails/''$JAILNAME''</code>
# chflags -R noschg *
* alles in der Jail '''kaputt''' machen
# rm -rf *
*: <code>chflags -R noschg *</code>
# cd .. && rm -r $JAILNAME
*: <code>rm -rf *</code>
</code>
* Jail '''kaputt''' machen
** ohne ZFS
**: <code>cd .. && rm -r ''$JAILNAME''</code>
** mit ZFS
**: <code>cd .. && zfs destroy tank/PATH/''$JAILNAME''</code>


=== Tricks, Probleme etc. ===
== Tricks, Probleme etc. ==
* sich evtl. [http://svnweb.freebsd.org/ports/head/sysutils/ezjail/ ezjail] mal anschauen (war damals kaputt)
* sich evtl. ezjail mal anschauen (war damals kaputt)
* ping aus jails heraus erlauben
* ping aus jails heraus erlauben
** host: allow_raw_socket=1 via
** host: allow_raw_socket=1 via
**: <code>sysctl security.jail.allow_raw_sockets=1</code>
*** <code># sysctl security.jail.allow_raw_sockets=1</code>
*** bzw. in <code>/etc/sysctl.conf</code> setzen
*** bzw. in /etc/sysctl.conf setzen
*** [http://www.cyberciti.biz/faq/freebsd-jail-allow-ping-tracerouter-commands/ Quelle]
*** [http://www.cyberciti.biz/faq/freebsd-jail-allow-ping-tracerouter-commands/ Quelle]
* ssh
* ssh:
** <code>etc/ssh/sshd_config</code> anpassen
** etc/ssh/sshd_config:
<pre>
<code>ListenAddress 0.0.0.0</code>
ListenAddress 0.0.0.0
</pre>
* [http://www.freebsd.org/cgi/url.cgi?ports/ports-mgmt/jailaudit/pkg-descr jailaudit]
* [http://www.freebsd.org/cgi/url.cgi?ports/ports-mgmt/jailaudit/pkg-descr jailaudit]
* Apache [http://www.freebsd.org/cgi/url.cgi?ports/www/mod_jail/pkg-descr mod_jail] als Alternative zu mod_chroot
* Apache [http://www.freebsd.org/cgi/url.cgi?ports/www/mod_jail/pkg-descr mod_jail] als Alternative zu mod_chroot
Zeile 243: Zeile 177:
** [http://wiki.freebsd.org/Image/Linux/CentOS55 CentOS]
** [http://wiki.freebsd.org/Image/Linux/CentOS55 CentOS]


== ssh ==
= ssh =
; [http://openssh.com/ openssh]
* [http://openssh.com/ openssh]
* ssh auf anderen Port legen
* ssh auf anderen port legen
* Vorschläge  
* Vorschläge für /etc/ssh/sshd_config:
** <code>/etc/ssh/sshd_config</code> anpassen
<code>
<pre>
VersionAddendum
VersionAddendum
Port $SSH_PORTNUMMER
Port $SSH_PORTNUMMER
ListenAddress $JAIL_IP
ListenAddress $JAIL_IP
Protocol 2
Protocol 2
SyslogFacility AUTH
SyslogFacility AUTH
LogLevel INFO
LogLevel INFO
LoginGraceTime 1m
LoginGraceTime 1m
PermitRootLogin no
PermitRootLogin no
StrictModes yes
StrictModes yes
MaxAuthTries 4
MaxAuthTries 4
MaxSessions 5
MaxSessions 5
AllowUsers $DER_COOLE_LEUTE_CLUB
AllowUsers $DER_COOLE_LEUTE_CLUB #einzelne user nur mit leerzeichen trennen
PermitEmptyPasswords no
PermitEmptyPasswords no
X11Forwarding no
X11Forwarding no
Banner none
Banner none
</code>
</pre>
* immer schön manpage lesen und mit dem Feinkamm durchgehen
* immer schön manpage [[freebsd-man:ssh|ssh]] (und ähnliche [[man:ssh]]) lesen und mit dem Feinkamm durchgehen
* keys + passwörter zur Authentifizierung
* keys + Passwörter zur Authentifizierung
* in jails:<code>ListenAddress 0.0.0.0</code>
* in Jails:
** <code>/etc/ssh/sshd_config</code> anpassen
<pre>
ListenAddress 0.0.0.0
</pre>
 
==== ssh Weblinks ====
* [http://openssh.com/ Homepage OpenSSH] <small>[http://openssh.com/de/index.html (deutschsprachig)</small>]
* [[FreeBSD-Handbuch:openssh.html | Das FreeBSD-Handbuch: 15.10. OpenSSH]]


== Email ==
= Email =
* MTA: [http://www.postfix.org/ postfix]
* MTA: [http://www.postfix.org/ postfix]
* MDA: [http://www.courier-mta.org/maildrop/ maildrop]
* MDA: [http://www.courier-mta.org/maildrop/ maildrop]
Zeile 310: Zeile 235:
  set mime_forward_rest=yes
  set mime_forward_rest=yes


=== MTA: postfix ===
 
== MTA: postfix ==
* in the email jail
* in the email jail
* <code># cd /usr/ports/mail/postfix</code>
* <code># cd /usr/ports/mail/postfix</code>
Zeile 331: Zeile 257:
  mail_spool_directory = /var/spool/mail
  mail_spool_directory = /var/spool/mail
  relay_domains = stura.htw-dresden.de
  relay_domains = stura.htw-dresden.de
smtpd_sender_restrictions = reject_unknown_sender_domain,
        reject_non_fqdn_sender
  smtpd_recipient_restrictions = reject_invalid_hostname,
  smtpd_recipient_restrictions = reject_invalid_hostname,
         reject_unknown_recipient_domain,
         reject_unknown_recipient_domain,
Zeile 343: Zeile 267:
  smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net
  smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net


==== Links ====
== IMAP-Server dovecot ==
* [http://www.postfix.org/ The Postfix Home Page]
* [http://chains.ch/docs/postfix-UCE-HOWTO-de.html Postfix UCE HOWTO] (Spamkontrolle)
 
=== IMAP-Server dovecot ===
* dovecot
* dovecot
** optionen: kqueue, ssl, managesieve, mysql
** optionen: kqueue, ssl, managesieve, mysql
Zeile 372: Zeile 292:
* '''Krypto drankleben (imap -> imaps, pop3 -> pop3s)'''
* '''Krypto drankleben (imap -> imaps, pop3 -> pop3s)'''


=== MDA: maildrop ===
== MDA: maildrop ==
* maildir in users homeverzeichnis anlegen
* maildir in users homeverzeichnis anlegen
  maildirmake Mail
  maildirmake Mail
* im homeverzeichnis die Datei .mailfilter anlegen:
* im homeverzeichnis die Datei .mailtiler anlegen:
  MAILBOX="$HOME/Mail"
  MAILBOX="$HOME/Mail"
  DEFAULT="$MAILBOX"
  DEFAULT="$MAILBOX"
Zeile 382: Zeile 302:
  mailbox_command = /usr/local/bin/maildrop -d ${USER}
  mailbox_command = /usr/local/bin/maildrop -d ${USER}


=== Tricks etc. ===
== Tricks etc. ==
* alias-Adressen anlegen
* alias-Adressen anlegen
** edit: /usr/local/etc/postfix/main.cf:
** edit: /usr/local/etc/postfix/main.cf:
Zeile 404: Zeile 324:
  # .
  # .
  # QUIT</code>
  # QUIT</code>
* SMTP über mehrere eMails testen:
<code>
# num=0
# for ABSENDER in <user>@stura.htw-dresden.de  noreplay@stura.htw-dresden.de test@stura.htw-dresden.de; do
# ABSENDERDOMAIN=`echo "${ABSENDER#*@}"`
# for EMPFAENGER in test@stura.htw-dresden.de; do
# num=$((num + 1))
# nc $JAIL_IP 25
# HELO $ABSENDERDOMAIN
# MAIL FROM:<$ABSENDER>
# RCPT TO:<$EMPFAENGER>
# DATA
# From: <$ABSENDER>
# To: <$EMPFAENGER>
# Subject: TEST$num
# Dies ist die Testmail.
# Nummer $num
# von    $ABSENDER
# ueber  $ABSENDERDOMAIN
# an    $EMPFAENGER
# .
# QUIT
# done
# done
</code>


== Plone ==
= Plone =
* JoSch damals gebaut, zwischenzeitlich grundsaniert
* JoSch damals gebaut, zwischenzeitlich grundsaniert
* [http://www.freebsdforums.org/how-to-install-apache-for-freebsd/ Apache] installiert
* [http://www.freebsdforums.org/how-to-install-apache-for-freebsd/ Apache] installiert
Zeile 442: Zeile 337:
* [http://plone.org/products/plone/releases http://plone.org/documentation/kb/freebsdploneapache/preparefreebsd]
* [http://plone.org/products/plone/releases http://plone.org/documentation/kb/freebsdploneapache/preparefreebsd]


== [[freebsd-handbuch:updating-upgrading.html | FreeBSD aktualisieren]] ==
= DNS =
 
=== [[FreeBSD-Handbuch:updating-upgrading-freebsdupdate.html | Aktualisierungen an Haupt- und Unterversionen]] ===
 
Dieser Prozess entfernt alte Objekt-Dateien und Bibliotheken, was dazu führt, dass die meisten Anwendungen von Drittherstellern nicht mehr funktionieren. Es wird empfohlen, dass alle installierten Ports entweder entfernt und neu installiert oder zu einem späteren Zeitpunkt mittels ports-mgmt/portupgrade aktualisiert werden. Die meisten Anwender werden wahrscheinlich einen Testlauf mittels des folgenden Kommandos durchführen wollen:
 
: <code>portupgrade -af</code>
 
Dies sorgt dafür, dass alles korrekt neu installiert wird. Beachten Sie, dass das Setzen der BATCH-Umgebungsvariable auf yes während dieses Prozesses auf jede Eingabe mit ja antwortet, was es nicht mehr notwendig macht, manuell eingreifen zu müssen.
 
; weiter Informationen
: [[FreeBSD-Handbuch:updating-upgrading-freebsdupdate.html | Das FreeBSD-Handbuch: 25.2.3. Aktualisierungen an Haupt- und Unterversionen]]
 
== DNS ==
* genutzt werden DNS Server des [https://www.foebud.org/ FoeBuD] und des CCC
* genutzt werden DNS Server des [https://www.foebud.org/ FoeBuD] und des CCC
* zusätzlich (für [http://www.opennicproject.org/ OpenNIC])
* zusätzlich (für [http://www.opennicproject.org/ OpenNIC])
Zeile 462: Zeile 343:
** NZ 27.110.120.30 ns1.nz.dns.opennic.glue Dean Gardiner yes (24 hrs)
** NZ 27.110.120.30 ns1.nz.dns.opennic.glue Dean Gardiner yes (24 hrs)


== Tipps, Tricks etc. ==
= Tipps, Tricks etc. =
* die Änderungen an Konfigurationsdateien (z.b. in /etc) via [http://git-scm.com/ git] tracken
* die Änderungen an Konfigurationsdateien (z.b. in /etc) via [http://git-scm.com/ git] tracken
* disk quotas für jails einrichten
* disk quotas für jails einrichten
Zeile 475: Zeile 356:
  # /etc/rc.d/netif restart && /etc/rc.d/routing restart
  # /etc/rc.d/netif restart && /etc/rc.d/routing restart


=== USB-Stick bauen ===
== USB-Stick bauen ==
* auf einem FreeBSD
* auf einem FreeBSD
* Image runterladen
* Image runterladen:
*:<code>wget ftp://ftp.de.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/9.2/FreeBSD-9.2-RELEASE-amd64-memstick.img</code>
wget ftp://ftp.de.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/8.2/FreeBSD-8.2-RELEASE-amd64-memstick.img
* Image auf Stick dumpen
* Image auf Stick dumpen
*:<code>dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=64k</code>
dd if=FreeBSD-8.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=64k
 
=== Troubelshooting ===
 
* In order to fix this, you should reboot from the installer CD, and choose the "Live CD" option. You first need to mount the zpool under /mnt. First list the available pools:
*:<code>zpool list</code>
*:
<pre>
no pools available
</pre>
* and
*:<code>zpool import</code>
<pre>
  pool: zroot
    id: 128742958409357345692345
state: ONLINE
action: The pool can be imported using its name of numeric identifier.
config:
        zroot      ONLINE
          ada1p2    ONLINE
</pre>
* Now import the zroot pool, and mount under <code>/mnt</code>:
*: <code>zpool import -R /mnt zroot</code>
 
==== System neubauen ====
* Von Live-CD oder stick booten!
* System unter <code>/mnt</code> einmounten (vollständig, also '''alle'' datasets)!
*:<code>zpool import</code>
*:<code>zpool import -R /mnt zroot</code>
* Mit nullfs mounten!
** <code>/mnt/usr/obj</code> an <code>/usr/obj</code>
**:<code>mount_nullfs /mnt/usr/obj /usr/obj</code>
** <code>/mnt/usr/src</code> an <code>/usr/src/</code>
**:<code>mount_nullfs /mnt/usr/src /usr/src</code>
* Update!
*:<code>cd /usr/src</code>
*:<code>make installkernel DESTDIR=/mnt</code>
*:<code>make installworld DESTDIR=/mnt</code>
*:<code>mergemaster -UFi -D /mnt/</code>
* Neustaren!
*:<code>reboot</code>
 
==== Siehe auch fuer weitere Tips & Tricks ====
 
* http://daemon-notes.com/tips


== Server Setup Beschreibung ==
= Server Setup Beschreibung =
* /boot UFS, der Rest ZFS
* /boot UFS, der Rest ZFS
* irgendwas zum booten nehmen (USB, DVD) und ab in die Fixit shell
* irgendwas zum booten nehmen (USB, DVD) und ab in die Fixit shell
Zeile 544: Zeile 381:
  gpart set -a active -i 1 ad0
  gpart set -a active -i 1 ad0


== Siehe auch ==
= Verweise etc. =
* [[Server/Hauptsystem]]
* [http://www.freebsd.org FreeBSD.org] - [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/ Handbuch]
 
== Weblinks ==
* [http://www.freebsd.org FreeBSD.org] - [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/ Handbuch] (auch durch [[Spezial:Interwikitabelle]] per <nowiki>[[</nowiki><code>freebsd-handbuch:</code>Bezeichnung (URL) der Seite<nowiki>]]</nowiki> als Namensraum verfügbar)
* [http://www.freebsdwiki.net/ FreeBSD-wiki]
* [http://www.freebsdwiki.net/ FreeBSD-wiki]
* [http://cb.vu/unixtoolbox.xhtml Unix Toolbox]
* [http://cb.vu/unixtoolbox.xhtml Unix Toolbox]
* [http://openbsd.org/faq/pf/de/index.html PF: Der OpenBSD Packet Filter]
* [http://openbsd.org/faq/pf/de/index.html PF: Der OpenBSD Packet Filter]


=== Weblinks für Bücher ===
== Intern ==
* [[Server/Hauptsystem]]
 
== Bücher ==
* [http://nostarch.com/abs_bsd2.htm Absolute FreeBSD, 2nd Edition]
* [http://nostarch.com/abs_bsd2.htm Absolute FreeBSD, 2nd Edition]
* [http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470376031.html BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD]
* [http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470376031.html BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD]

Bitte beachte, dass alle Beiträge zu Wiki StuRa HTW Dresden von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter StuRa HTW Dresden:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Die folgende Vorlage wird auf dieser Seite verwendet: