OpenBSD http/sftp server "sicherer" machen?

CommanderZed

OpenBSD User
Teammitglied
Hallo

Ich habe ein kleines Heimnetzwerk, das per DSL (1500, T-Com, T-Online, Dynamisch IP) ans Internet angebunden ist. Als Router dient mir ein alter PC mit OpenBSD als Betriebssystem

Um mit einigen freunden und bekannten Dateien austauschen zu können, habe ich einen weiteren alten Rechner als „Server“ mit OpenBSD installiert, um über das Internet Dateien per http und sftp auszutauschen.

Der Rechner ist über eine dedizierte Netzwerkkarte an den Router angeschlossen, er ist in einem eigenem Subnetz, der Paketfilter ist entsprechend streng konfiguriert, lediglich die Ports 80, 22 und 53 werden durchgelassen, die ports 80 und 22 auch weitergeleitet. Mein „Internet“ netzwerk sollte somit immer falle einer Übernahme des HTTP/SFTP Servers nicht sonderlich stark gefährdet sein.

Das sich die SFTP Benutzer auch per SSH einloggen können, sowie das gesamte Dateisystem „begutachten“ können, ist durchaus kein Problem, soweit vertraue ich den jeweiligen Personen die einen SFTP Zugang bekommen. Gleichzeitig möchte ich natürlich nicht das sie irgendwelche Konfigurationsdateien ändern können e.t.c.

Installiert habe ich ein OpenBSD nach der normalen Anleitung, anschließend habe ich noch „httpd“ aktiviert, sowie den root-login per SSH verboten und eine „andere“ index.html in das htdocs Verzeichnis geschoben.
Keine Benutzer sind in der „wheel“ eingetragen, sämtliche Passwörter entsprechend sicher gewählt.
Sämtliche Patches habe ich natürlich installiert.

Jetzt meine Frage: Wie kann ich mein System weiter absichern? Was für Lücken habe ich übersehen? Sollte ich irgendwelche Dateisystem (var?) anders mounten? Muss ich noch bei „irgendwelchen“ Dateien zusätzlich Reche setzen?

Mit freundlichen Grüßen
CommanderZed
 
Ich wuerde die Homedirectories und die Verzeichnissen der beiden Dienste http und ftp sowie var und tmp noexec und nodev mounten. Ausserdem waere ein nosuid auch noch angebracht. Bei tmp solltest du lediglich beachten, dass du es bei einem Systemupdate ohne noexec mountest.

Generell sehe ich es auch als sicherer an, wenn du den root-login sperrst und eben einen Benutzer der Gruppe wheel hinzufuegst, der dann zu root "suen" kann.

Eine weitere Sicherheit waere die schg flag auf Dateien wie in /usr/sbin zu setzen.

Gruss
Fabian
 
CommanderZed schrieb:
Keine Benutzer sind in der „wheel“ eingetragen, sämtliche Passwörter entsprechend sicher gewählt.
Sämtliche Patches habe ich natürlich installiert.

Jetzt meine Frage: Wie kann ich mein System weiter absichern? Was für Lücken habe ich übersehen? Sollte ich irgendwelche Dateisystem (var?) anders mounten? Muss ich noch bei „irgendwelchen“ Dateien zusätzlich Reche setzen?

Mit freundlichen Grüßen
CommanderZed

Hallo Commander,

Im Prinzip sehe ich das so wie mein Vorposter, habe Dir aber noch einen Link zu Unix Systemadministration gelegt:

http://www.staff.uni-mainz.de/schoepf/sysadm/sysadm.html

Tipp: Abschnitt Systemsicherheit

gruss Rudolf :)
 
Wenn schon ssh, dann solltest du vielleicht https anstelle von http machen. Reine sftp Zugänge kann man mit einer chrooted scponly-Shell weiter absichern, so kann auch keiner das gesamte Filesystem sehen. Weiters könntest du beim sshd die Passwort-Authentifizierung ganz abdrehen und nur mit Schlüsseln authentifizieren. Das hat auch gleich den Vorteil, dass man direkten root-Zugang auch wieder erlauben könnte.

HTH & Ciao.
Markus Mann
];-)
 
//*Brainfuck*\\ schrieb:
Im Prinzip sehe ich das so wie mein Vorposter, habe Dir aber noch einen Link zu Unix Systemadministration gelegt:
Sorry, aber die Informationen, die man dort erhält sind recht oberflächlich und die letze Änderung ist von 1997 - seitdem haben sich die Anforderungen definitv geändert (Stichwort Bruteforce-Attacken auf ssh-Zugänge).

Ciao.
Markus Mann
];-)
 
Hallo Danke für die Tipps, ich werde nächste woche das System neu aufsetzen, und dann natürlich alle gemachten vorschläge beachten, sowie mir die links durchlesen.

max93 schrieb:
Wenn schon ssh, dann solltest du vielleicht https anstelle von http machen. Reine sftp Zugänge kann man mit einer chrooted scponly-Shell weiter absichern, so kann auch keiner das gesamte Filesystem sehen. Weiters könntest du beim sshd die Passwort-Authentifizierung ganz abdrehen und nur mit Schlüsseln authentifizieren. Das hat auch gleich den Vorteil, dass man direkten root-Zugang auch wieder erlauben könnte.

Der root-zugang (egal ob direkt per root oder inderekt per wheel) per ssh ist garnicht erwünscht, wie oben beschrieben. Das System steht in meinem Keller, ein einloggen per Monitor, Maus und Tastatur ist jederzeit möglich.

Es ist durchaus von mir erwünscht das sich Benutzer bei bedarf komplett per SSH einloggen können, und auch anwendungen e.t.c. starten können, um mal ein wenig mit unix "rumspielen" zu können ... ich möchte halt nur nicht das dabei systemeinstellungen e.t.c. verändert werden können ...

Die Daten die ich auf den webserver schiebe, sind nicht sooooo geheim, das das per https sein muss ... aber ich werde es denke ich trotzdem aktivieren und konfigurieren. SFTP möchte ich übrigens hautpsächlich wegen der deutlich einfacheren Konfiguration auf Seiten des Routers/paketfilters gegenüber FTP verwenden.
 
Sorry //*Brainfuck*\\, aber wir kennen auch google und sind in der Lage es zu benutzen.
 
ein tip noch:

es ist imho auch keine schlechte idee die systeme auf andere ports zu verschieben, sofern dein benutzerkreis sich in grenzen haelt.

ich hatte frueher immer sehr sehr viele automatisierte anfragen an meinen sshd gekriegt, wo einfach nur "auf gut glueck" logins und passwoerter ausprobiert worden sind.

mit einem einfachen
Code:
Port 123
in der sshd_config ballert mir jetzt auch keiner mehr meine authlog voll.

oh!
und ein
Code:
PermitRootLogin no

solltest du auch einbauen.
 
dettus schrieb:
es ist imho auch keine schlechte idee die systeme auf andere ports zu verschieben, ...

Das hat aber nichts mit Sicherheit zu tun (vorausgesetzt es sind »vernünftige« Passwörter gesetzt bzw. nur Keys erlaubt)! Wenn jemand wirklich den sshd ausnutzen will, der findet ihn auch. Egal welcher Port nun.

dettus schrieb:
PermitRootLogin no

Das ist doch Standard, oder bei OpenBSD etwa nicht?
 
deaktivieren von root logins per ssh tut auch nichts zur erhöhung der sicherheit...
viel eher helfen würde "PasswordAuthentication no"

auf bald
oenone
 
oenone schrieb:
deaktivieren von root logins per ssh tut auch nichts zur erhöhung der sicherheit...
viel eher helfen würde "PasswordAuthentication no"

auf bald
oenone

Warum nicht? Dadurch sollte doch das erlangen von root rechten, z.B. um den rechner zu "missbrauchen", doch "nur" noch durch schadhafte software (z.B. Netzwerkdienste), falsch gesetzte berechtigungen e.t.c., oder das knacken der kennwörter (sichere, mind. 10 zeichen lange) möglich sein?

Die Anmeldung mit einem schlüssel dürfte für die Nutzer verm. zu kompliziert sein ;)
 
Ich hab die Diskussion nur verfolgt , aber was ist mit Sicherheit der Dienste, Sendmail, Apache und PHP etc, oder gehts nur um ssh und pw's.
 
kein php, kein von aussen erreichbarer email-server, apache mit OpenBSD-standard-konfiguration gestartet, ohne mods ...
 
Zurück
Oben