Server-Konzeption

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
m@ddin
Beiträge: 203
Registriert: 28.05.2006 20:43:10
Kontaktdaten:

Server-Konzeption

Beitrag von m@ddin » 23.05.2008 18:58:16

Hi Leute!

Ich bin auf der Suche nach dem richtigen Konzept für meinen Server. Also, ich hab einen Server, der - sagen wir mal - mein Entwicklungsserver ist. Auf diesem Server läuft SVN, TRAC (http://trac.edgewall.org), Apache und ein MailServer (Postfix, Dovecot, AMaVis, ClamAV, Spamassassin, etc.). In Zukunft soll dieser eventuell auch mit einem FTP-Server und weiteren Anwendungen wie Groupware o.Ä. bestückt werden. Im Grunde soll das ein Server für Entwicklung und tägliche Büroaufgaben werden.

Dafür brauche ich aber noch ein ausgefeiltest Konzept, vor allem auch was Sicherheit angeht. Derzeit erledige alle Aufgaben als root. Das ist natürlich nicht sinnvoll. Da auf diesem Server keine WebSites, o.Ä. laufen sollen, ist es auch nicht notwendig, dass irgendwie allgemein zu halten. Ich hätte mir dabei folgendes vorgestellt:

Tägliche Aufgaben werden als normaler Benutzer erledigt. Dieser Benutzer hat zum Beispiel FTP-Zugriff, Zugriff auf SVN und TRAC. Er kann allerdings keine Einstellungen an irgendwelchen Diensten vornehmen, noch sonst etwas am System ändern.

Dann gibt es noch einen Administrator, der neue SVN-Repositories anlegen kann, neue Benutzer anlegen kann usw. Dieser soll aber nicht das System administrieren, sondern die Anwendungen und Dienste.

Sämtliche am System vorgenomme Änderungen sollen weiterhin nur über root erledigt werden können.

Mit diesem Konzept - finde ich - ist für meinen Zweck alles geregelt. Es gibt die normalen Benutzer, die die täglichen Aufgaben (FTP-Transfers, SVN-Commits, Tickets für TRAC, E-Mails empfangen und senden, etc.) erledigen können. Sollte neue Projekte eingestellt werden oder irgendwelche Änderungen vorgenommen werden, kann dies der Administrator erledigen. Da dies aber nicht häufig vorkommt, ist dafür ein eigener Benutzer sinnvoll. Dann gibt es noch Änderungen am System, die eigentlich in den seltesten Fällen vorkommen sollten, die weiterhin über root ausgeführt werden.

Doch wie setzt man jetzt so ein Konzept um? Ich meine, da steckt ja doch einiges dahinter. Wie macht ihr das so? Habt ihr euren eigenen Benutzer oder macht ihr auch alles über root?

Danke schonmal und viele Grüße,
Martin

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: Server-Konzeption

Beitrag von Natureshadow » 25.05.2008 15:14:33

Hallo,

das würde ich mit sudo regeln. In /etc/sudoers kannst du dann festlegen, welche Benutzer welche Befehler als root ausführen dürfen.

Grüße,
Nik

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Server-Konzeption

Beitrag von minimike » 25.05.2008 15:30:43

Mein Konzept ist mit Vservern zu arbeiten. Fällt der Webserver aufgrund eines Softwarefehlers aus läuft der Mailserver in einer eigenen Instanz auf jeden Fall weiter. Auf dem Host läuft nur SSH, ein Mysqlserver im sicheren Chroot, dann noch Shorewall, Fail2ban und gradm2. Benutzer werden über SSH in einem Chrootjail eingesperrt und haben nur die Befehle die sie wirklich unbedingt brauchen. Dateifreigabe erfolgt ausschlieslich über Webdav mit https. Die Rechte in den Vservern sind auch für Root nur auf das absolut notwendige begrenzt. Die Firewall unterbindet jeden ein und ausgehenden Datenverkehr ausser den Diensten. Ich erlaube lediglich allgemein Port 8, 53 und für Software Port 80 zu einem Debianmirror und security.debian.org. Zudem wird gerade Grsecurity eingeführt
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

m@ddin
Beiträge: 203
Registriert: 28.05.2006 20:43:10
Kontaktdaten:

Re: Server-Konzeption

Beitrag von m@ddin » 25.05.2008 15:32:59

Hi!

Hm, also die Umsetzung der einzelnen Rechte, etc. dürfte kein Problem sein. Was mir momentan noch fehlt, ist der Gesamtüberblick über die Konzeption. Momentan ist es so, dass zum Beispiel die Zugriffe für SVN und TRAC einfach in einer htpasswd-Datei stehen. Damit kann ich aber zum Beispiel nicht festlegen, welche Verzeichnisse der Benutzer im SVN lesen und in welchen er schreiben darf.

Ich hab mir auch schon überlegt, ob ich mir nicht LDAP installiere, aber der Aufwand scheint mir zu groß zu sein. Im Grunde soll es so ablaufen: ich bekomme die Info, dass ein weiterer Entwickler mit an Board geht und dieser braucht auf SVN und TRAC Zugriff, soll aber keine eigene E-Mail Adresse haben, kein FTP und kein SSH.

Eigentlich müsste man das ja alles über Gruppen regeln können, oder?

Viele Grüße,
Martin

Antworten