Hallo Liste, hätte eine Frage. Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten? In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache. Sobald ich mich in Shell einlogge und den Apache neu starte, bringt es nichts. Wenn ich mir die "top" anschaue, ist überhaupt keine Serverauslastung. CPU: 0.3% use Keine Platte ist voll, Memory ist genug da, keine Prozesse hängen, keine Auslastung ist da. Letztens ist unsere MySQL Datenbank abgestürzt, da haben wir dann Portsentry installiert. Jetzt habe ich eine Drohung erhalten, dass man mir meine Community klauen will und kurz davor wäre die Verzeichnisse zu erreichen *tz tz* Könnte sein, dass der Apache hängt, weil er mit Anfragen bombardiert wird? Weder in den Logs steht etwas, noch irgendeine Auslastung. Was ich aber in access.log gesehen habe, dass man eine Palette URLS versucht hat, die es nicht gibt: ........... [19/Dec/2005:05:05:05 +0100] "GET /phpMyAdmin-2.2.3/main.php HTTP/1.0" 404 1055 "-" "pmafind" [19/Dec/2005:05:05:05 +0100] "GET /phpMyAdmin-2.2.6/main.php HTTP/1.0" 404 1055 "-" "pmafind [22/Feb/2007:21:09:14 +0100] "GET /administrator/phpMyAdmin-2.6.1-pl1/main.php HTTP/1.0" 404 1055 "-" "-" [22/Feb/2007:21:09:14 +0100] "GET /administrator/phpMyAdmin-2.6.1-pl2/main.php HTTP/1.0" 404 1055 "-" "-" [22/Feb/2007:21:09:14 +0100] "GET /administrator/phpMyAdmin-2.6.1-pl3/main.php HTTP/1.0" 404 1055 "-" "-" http://check.IP.v.80.pdx8.super.proxy.scanner.ii.9966.org/Provy_OK.html Grüße P.S. System Suse 9.3 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Sat, 3 Mar 2007 14:46:06 +0100, you wrote:
Hallo Liste, hätte eine Frage.
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache.
(...) Zeig doch mal die Ausgabe von # rcapache2 status und # rcapache2 configtest Damit wäre erst mal zu klären, ob a) der Apache überhaupt läuft und b) ob er ggf. nicht läuft, weil in der Konfiguration was nicht stimmt. (...)
Was ich aber in access.log gesehen habe, dass man eine Palette URLS versucht hat, die es nicht gibt:
........... [19/Dec/2005:05:05:05 +0100] "GET /phpMyAdmin-2.2.3/main.php HTTP/1.0" 404 1055 "-" "pmafind"
Da stochert jemand rum und will ins System eindringen; passiert bei mir auch am laufenden Band. Sichere Passwörter wählen, Sicherheitsupdates einspielen und von vornherein nur installieren, was unbedingt nötig ist. Jürgen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Juergen Langowski schrieb:
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache.
(...)
Zeig doch mal die Ausgabe von
# rcapache2 status
und
# rcapache2 configtest
Damit wäre erst mal zu klären, ob a) der Apache überhaupt läuft und b) ob er ggf. nicht läuft, weil in der Konfiguration was nicht stimmt.
(...)
Der Apache läuft. Das teste ich noch mal, wenn der Server wieder hängt. Kam die letzten 3 Tage 3-4 mal ca. 1-2 Stunden vor. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Sat, 3. March 2007 15:14:09 Juergen Langowski wrote:
On Sat, 3 Mar 2007 14:46:06 +0100, you wrote:
Hallo Liste, hätte eine Frage.
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
Ich fand das folgende Buch recht hilfreich: Tobias Klein, Linux Sicherheit, dpunkt Verlag, iX-Edition, ISBN 3-932588-04-5, Preis ca 55,-€, ca 7800 Seiten dick Als Anwendungen wären noch portsentry, AIDE, Snort + AcidBase, cacti, shorewall, kryptknock interessant, es gibt aber auch andere Applikationen die gleiches oder ähnliches leisten.
In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache.
(...) [...]
Da stochert jemand rum und will ins System eindringen; passiert bei mir auch am laufenden Band. Sichere Passwörter wählen, Sicherheitsupdates einspielen und von vornherein nur installieren, was unbedingt nötig ist. regards, thomas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Taner Ayaydin, Samstag, 3. März 2007 14:46:
In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache.
Was heißt "Domain nicht erreichbar"? Zeigt ein Browser nichts an? Geht ein Ping von außen auf den Server? Ist Port 80 offen? Läuft der Apache, nachdem Du ihn neu gestartet hast, oder stirbt er gleich wieder? Geht die Seite lokal bzw. aus dem LAN? Blockiert eine Firewall den Zugriff? -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Taner Ayaydin, Samstag, 3. März 2007 14:46:
In den letzten Tagen ist unsere Domain nicht erreichbar. Die Seite kann nicht angezeigt werden. Der Tomcat geht, liegt wahrscheinlich dann am Apache.
Was heißt "Domain nicht erreichbar"? Zeigt ein Browser nichts an? Geht ein Ping von außen auf den Server? Ist Port 80 offen? Läuft der Apache, nachdem Du ihn neu gestartet hast, oder stirbt er gleich wieder? Geht die Seite lokal bzw. aus dem LAN? Blockiert eine Firewall den Zugriff?
Ping geht. Es erscheint im Browser nur "Die Seite kann nicht angezeigt werden". Auch wenn ich ihn neu starte, tut sich nichts. Eine Weile zumindest nicht. Nach ca. 30 Minuten ging aber wieder alles. Gerade funktioniert auch alles tadellos. Das kommt immer nur, wenn ein bestimmter User eingeloggt ist, da geht nichts mehr auf der Seite. Grüße -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 03.03.07 schrieb Taner Ayaydin
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
http://www.de.debian.org/doc/manuals/securing-debian-howto/ Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Taner Ayaydin wrote:
Hallo Liste, hätte eine Frage.
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
Serversicherheit ist eine Konzeptfrage, das kannst du nicht auf wenige Punkte reduzieren. Ich gehe grundsätzlich davon aus, dass alles, zu dem kein Zugriff notwendig ist, auch direkt nicht möglich sein sollte. Daneben ist noch die Frage von Denial-of-Service zu klären und die maximale Komplexität der Konfiguration. Wenn nur noch du selbst die Konfiguration verstehst, und das auch erst, nachdem du dich wieder lange Zeit durch alle Details gewühlt hat, dann kommst du schnell zu dem Ergebnis, dass es irgendwo ein Optimum gibt zwischen Komplexität, Aufwand und Transparenz. Betrachte die Sache am besten schematisch. Ein Serverdienst sollte in Schichten untersucht und den Anforderungen entsprechend abgesichert werden. Netzwerk: - Alle Services, insbesondere die über das Netzwerk ansprechbaren schließen, die nicht benötigt werden. - Begrenze den das Anbieten des Dienstes auf die benötigten IP-Adressen. Wenn MySQL nur von localhost aus genutzt wird, dann sollte auch kein direkter Zugriff über das Netzwerk erlaubt sein. Zugriffsrechte: - Definiere genau, welche User, insbesondere anonymous, auf was zugreifen dürfen. Wenn du es nicht genau weisst, dann verbiete erst einmal alles, räume dann die Zugriffsrechte ein auf Resourcen und warte auf Schreie. (^-^) Wenn das nicht möglich ist, musst du die Zugriffsrechte für alle Resourcen einzeln durchgehen und konfigurieren. Ziemlich viel Arbeit. Verwaltung innerhalb des Dienstes: Danach wird es spezifisch, du musst je nach Applikation schauen, ob Rechte /Einschränkungen sinnvoll gesetzt wurden oder noch konfiguriert werden müssen. Bei Apache etwa würde ich, wenn möglich, den Zugriff auf Admin-Verzeichnisse nur von internen IP-Adressen aus erlauben und für das Internet komplett sperren. All das erfordert viel Zeit und Testen, das ist nicht an einem Nachmittag getan. Wenn du mehrere Dienste hast, die auf dem Server laufen für viele Domains und Kunden, wirst du dich vermutlich langsam herantasten müssen. Logkontrolle ist dafür unverzichtbar. Plane die Zeit für die Logkontrolle direkt mit ein. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Liste, erstmal vielen Dank für die zahlreichen Tipps, Informationen, Links und Buchempfehlungen. Sandy schrieb:
Taner Ayaydin wrote:
Hallo Liste, hätte eine Frage.
Bin relativ ein Anfänger in Sachen Linux. Ich würde mich nun mit der Serversicherheit gerne beschäftigen. Auf welche Sachen müsste man grundsätzlich achten? Wie könnte ich mich am besten als Newbie in die Sache einarbeiten?
Serversicherheit ist eine Konzeptfrage, das kannst du nicht auf wenige Punkte reduzieren. Ich gehe grundsätzlich davon aus, dass alles, zu dem kein Zugriff notwendig ist, auch direkt nicht möglich sein sollte.
Daneben ist noch die Frage von Denial-of-Service zu klären und die maximale Komplexität der Konfiguration. Wenn nur noch du selbst die Konfiguration verstehst, und das auch erst, nachdem du dich wieder lange Zeit durch alle Details gewühlt hat, dann kommst du schnell zu dem Ergebnis, dass es irgendwo ein Optimum gibt zwischen Komplexität, Aufwand und Transparenz.
Betrachte die Sache am besten schematisch. Ein Serverdienst sollte in Schichten untersucht und den Anforderungen entsprechend abgesichert werden.
Netzwerk: - Alle Services, insbesondere die über das Netzwerk ansprechbaren schließen, die nicht benötigt werden.
Ich müsste mal schauen, welche Dienste über das Netzwerk ansprechbar sind. Wie gehe ich das am besten durch? Ich sollte mir erst einmal Linux Basiswissen aneignen ;) In Plesk kann ich noch einstellen, dass die Plesk Konsole nur über eine bestimmte IP-erreichbar ist. Dann wäre nur der Port für Plesk mal abgesichert. Aber, meine eigene IP ist auch nicht immer dieselbe. Sie fängt mal mit 88 an, mal mit 91.
- Begrenze den das Anbieten des Dienstes auf die benötigten IP-Adressen. Wenn MySQL nur von localhost aus genutzt wird, dann sollte auch kein direkter Zugriff über das Netzwerk erlaubt sein.
Da habe ich mal kurz in Plesk geschaut, ob man das einstellen kann. Nichts. Ich sollte das Plesk echt mal rausschmeißen, so wie es aussieht. An sich brauche ich den Server eh nur für unsere einzige Community. Also, da wären keine Kunden angelegt oder andere Benutzer.
Zugriffsrechte: - Definiere genau, welche User, insbesondere anonymous, auf was zugreifen dürfen. Wenn du es nicht genau weisst, dann verbiete erst einmal alles, räume dann die Zugriffsrechte ein auf Resourcen und warte auf Schreie. (^- ^) Wenn das nicht möglich ist, musst du die Zugriffsrechte für alle Resourcen einzeln durchgehen und konfigurieren. Ziemlich viel Arbeit.
Ich habe hier nur root und ein webx User, der Shell Zugriff braucht und einen FTP-Zugang. Mehr eigentlich nicht.
Verwaltung innerhalb des Dienstes: Danach wird es spezifisch, du musst je nach Applikation schauen, ob Rechte /Einschränkungen sinnvoll gesetzt wurden oder noch konfiguriert werden müssen. Bei Apache etwa würde ich, wenn möglich, den Zugriff auf Admin-Verzeichnisse nur von internen IP-Adressen aus erlauben und für das Internet komplett sperren.
Mit dem Admin-Verzeichnis ist wahrscheinlich eine Adminkonsole von Apache gemeint, um ihn zu verwalten? Grüße Taner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Taner Ayaydin wrote:
Netzwerk: - Alle Services, insbesondere die über das Netzwerk ansprechbaren schließen, die nicht benötigt werden.
Ich müsste mal schauen, welche Dienste über das Netzwerk ansprechbar sind. Wie gehe ich das am besten durch? Ich sollte mir erst einmal Linux Basiswissen aneignen ;) In Plesk kann ich noch einstellen, dass die Plesk Konsole nur über eine bestimmte IP-erreichbar ist. Dann wäre nur der Port für Plesk mal abgesichert. Aber, meine eigene IP ist auch nicht immer dieselbe. Sie fängt mal mit 88 an, mal mit 91.
Auf der Serverkonsole kannst du mit "netstat" nachsehen, welche Ports offen sind und auf welche IPs sie gebunden sind. Schau dir einfach mal die Ausgabe von "netstat -antp" an. Das zeigt dir bestehende TCP-Verbindungen und lauschende TCP-Ports an. Die zweite Sichtweise ist die von extern. Nimm dazu ein Werkzeug wie nmap und taste deinen Server mal von außen ab. Auch von außerhalb deines eigenen Netzes aus dem Internet. Manche Dienste willst du nicht ins Internet anbieten. Dann beende jeden Dienst, der nicht benötigt wird. Suse z.B. hat als Standard NFS und Portmap aktiv. Wenn du keine Laufwerke über NFS anbietest oder mountest, dann sollten diese nicht laufen.
- Begrenze den das Anbieten des Dienstes auf die benötigten IP-Adressen. Wenn MySQL nur von localhost aus genutzt wird, dann sollte auch kein direkter Zugriff über das Netzwerk erlaubt sein.
Da habe ich mal kurz in Plesk geschaut, ob man das einstellen kann. Nichts. Ich sollte das Plesk echt mal rausschmeißen, so wie es aussieht. An sich brauche ich den Server eh nur für unsere einzige Community. Also, da wären keine Kunden angelegt oder andere Benutzer.
Solche Einstellungen wirst du wohl nur auf der Konsole machen können. Vergesse auf keinen Fall, deine Änderungen zu dokumentieren! Später suchst du dir einen Wolf ab, welche der Änderungen die Konfiguration gebrochen hat. Es hilft auch, die Konfigurationsdateien vor einer Änderung in ein Backup-Verzeichnis zu kopieren. cp /etc/my.cnf /etc/backup/my.cnf_2007-03-04 Schreibe kleine Kommentare zu den Änderungen, damit du später weisst, warum du daran gefummelt hast. Wenn du das konsequent machst, sparst du am Ende Zeit, weil du für die Fehlerbehebung weniger Zeit brauchst.
Zugriffsrechte: - Definiere genau, welche User, insbesondere anonymous, auf was zugreifen dürfen. Wenn du es nicht genau weisst, dann verbiete erst einmal alles, räume dann die Zugriffsrechte ein auf Resourcen und warte auf Schreie. (^- ^) Wenn das nicht möglich ist, musst du die Zugriffsrechte für alle Resourcen einzeln durchgehen und konfigurieren. Ziemlich viel Arbeit.
Ich habe hier nur root und ein webx User, der Shell Zugriff braucht und einen FTP-Zugang. Mehr eigentlich nicht.
Mein FTP ist so konfiguriert, dass root nicht sich über FTP einloggen kann und nur explizit freigegebene User auf FTP zugreifen können.
Verwaltung innerhalb des Dienstes: Danach wird es spezifisch, du musst je nach Applikation schauen, ob Rechte /Einschränkungen sinnvoll gesetzt wurden oder noch konfiguriert werden müssen. Bei Apache etwa würde ich, wenn möglich, den Zugriff auf Admin-Verzeichnisse nur von internen IP-Adressen aus erlauben und für das Internet komplett sperren.
Mit dem Admin-Verzeichnis ist wahrscheinlich eine Adminkonsole von Apache gemeint, um ihn zu verwalten?
Nö, damit sind administrative Verzeichnisse der installierten Seiten/Programme gemeint. Auf das Unterverzeichnis ./phpmyadmin darf nur der Adminrechner zugreifen, niemand sonst. Genauso auch für die Konfigverzeichnisse von Squirrelmail und anderen Applikationen oder interne Webseiten wie meine Mailserver-Statistiken. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Andre Tann
-
email.listen@googlemail.com
-
Juergen Langowski
-
Martin Schröder
-
Sandy Drobic
-
Taner Ayaydin