Grobe Absicherung für Debian-Noob

Rund um die Sicherheit des Systems und die Applikationen
longjohn
Posts: 3
Joined: 2009-11-04 23:44
 

Grobe Absicherung für Debian-Noob

Post by longjohn »

Hallo Leute!

Da auf meiner Debian Kiste nur PHP im Hintergrund läuft mit einigen DNSUTILS-Befehlen und der Server nicht über den Browser erreicht werden soll / muss, möchte ich gerne den Server im Gröbsten absichern.

Was ich bisher gemacht habe:

- User angelegt, Rootrechte geholt, SSH-Zugang via Root deakt.
- Passwort für GRUB im MD5 Format geändert
- Port für SSH geändert

Welche Maßnahmen kann ich noch treffen, die wichtig sind, aber von einem Noob wie mir ausgeführt werden können?

DANKE für Hints vorab

:)
papabaer
Userprojekt
Userprojekt
Posts: 169
Joined: 2009-05-14 17:40
Location: Halle (Saale)
 

Re: Grobe Absicherung für Debian-Noob

Post by papabaer »

Hallo Leute!

da ich mit meinem neuen Auto nicht mehr als 120km/h fahren möchte, habe ich keinen Führerschein gemacht und wollte nun kurz fragen, wie ich mich im Gröbsten absichern kann.

Was ich bisher gemacht habe:

- Gurt angelegt
- den Tank nur halb voll gemacht
- die Verkehrsschilder Vorfahrt und Achtung gelernt

Welche Maßnahmen kann ich noch treffen, die wichtig sind, aber von einem Noob wie mir ausgeführt werden können?

Antwort:

- nen Führerschein machen (nen Server daheim hinstellen und nen halbes Jahr üben)
- PHP und Apache im Detail verstehen
- Serversicherheit im allgemeinen (Stichworte denyhosts, tripwire, logwatch, chroot, Dienste abschalten, ...)
- lernen, wie Angriffe funktionieren (Brute-Force, Mysql-Injection, XSS, Buffer-Overflows, ...)
- (aufhören ein Noob zu sein)
longjohn
Posts: 3
Joined: 2009-11-04 23:44
 

Re: Grobe Absicherung für Debian-Noob

Post by longjohn »

ok ok, ihr habt ja recht. Sorry...

Ich möchte meine Frage etwas präzisieren, vielleicht erhalte ich dann eine Antwort:

Mein Server führt nur den Befehl nslookup per Cron aus. Des Weiteren befindet sich auf dem Server eine Datenbank, auf die ich über einen ENTFERNTEN Server zugreife.

- Wenn der Server für nichts weiteres als die nslookups, den ssh und die entfernte DB-Verbindung genutzt wird, wie sollte die iptables dann aussehen? Theoretisch kann ich doch alles, außer diesen Verbindung löschen/unterbinden? Welche Ports sind dies, insbesondere der nslookup und die entferne MySQL-Verbindung?

- Die entfernte MySQL-Verbindung würde ich gerne absichern, d.h. über einen SSH-Tunnel z.B.. Wie veranstalte ich dies oder wo im Netz gibts ein Howto?

Ich danke SEHR für vernünftige Antworten. Bin Noob, wusste nicht daß dies so schlimm ist. Ein Debian Buch ist bereits auf dem Weg zu mir ;)

Grüße
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
 

Re: Grobe Absicherung für Debian-Noob

Post by daemotron »

Hallo longjohn,
longjohn wrote:- Wenn der Server für nichts weiteres als die nslookups, den ssh und die entfernte DB-Verbindung genutzt wird, wie sollte die iptables dann aussehen?
Am besten abgeschaltet. Siehe http://www.rootforum.org/forum/viewtopi ... 77&t=46097 und http://www.rootforum.org/forum/viewtopi ... =77&t=4266 für ausführliche (und amüsante :wink:) Diskussionen zum Thema.
longjohn wrote:Theoretisch kann ich doch alles, außer diesen Verbindung löschen/unterbinden?
Wozu? Wenn keine weiteren Dienste aktiv sind, kann auch niemand zu den (dann ohnehin geschlossenen Ports) eine Verbindung aufbauen.
longjohn wrote:Welche Ports sind dies, insbesondere der nslookup und die entferne MySQL-Verbindung?
Führe mal folgenden Befehl aus:

Code: Select all

netstat -tulpen
Der verrät schon so einiges. nslookup (warum nicht dig?) greifen auf DNS-Server zu. Als Hilfestellung hier der Link zu den offiziell vergebenen Well known Ports: http://www.iana.org/assignments/port-numbers
longjohn wrote:- Die entfernte MySQL-Verbindung würde ich gerne absichern, d.h. über einen SSH-Tunnel z.B.. Wie veranstalte ich dies oder wo im Netz gibts ein Howto?
Die MySQL-Verbindung kannst Du entweder über das in MySQL integrierte SSL absichern (siehe http://dev.mysql.com/doc/refman/5.1/en/ ... tions.html) oder alternativ gleich per OpenVPN tunneln. Das ist u. U. sogar einfacher einzurichten, da es hierfür auch einen brauchbaren Windows-Client gibt. Letztlich kannst Du auch über SSH tunneln (einfach mal nach SSH tunnel suchen, bringt ne Menge brauchbarer Treffer).
longjohn wrote:Ich danke SEHR für vernünftige Antworten. Bin Noob, wusste nicht daß dies so schlimm ist. Ein Debian Buch ist bereits auf dem Weg zu mir ;)
Nimms nicht persönlich, aber jeder, der schon länger im "Geschäft" ist, wurde schon mal von einem feindlich übernommenen Server aus attackiert oder kämpft täglich gegen Massen von Spam (ebenfalls von gekaperten Servern versendet). Daher ist die Aussicht, dass irgendwo eine nicht wirklich gut abgesicherte Kiste mit dicker Leitung im Netz hängen könnte für die meisten hier eine albtraumhafte Vorstellung.

Wenn Du weitere Literatur suchst, gibt es auch gute OpenBooks (z. B. http://openbook.galileocomputing.de/linux/ oder http://openbook.galileocomputing.de/pcnetzwerke/).
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
papabaer
Userprojekt
Userprojekt
Posts: 169
Joined: 2009-05-14 17:40
Location: Halle (Saale)
 

Re: Grobe Absicherung für Debian-Noob

Post by papabaer »

Vieles wurde ja nun schon konkret gesagt.
longjohn wrote: - Die entfernte MySQL-Verbindung würde ich gerne absichern, d.h. über einen SSH-Tunnel z.B.. Wie veranstalte ich dies oder wo im Netz gibts ein Howto?
Es gibt eigentlich wenig gute Gründe, direkt in die Datenbank zu greifen. Datenbankreplikation wäre einer. Wenn es nicht darum geht, dass sich Datenbanken direkt miteinander unterhalten, ist der sicherere Ansatz eine Schnittstelle zu bauen, die diese Daten in Form von XML oder JSON oder per Rest oder ... exportiert und zur Verfügung stellt. Damit fallen ne Menge Angriffe auf die Datenbank raus.

Unterhalten sich die DBMS ist VPN angesagt. Ne Datenbank direkt ans Netz zu hängen, ist keine so gute Idee.
longjohn wrote:Bin Noob, wusste nicht daß dies so schlimm ist.
Ist es leider aber doch, wie die Beispiele weiter oben gezeigt haben sollten. Unerfahren sein und lernen zu wollen ist prima. Unerfahren sein und naiv großen Mist zu bauen ist verantwortungslos anderen gegenüber. Viele Sachen die du beschreibst zeigen, dass du dir noch etwas Zeit zum üben nehmen solltest, bevor du mit nem Root loslegst. Das ist nicht abwertend gemeint, wir haben alle klein angefangen. Aber halt nicht gleich mit nem Server im Netz.