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
Server-Konzeption
- Natureshadow
- Beiträge: 2157
- Registriert: 11.08.2007 22:45:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Radevormwald
-
Kontaktdaten:
Re: Server-Konzeption
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
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
Linux Professional Institute Certification Level 2
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
- 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
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
Re: Server-Konzeption
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
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