Die Abschottung: Wie geht es nun weiter?

dev

Registered User
Aloha,

da ich ja ein braver und armer Noob bin, habe ich mir nicht wie alle anderen gleich einen vServer oder Root zum Probieren hingestellt, sondern nur mit Debian 4 als Minimalinstallation in einer schicken virtuellen Maschine geübt. Naja, bin trotz aller Hürden auch vorangekommen und brauche nun ganz pragmatischen Input für die reine LAMP Kiste.

Im Moment sieht es so aus:

SSH

• SSH Port != 22
• SSH Port per iptables für alle gesperrt -> Freischaltung via Portknocker für meine IP mit wechselnder TCP/UDP Sequenz
• ausschliesslich PKI Login (mit Passwort für den Key) erlaubt
• Passwort/ChallengeAuth off
• root Login verboten

FTP

• kein FTP Daemon
• FTP via SSH FTP in das gechrootete Home-Dir des minderpriveligierten Users
• kein SSH Login für diese User, nur gechrootete SFTP Funktionalität

AMP

• PHP per fcgi/suxec in den Apache eingebunden
• PHP: sicherheitskritische Ini-Values gesetzt (openbasedir, upload, executiontime, disabled_functions)
• Suhosin integriert
• MySQL an localhost gebunden
• secure_installation für MySQL ausgeführt

Sendmail

• lauscht nur an localhost, keine Serverdienste, nur MTA

Sonstiges

• alle Dienste in den Runleveln deaktivert, die nicht benötigt werden
• kein Confixx oder solches Zeug
• Pakete werden nur aus den offiziellen Debian stable bezogen

Was ich als nächstes in Angriff nehmen würde, ist das "Backuppen" der Logs auf eine andere Maschine (für den "Ernstfall"), das Einrichten von Logwatch allgemein und mod_security für den Apachen.

Was kann ich noch tun, wo sind Schwachstellen (sieht man mal von PHP Skripten ab, da habe nämlich nur ich die Kontrolle drüber)?

/dev
 
Last edited by a moderator:
Fail2ban wäre noch eine nette geschichte, denn das macht dir das Leben etwas einfacher. Auch OSSEC macht einem das Leben noch etwas einfacher, da es den Server bis zu einem gewissen Punkt überwacht. Ansonsten fallen mir persönlich keine weiter Sicherheitsrelevanten dinge auf die Schnelle ein.

Über IpTables scheiden sich ja die Geister. Ich für meinen Teil habe einige Regeln auf dem Server aktiviert, und lasse bestimmte Paktet mitloggen.

Zum Thema Apache bleibt noch zu sagen, dass man überlegen könnte ob man eAccelerator und/oder Zend-Optimizer installiert, da dies die Performance erhöht. Ausserdem bleibt noch zu sagen, dass wenn nur du die Möglichkeit hast PHP-Skripte zu erstellen und zu ändern, dann wäre mod-php auch keine schlechte wahl gewesen. Das Modul ist etwas schneller als fastcgi.

Gruß Mordor
 
Mhhhh, fail2ban bei RSA only Authorization und knockd? Was soll das bringen? Damit trickse ich mich wohl selbst aus hrhr.

Bei den PHP Acceleratoren habe ich in Verbindung mit fcgi gelesen, dass es keine Drehzahl auf den Tacho bringt (bedingt durch die wechselnden Userprozesse).

Klar - ich hätte php5-mod nehmen können. Sollte allerdings doch mal ein Skript als Angriffsvektor funktionieren, hat man einen privilegierteren Amokläufer als mit suexec PHP.

/dev
 
Fail2ban bringt dir ja nicht nur was im Sinne von SSH, sondern auch wenn du mal nen Mailserver am laufen hast, oder doch mal FTP benötigt werden sollte. Da kommts nur auf die Konfiguration drauf an.

Mit eAccelerator und FastCGI hab ich leider keine Erfahrungen. da müsste dir jemand anderes weiter helfen.
 
Respekt, für einen "Änfänger" gut die Hausaufgaben gemacht! Das freut´ doch mal :D

lg Basti
 
traced: Danke. Meinen Linux-"Erstkontakt" mit einer eigens installierten virtuellen Probiermaschine hatte ich am 24.09.2008.

@Mordor: Ok, stimmt. F2b geht ja auf das auth.log. Aber im Moment läuft ja nix ausser dem Apachen.


Könnte ich denn mit so einer Maschine "in echt" ins Netz? Die Logs habe ich im Blick und weiss, wo ich was suchen muss, die ständige Wartung des OS ist mir bewusst. Auf der Konsole bewege ich mich zwar noch holperig, aber ich komme mit den Hoch- und Runtertasten bzw. Tab bzw. 'whatis', 'whereis' und 'man *' ganz gut zurecht :D

Meine PHP-Skripte sind sicher, ausserdem habe ich eine recht ausgeklügelte htaccess, die auch als "weblication" Firewall funktioniert, sprich auf bestimmte Muster und Bots anspringt. Wird ein 404 generiert (Rumspielen mit den URL Parametern?) kriege ich eine E-Mail mit diversen Parametern von "meinen" Seiten. Ist auch für die Fehlersuche ganz hilfreich.

Ausserdem sind heisec und diverse andere Security Listen in meinem Newsreader.

Wann weiss man, ob man darf? Ich persönlich halte mich mittlerweile für fit und verantwortungsbewusst genug, aber ich will nicht an meiner eigenen Hybris zugrunde gehen :D

/dev
 
Last edited by a moderator:
Ich persönlich würde jetzt mal sagen, dass das ein ziemlich gutes Grundwissen ist, was du dir da angeeignet hast, was dir die ganzen Skriptkiddis schon mal vom Hals hält, bzw. sollten dir diese keine Probleme machen.

Wichtig ist halt nur, dass du dir im klaren bist, dass Sicherheit ein vortlaufender Prozess ist, an dem man stetig weiter arbeitet. Aber so wie das klingt, hast du dir das schon bewusst gemacht.

Wie oben schon gesagt, schau dir noch mal OSSEC an. Das Tool ist ziemlich gut, vorallem weil es auch über Probleme in Mysql-Tabellen informiert, über fehlgeschlagenen Angriffe, nach Root-kits sucht und und und.

Dann wünsch ich mal viel Spaß bei der ersten Onlinekiste. Denn dem sollte eigneltich nichts im Wege stehen.

Gruß Mordor
 
Aus Sicht der Sicherheit spräche nichts dagegen, so eine Kiste ans Netz zu lassen.
Ganz ehrlich, wäre mir die sogar zu sicher. Da würde mir das administrieren keinen Spass mehr machen. Aber muss jeder Admin für sich selbst entscheiden. Es wird immer ein Kompromiss zwischen Komfort und Sicherheit bleiben. :)
 
Auf jedenfall haben wir jetzt mal einen Referenzthread für die ganzen "Ich hab keinen Plan von Linux aber nen Rootserver" Threads :D

Vielleicht wäre chkrootkit noch ne Möglichkeit. Und übrigens Logwatch ist wirklich gut, freue mich jeden Morgen über die Mail die er mir auf Arbeit schickt.
 
Ich denke auch dass Du problemlos so loslegen kannst. Und, da Du dich wirklich auch mit der Materie beschäftigt hast, wirst Du dich als Admin auch sicher gut einleben. Falls wirklich was unklar ist einfach drauf los fragen hier :)
 
Auf jedenfall haben wir jetzt mal einen Referenzthread für die ganzen "Ich hab keinen Plan von Linux aber nen Rootserver" Threads :D

Hehe. Dieser Satz erinnert mich ja an das hier. Gestern gefunden - ist auch schön zu lesen.

Stichwort: chkrootkit - das habe ich mir schon im Rahmen angesehen und einen Testscan gemacht. Aber da ich muss ich auch noch mal forschen, was genau alles dahinter steckt. Mache ich mit OSSEC zusammen.

Eine Anmerkung zu meiner obigen Konfiguration: Ich war etwas zu schnell. Im Moment habe ich nur einen Schlüssel für meinen einen SSH Benutzer generiert - damit funktioniert natürlich kein Webuser via SFTP bei ausgestelltem Passwort Login.

Das muss ich heute mal noch überprüfen und wahrscheinlich auf die PKI Methode verzichten und mich neben dem Portknocker auf fail2ban beschränken.

Danke für Eure motivierenden Worte!

/dev
 
Ich bin es noch einmal: Die tägliche Arbeit gestaltet sich recht gut.

Mittlerweile läuft auch mod_security und ich bastele mir Regeln bzw. verlagere die vorhandenen aus den htaccess Dateien in das Modul. Ich filtere da u. a. gegen 150+ 'schlechte' Bots, Image Hotlinking, Referrer Spam und Remote Code Inclusion.

Daneben hat der eAccelerator den Apachen noch einmal schneller gemacht, das Modul funktioniert gut mit php als Fast CGI. Ich habe mit meinem Standard CMS die PHP Renderzeit bei gecachten Seiten von 0.25 Sek auf <0.19 Sek drücken können, +20% sind ein Wort :) Dabei sind auch die Load Peaks auf den CPUs verringert worden.

Logwatch schickt mittlerweile täglich seine E-Mail und chkrootkit bzw. rkhunter tun auch ihren Dienst.

Beim Monitoring habe ich mich für Munin entschieden: Ein (anderer virtueller) Server holt die Daten vom Node ab, Zugriff bzw. die Darstellung erfolgt in einem htpasswd geschützten Bereich auf dem vServer.

Ein paar Dinge fehlen noch:

• monit zur lokalen Diensteüberwachung und ggf. Restart
• ein externer Dienst zur Überwachung und SMS-Benachrichtigung
• mod_evasive bei Reload-Dauerfeuer bzw. aggressiven Bots (meine PHP Skripte haben aber auch Throttling eingebaut)
• ein Backupkonzept, das nicht über FTP läuft <- das ist meine grösste Sorge im Moment, trotz 7-Tage Full- bzw. inkrementellen Backups von DB-Dumps und vHosts.

Nun muss ich endlich mal OSSEC probieren :)
 
Ich glaub auch, dass hier mal ein Musteranfänger von sich hören lässt! und ich glaube auch, dass mir dieses Thema, wenn ich mich mal wieder mit Serveradministration beschäftigen werde, sehr gut weiterhelfen wird. Ich stelle mir bloß eine Frage, die sicherlich auch andere, die dieses Thema lesen werden, haben könnten: wo hast du das Wissen her? Hast du ein spezielles Buch / mehrere Bücher, Onlinetutorials gelesen? Schon allein eine Liste, wie die im ersten Beitrag zu erstellen, bekommen viele Anfänger, mich eingeschlossen, nicht auf die Reihe...
 
Ich habe den Thread mal Sticky gesetzt. Meiner Meinung nach beschreibt es recht anschaulich und dennoch mit der nötigen Kürze wichtige Maßnahmen bei der Inbetriebnahme eines Servers.

--marneus
 
Hallo Elradon,

ich habe mir dieses Buch hier gekauft (für das ich übrigens meine volle Empfehlung aussprechen kann): Linux-Server ...
3826615875

Der Autor schafft es, ein relative dröges Thema sehr locker und z. T. auch humorvoll rüberzubringen. Das Ding habe ich zum grössten Teil in den 4 Wochen durchgelesen.

Allerdings steht das Thema "Sicherheit" mehr im Hintergrund und es geht eher um generelle Konzepte und Anleitungen im Produktiveinsatz (als Mailserver, Fileserver, Nameserver, Webserver). Speziellere Konfigs (z. B. PHP als fcgid/suexec) werden ebenfalls nicht behandelt.

Auf jeden Fall bekommt man mit dem Buch erstmal einen soliden Eindruck in Richtung "so funktioniert..." - mir war das wichtig, um dem Mysterium Linux bzw. der Konsole den Schrecken zu nehmen.

Alles weitere und speziellere, also die Sachen aus dem Ausgangsposting, habe ich mir dann mit Onlinetutorials, Ausprobieren und gesundem Menschenverstand erarbeitet. Bezüglich Web/PHP bin ich nicht ganz unvorbelastet, was Sicherheit und Funktionsweise angeht. Und um die Vorteile des Apache-mpm-workers gegenüber der prefork-Variante zu erkennen, braucht man auch kein Informatikstudium (wenn man mal diese komische nerdige Nomenklatur verinnerlicht hat).

Auf jeden Fall ist das Wissen zum Thema Linux (dank dem Internet in der heutigen Form) in inflationärer Menge und so gut wie kostenlos verfügbar.

Bei allem Enthusiasmus und eingetretenen Erfolgserlebnissen: Ich habe richtig hart dafür gearbeitet und eine Menge Zeit investiert. Im Prinzip ist es genau so wie mit dem Thema 'Webseiten': Man kann schnell irgendein CMS und ein Template auf einen Webspace packen, das Ganze mit einer Domain verknüpfen und "fertig" ist die "Homepage".

Will man allerdings pfleg-, skalierbare und performante Lösungen mit individuellem Design, ausgereizter onpage SEO und standardkonformes Markup/CSS für eine Vielzahl von Endgeräten, kommt man ganz schnell in Bereiche dieser mittlerweile auch komplexen Technologie, die sich nicht mehr mit "ich mach das ein bisschen nebenbei" abdecken lassen.

Hätte ich also nur abends eine Stunde nach der Arbeit Zeit gehabt, hätte ich das Ganze gleich gelassen. Zumal es ja nicht nur darum geht, schnell ein funktionierendes System hinzuzimmern, sondern auch kalkuliert eingreifen zu können, wenn es ein Problem gibt. Nur die Bookmarks der oben erwähnten vielen tollen kostenlosen Tutorials abzuspeichern reicht halt nicht ;)
 
Last edited by a moderator:
• ein externer Dienst zur Überwachung und SMS-Benachrichtigung

Kann Dir hier Nagios sehr ans Herz legen, wahnsinnig komplex, aber wenn mans mal begriffen hat wirklich eine feine Sache, klappt bei mir auch super mit SMS Benachrichtigungen. Wenn Du fragen hast, einfach nen Thread aufmachen, oder per PM, Thread wär sinnvoller :D

Hab Nagios auf einem 1.99€/Monat vServer von Proplay.biz laufen, wegen extern.

lg Basti
 
Zabbix ist für das Monitoring auch nicht schlecht. Ich hasse diesen Nagios Kram, sowas unübersichtliches und nerviges erlebt man selten. ;)
 
Zabbix ist für das Monitoring auch nicht schlecht. Ich hasse diesen Nagios Kram, sowas unübersichtliches und nerviges erlebt man selten. ;)

Hmmm.... Ich habe Zabbix mal Testweise installiert und fand das widerrum äusserst unübersichtlich. Da empfinde ich Nagios deutlich einfacher und vorallem die Konfiguration übersichtlicher. Aber wie immer: Geschmäcker sind halt verschieden ;)

Gruß
Andi
 
Das Buch kann ich auch wärmstens empfehlen. Damit hab ich mir auch meine Grundlagen drauf geschafft. Zum einen schreibt der Autor ziemlich angenehm, und nimmt sich und die ganzen hardcore neerds immer wieder auf die Schippe, zum anderen ist der Informationsgehalt einfach der Hammer.

Wenn man nen Server genau nach diesem Buch aufsetzt, sollte er ziemlich sicher und funktionabel sein.

Gruß Mordor
 
Back
Top