Host:Intern: Difference between revisions

From Chaosdorf Wiki
(orrrrr *entstaub*)
No edit summary
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Host
{{Host
|name=intern.chaosdorf.de
|name=intern.chaosdorf.de
|os=Debian Wheezy amd64
|os=Debian 11 amd64
|location={{H|vm}}
|location=Host:Vm
|purpose=Interne Dienste (mail (postfix/postgrey/spampd/dovecot/sympa/roundcube), internwiki, cgit...)
|purpose=Interne (Mail-)Dienste
|disk=20G
|disk=100GB
|ram=1G
|ram=4GiB
|admin_toolkit=No
|swap=5GB
|admin_toolkit=Yes
|ssh_root_keys=/var/cache/ssh/root
|ssh_root_keys=/var/cache/ssh/root
|ssh_pam=No
|ssh_pam=No
|ssh_userlogin=No
|ssh_userlogin=No
|admins=byte, derf
|admins=byte, derf, feuerrot
|netbox_url=https://netbox.chaosdorf.space/virtualization/virtual-machines/11/ VM-ID 11
}}
}}
= SSL =
== SSL ==


Zertifikat und Key für alle Dienste auf intern liegen unter /etc/ssl.
Zertifikate und Keys für alle Dienste auf intern liegen unter /etc/ssl.


= Website =
Die Zertifikate werden einmal monatlich per certbot (LetsEncrypt) erneuert. Über <tt>/etc/crontab</tt> wird dazu <tt>/usr/local/sbin/refresh-tls-cert</tt> aufgerufen, was per certbot das Zertifikat erneuert und apache2, dovecot und postfix neustartet. Wir nutzen einen nicht ganz üblichen certbot-Workflow mit von uns manuell erstellten CSRs, da wir so sowohl ECDSA- als auch RSA-Keys für unser Zertifikat nutzen können. Apache2 und Dovecot nutzen ECDSA, Postfix RSA.
 
== Website ==


vhosts liegen in /srv/www, vhost-configs in /etc/apache2/sites-enabled.
vhosts liegen in /srv/www, vhost-configs in /etc/apache2/sites-enabled.


== intern.chaosdorf.de ==
=== intern.chaosdorf.de ===


* HTTP-Requests werden auf HTTPS rewritten
* HTTP-Requests werden auf HTTPS rewritten
* Userauth via LDAP
* Userauth via LDAP
* ikiwiki auf /
* <del>roundcube auf /webmail</del>
* roundcube auf /webmail
* cgit auf /git
* sympa auf /sympa
* sympa auf /sympa


= Wikis =
== Git ==


Wikis sind in /etc/ikiwiki/wikilist gelistet und können mit ikiwiki-mass-rebuild automatisch neugebaut werden. Configs liegen ebenfalls in /etc/ikiwiki.
Das Repository für unser Intern-Wiki liegt in <tt>/srv/git/wiki</tt>. SSH-Zugriff ist über <tt>git@intern.chaosdorf.de:wiki</tt> mit allen im LDAP eingetragenen Keys möglich; zusätzlich ist der SSH-Key von {{H|Wikijs}} hier eingetragen. Wir nutzen hier bewusst nicht das GitLab, um die Komplexität (und damit Fehleranfälligkeit) für das Intern-Wiki niedrig zu halten.


== wiki ==
== gitolite ==


* /srv/ikiwiki/wiki ⇒ /srv/www/de.chaosdorf.intern
Legacy. Wird bald entfernt, {{H|Git}} macht das besser.
* git: wiki
* apache2: intern.chaosdorf.de
* mit CGI


= Git =
<del>Über <tt>gitolite@intern.chaosdorf.de</tt> können Git-Repositories für begrenzte Personenkreise (nicht automatisch alle Chaosdorfmitglieder) verwaltet werden. Um das Anlegen von Repos und Eintragen von SSH-Keys kümmert sich {{U|derf}}</del>.


Webview mit cgit unter <https://intern.chaosdorf.de/git>. SSH-Zugriff über git@chaosdorf.de:''reponame''.
== Munin ==


''Demnächst entfernen?''
HTML und Graphen sind komplett dynamisch, es gibt entspreche Aliases und Rewrites in der Apache2-config. Erreichbar unter <https://intern.chaosdorf.de/munin/>.


= Munin =
== Quota ==


Läuft alle 5 Minuten per Cron. HTML-Ausgabe erfolgt direkt nach /srv/www/de.chaosdorf.intern/munin, siehe <https://intern.chaosdorf.de/munin/>.
Ausschließlich via dovecot. Wir verwenden keine Diskquota auf Dateisystem-Ebene.


= Mail =
== Mail ==


Als MTA kommt Postfix zum Einsatz, für POP3S/IMAPS Dovecot.
Als MTA kommt Postfix zum Einsatz, für POP3S/IMAPS Dovecot.


== Postfix ==
=== Postfix ===


Die Config ist recht unspektakulär. Spam wird durch SpamPD als content_filter markiert, Postgrey ist als Policy-Daemon eingetragen.
Die Config ist recht unspektakulär. Spam wird durch SpamPD als content_filter markiert, Postgrey ist als Policy-Daemon eingetragen. Der Dovecot Quota-Service wird beim Empfang ebenfalls konsultiert, so dass Mails bei Over Quota direkt abgelehnt werden und keinen Backscatter generieren.


SASL Auth ist an Dovecot gebunden und nur erlaubt, wenn TLS verwendet wird. Wir bieten SMTP+STARTTLS an, zusätzlich SMTPS (SSL) und Submission (STARTTLS).
SASL Auth ist an Dovecot gebunden und nur erlaubt, wenn TLS verwendet wird. Wir bieten SMTP+STARTTLS an, zusätzlich SMTPS (SSL) und Submission (STARTTLS).
Line 62: Line 61:
Die Mailboxen sind Maildirs in /srv/mail. Die gültigen User bezieht Postfix über users.ldap aus dem LDAP. Mit forward.ldap werden Mails weitergeleitet, wenn der User ein 'mailRoutingAddress'-Attribut im LDAP-Eintrag hat. intern@ wird via LDAP (ml-intern) und die internal_ok Restriction Class gehandhabt, während die restlichen Mailinglisten über Sympa laufen.
Die Mailboxen sind Maildirs in /srv/mail. Die gültigen User bezieht Postfix über users.ldap aus dem LDAP. Mit forward.ldap werden Mails weitergeleitet, wenn der User ein 'mailRoutingAddress'-Attribut im LDAP-Eintrag hat. intern@ wird via LDAP (ml-intern) und die internal_ok Restriction Class gehandhabt, während die restlichen Mailinglisten über Sympa laufen.


== Dovecot ==
=== Dovecot ===


Als passdb verwendet Dovecot PAM, da LDAP dort eingebunden ist. Die userdb ist
Als passdb verwendet Dovecot PAM, da LDAP dort eingebunden ist. Die userdb ist
static auf den User vmail eingestellt.
static auf den User vmail eingestellt. Wir erlauben 3GB Quota je Account (+100MB Trash). Der quota-status-Service erlaubt postfix auf Port 12346, vor der Annahme einer Mail den Quota-Status des Zielaccounts abzufragen.
 
Da Dovecot vor 1.2 kein STARTTLS enforcen kann, bieten wir nur POP3S und IMAPS
an.


=== OpenDKIM ===


= MySQL =
Hängt als milter in Postfix, signiert ausgehende Mails von *.chaosdorf.de und prüft die Signaturen eingehender Mails. Standardsetup.


Für Roundcube.
==  MySQL ==


= Raumstatus =
Für Sympa.


Cronjob, alle 7 Minuten. Liest das Munin-RRD-File von {{H|figurehead}} aus und errät anhand der erreichbaren DHCP-Hosts der letzten Stunde, ob der Raum gerade offen oder zu ist.
[https://github.com/chaosdorf/chaosdorf-admin-toolkit/blob/master/raumstatus/raumstatus_calc Skript], [https://intern.chaosdorf.de/raumstatus Output].


[[Category:Administration]]
[[Category:Administration]]

Latest revision as of 20:18, 3 June 2024

intern.chaosdorf.de
Ort Host:Vm
Zweck Interne (Mail-)Dienste
OS Debian 11 amd64
Disks 100GB100,000 MB <br />100,000,000 kB <br />0.1 TB <br />
RAM 4GiB4,096 MiB <br />4,194,304 kiB <br />4,294,967,296 B <br />0.00391 TiB <br />4,294.967 MB <br />
Swap 5GB5,000 MB <br />5,000,000 kB <br />0.005 TB <br />
Admin-Toolkit Yes
ssh key path /var/cache/ssh/root
PAM? No
SSH user login? No
Admins byte, derf, feuerrot
NetBox URL VM-ID 11

SSL[edit source]

Zertifikate und Keys für alle Dienste auf intern liegen unter /etc/ssl.

Die Zertifikate werden einmal monatlich per certbot (LetsEncrypt) erneuert. Über /etc/crontab wird dazu /usr/local/sbin/refresh-tls-cert aufgerufen, was per certbot das Zertifikat erneuert und apache2, dovecot und postfix neustartet. Wir nutzen einen nicht ganz üblichen certbot-Workflow mit von uns manuell erstellten CSRs, da wir so sowohl ECDSA- als auch RSA-Keys für unser Zertifikat nutzen können. Apache2 und Dovecot nutzen ECDSA, Postfix RSA.

Website[edit source]

vhosts liegen in /srv/www, vhost-configs in /etc/apache2/sites-enabled.

intern.chaosdorf.de[edit source]

  • HTTP-Requests werden auf HTTPS rewritten
  • Userauth via LDAP
  • roundcube auf /webmail
  • sympa auf /sympa

Git[edit source]

Das Repository für unser Intern-Wiki liegt in /srv/git/wiki. SSH-Zugriff ist über git@intern.chaosdorf.de:wiki mit allen im LDAP eingetragenen Keys möglich; zusätzlich ist der SSH-Key von Wikijs hier eingetragen. Wir nutzen hier bewusst nicht das GitLab, um die Komplexität (und damit Fehleranfälligkeit) für das Intern-Wiki niedrig zu halten.

gitolite[edit source]

Legacy. Wird bald entfernt, Git macht das besser.

Über gitolite@intern.chaosdorf.de können Git-Repositories für begrenzte Personenkreise (nicht automatisch alle Chaosdorfmitglieder) verwaltet werden. Um das Anlegen von Repos und Eintragen von SSH-Keys kümmert sich derf.

Munin[edit source]

HTML und Graphen sind komplett dynamisch, es gibt entspreche Aliases und Rewrites in der Apache2-config. Erreichbar unter <https://intern.chaosdorf.de/munin/>.

Quota[edit source]

Ausschließlich via dovecot. Wir verwenden keine Diskquota auf Dateisystem-Ebene.

Mail[edit source]

Als MTA kommt Postfix zum Einsatz, für POP3S/IMAPS Dovecot.

Postfix[edit source]

Die Config ist recht unspektakulär. Spam wird durch SpamPD als content_filter markiert, Postgrey ist als Policy-Daemon eingetragen. Der Dovecot Quota-Service wird beim Empfang ebenfalls konsultiert, so dass Mails bei Over Quota direkt abgelehnt werden und keinen Backscatter generieren.

SASL Auth ist an Dovecot gebunden und nur erlaubt, wenn TLS verwendet wird. Wir bieten SMTP+STARTTLS an, zusätzlich SMTPS (SSL) und Submission (STARTTLS).

Die Mailboxen sind Maildirs in /srv/mail. Die gültigen User bezieht Postfix über users.ldap aus dem LDAP. Mit forward.ldap werden Mails weitergeleitet, wenn der User ein 'mailRoutingAddress'-Attribut im LDAP-Eintrag hat. intern@ wird via LDAP (ml-intern) und die internal_ok Restriction Class gehandhabt, während die restlichen Mailinglisten über Sympa laufen.

Dovecot[edit source]

Als passdb verwendet Dovecot PAM, da LDAP dort eingebunden ist. Die userdb ist static auf den User vmail eingestellt. Wir erlauben 3GB Quota je Account (+100MB Trash). Der quota-status-Service erlaubt postfix auf Port 12346, vor der Annahme einer Mail den Quota-Status des Zielaccounts abzufragen.

OpenDKIM[edit source]

Hängt als milter in Postfix, signiert ausgehende Mails von *.chaosdorf.de und prüft die Signaturen eingehender Mails. Standardsetup.

MySQL[edit source]

Für Sympa.