Apache2 härten

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache2 härten

Postby Patricknbg85 » 27. September 2012 07:00

Guten morgen,

Ich habe mal wieder eine Frage. :D
Ich habe natürlich zuvor im Internet gesucht und was gefunden aber ich weiß nicht, ob es alles ist.
Ich möchte dem Apache sicher machen und habe dazu das gefunden.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Externe Module wie z.B Fail2Ban oder DoS Deflate gegen Spam-Bots, (D)DoS und Crawlern absichert.
Dann natürlich mod_security installieren. Darauf achten das man immer die neuesten security patches installiert hat.

Seine Services wie PHP und MySQL absichern vielleicht sich dafür über eine SQL Firewall und eine PHP/ASP Firewall erkundigen.
Die php.ini kannst du noch selbst konfigurieren d.h z.B: das memory_limit oder verschiedene _time begrenzen. Kanns den safe_mode für PHP aktivieren was dir noch mehr Sicherheit bietet.

Die ServerSignatur auf off
Die ServerTokens auf Prod
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ist das so in Ordnung?
Oder fehlt da noch was?

LG
Patrick
Patricknbg85
 

Re: Apache2 härten

Postby Altrea » 27. September 2012 09:34

Hallo Patrick,

Diese Tipps klingen für mich wie eine lieblos zusammengesuchte Sammlung verschiedener Maßnahmen.
Sie ist weder vollständig noch strukturiert noch aktuell.

Beim härten von Komponenten gibt es meines Erachtens zwei Herangehensweisen:
  • vom äußersten Großen zum innersten Kleinen
  • vom innersten Kleinen zum äußersten Großen

Also entweder fängst du bei den Apache Einstellungen der jetzt aktiven Module an, kümmerst dich um den ganzen Detailkram und arbeitest dich langsam über Apache, Betriebssystem, Netzwerk nach außen, oder umgekehrt. Ich bevorzuge es beim großen anzufangen.

Bevor du über so Sachen wie Application- /SQL-Firewall nachdenkst, wie wäre es denn mit einer vernünftigen Hardwarefirewall vor dem Webserver? Wenn ein (D)DoS Angriff schon bis zu deinem Webserver vordringen kann und dort externe oder Apache-Module die Abwehr übernehmen müssen, ist es meines Erachtens schon viel zu spät und du kannst nur noch Schadensbegrenzung betreiben.

Sobald das "drum herum" geklärt ist solltest du dir ein paar Gedanken zum benötigten Betriebssystem machen. Muss es zwingend ein Windows sein oder kommst du auch mit einer Linux Distribution zurecht (erst recht wenn du Apache und nicht IIS nutzen willst)? Welche bietet sich da an und in welcher Version? Wie sicherst du das Betriebssystem selbst ab? Mache dir auch Gedanken dazu, in welchem Benutzerkontext deine Webserver Prozesse laufen sollen.
Bei den hinzuinstallierten Betriebssystemfunktionen gilt das Minimalprinzip: Nur das installieren und aktivieren was wirklich benötigt wird!

Als nächstes steht die Wahl der Einzelkomponenten an. Auch hier das Minimalprinzip. Brauchst du kein PERL, Tomcat oder was auch immer, installierst du es nicht. Alles was du nicht installierst, musst du später auch nicht absichern, auf dem neusten Stand halten, etc.

Bei den Modulen und Funktionen der Einzelkomponenten gilt dasselbe: Alles was nicht benötigt wird wird nicht aktiviert, alles was aktiviert wird muss überprüft werden, ob es besonders abgesichert werden muss. Manche Module können auf verschiedene Weise in zum Beispiel Apache integriert werden. So hast du zum Beispiel die Wahl ob du PHP als Apache-Modul oder über die (F)CGI Schnittstelle einbindest.

Dann und erst dann solltest du dir Gedanken über die Grundkonfiguration der Einzelkomponenten machen. Dazu findest du sicher genug Leselektüre im Internet. Beispiel: Pfad- Zeit- Ressourcenlimits setzen, Zugriffsregeln definieren, das Plappern abgewöhnen (übrigens wenn du die Apache Versionsnummer unterdrückst, solltest du auch daran denken, dass bestimmte Dokumente wie Readmes Changelogs, etc nicht zugänglich sind, sonst würde jemand dennoch leicht herausbekommen, welche Apache Version du einsetzt), etc. In Sachen PHP sei hier vor Allem auch "disable_functions" genannt, wo du nicht benötigte und Sicherheitskritische Funktionen (zum Beispiel die 5 Funktionen um Systemkommandos abzusetzen) einfach deaktivieren solltest. Der safe_mode von PHP ist übrigens seit PHP 5.4 entfernt worden.

Danach wäre die Applicationsecurity an der Reihe.

Als kleine Faustregel: Eine Firewall (egal welcher Art) ist nur ein Hilfsmittel um Einfallstore und Schnittstellen, die man nicht absichern kann oder nicht ausreichend abgesichert hat, zu überwachen und ggf. auf unerwartete oder erwartete Angriffe zu reagieren. Sie ist kein Allheilmittel.

mit freundlichen Grüßen,
Altrea

P.S.: Auch diese Auflistung erhebt keinen Anspruch auf Vollständigkeit und entbindet dich als Serveradministrator nicht davon, weitere Recherchen über Hardening/Härtung auszuführen ;) Letztendlich bist du als Serveradministrator für die Sicherheit verantwortlich und kannst für Schäden die dein Server verursacht ggf. rechtlich zur Verantwortung gezogen werden. Daher wäre die aller aller erste Frage die man sich stellen sollte: Muss ich zwingend selbst einen Webserver betreiben.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6539
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: Apache2 härten

Postby Patricknbg85 » 28. September 2012 06:20

Hi,

entschuldige mich, ich habe unüberlegt geschrieben (weil ich mich mit der Thematik noch nicht wirklich so gut auskenne)
und mich blöd ausgedrückt!

Ich habe auf einer RX200 S6 Maschine, ESX 5.0 installiert, im ESX habe ich SLES 11 64-Bit installiert und im SLES den Apache.

Um die Firewall muss ich mir keine Gedanken machen, dass machen andere ;-)

Meine Problematik bezieht sich wirklich "nur" auf den Apache sicher machen.

Hoffe ihr könnt mir ein paar hilfreiche Tipps geben,
wie schon angesprochen und auch mit recht sind meine Angaben aus dem Internet gesammelt.
Patricknbg85
 

Re: Apache2 härten

Postby Patricknbg85 » 08. January 2013 07:46

Hallo liebes Team!
Ich wünsche allen erst mal ein gesundes neues Jahr!!

Danke Altrea für deine Antwort!

Zu deinen Fragen:
"Muss ich zwingend selbst einen Webserver betreiben", ja muss ich, erstens gefällt mir die Thematik, zweitens finde ich es sehr interessant und drittens hat jeder mal angefangen.

"sicher genug Leselektüre im Internet", wenn man weiß nach was man im Internet suchen soll, dann sicherlich, wenn man aber die Stichwörter nicht weiß keine chance.


Das "Härtung " habe ich von einem Kollegen aus ner anderen Abteilung erfahren.
Die Beispiele: Pfad- Zeit- Ressourcenlimits setzen, Zugriffsregeln definieren, das Plappern abgewöhnen, sind mir schon mal eine Hilfe gewesen! Thx

Gibt es da nicht ein aktuelles Buch oder irgendetwas was ich mir besorgen kann zum lesen?
Das was ich im Inet gefunden habe war teils schon paar Jahre alt.
Oder gibt es da so etwas wie eine Checkliste um die verschiedenen Sicherheitseinstellungen vorzunehmen?

Ich habe das nicht so verstanden mit der Apache Versionsnummer unterdrücken,
egal nach welcher Anleitung aus dem Internet, die ist immer da?!? (ja, ich habe neugestartet)

Ich habe hier und kenn keinen anderen zu fragen, sorry!
Bin auf mich allein gestellt (und euch ;-))

Mit freundlichen Grüßen,
Patrick
Patricknbg85
 

Re: Apache2 härten

Postby Patricknbg85 » 09. January 2013 14:03

Hat keiner ne Ahnung? :cry:
Patricknbg85
 

Re: Apache2 härten

Postby Nobbie » 09. January 2013 14:38

Patricknbg85 wrote:Hat keiner ne Ahnung? :cry:


Doch, aber ich halte das für Blödsinn.

Wenn man eine normale Linux Server Distribution nimmt, dann ist das sicher genug. Alles weitere sehe ich als "blinden Aktionismus", diffuse Maßnahmen gegen eine noch diffusere Gefahr. Xampp ist ja bekanntlich nicht empfehlenswert als Serverumgebung, aber alle andere normalen Linux Distributionen werden mit angemessen vorkonfigurierten Bausteinen ausgeliefert.

Die sind sicher genug und es ist überhaupt nicht einfach, eine Schwachstelle zu finden. Und wenn letzteres wirklich einmal passiert, dann muss die Schwachstelle gefunden und beseitigt werden - aber präventiv alle möglichen Einschränkungen vorzunehmen, da kann ich keinen Sinn drin erkennen. Ich betreibe seit Jahren vServer im Internet und da ist noch nie eingebrochen worden und ich installiere auch nur Standardpakete (Ubuntu Server 10.x).
Nobbie
 
Posts: 6582
Joined: 09. March 2008 13:04

Re: Apache2 härten

Postby Patricknbg85 » 11. January 2013 09:32

Was soll darin Blödsinn sein, wenn man die Serversignatur abschaltet??

Klar ist Linux sicherer als Win. trotzallem finde ich wenn man die Grund-Sicherheit Einstellen kann, sollte man das tun!
Patricknbg85
 

Re: Apache2 härten

Postby Nobbie » 11. January 2013 14:50

Patricknbg85 wrote:Was soll darin Blödsinn sein, wenn man die Serversignatur abschaltet??


Was ist daran nicht Blödsinn? Oder anders herum: was ist der Sinn?

Patricknbg85 wrote: trotzallem finde ich wenn man die Grund-Sicherheit Einstellen kann, sollte man das tun!


Genau das ist doch aber schon der Fall - die Dinge, die da oben stehen (Ddos, Fail2Ban und und und) - wozu das? Eine wirklich echte DDOS Attacke kann man sowieso nicht mit Apache Mitteln abwehren, je nachdem kann man sie gar nicht abwehren, das liegt an der Art der Attacke.

Wenn man wirklich attackiert wird, kann man das einsetzen (u.a. Fail2Ban), aber sonst ist das mit Kanonen auf Spatzen schießen. Ich sage ja: diffuse Maßnahme gegen noch diffusere Gefahren.

Die größten Schwachstellen in großen Netzen sind (leider) nach wie vor unzureichende Passwörter, ansonsten ist es überhaupt nicht einfach, einen ("out of the box") konfigurierten Ubuntu Server o.ä. zu hacken.
Nobbie
 
Posts: 6582
Joined: 09. March 2008 13:04

Re: Apache2 härten

Postby Patricknbg85 » 14. January 2013 12:50

Den Sinn, den sehe ich darin, das es keinen anderen was angeht was für versionen ect. bei mir laufen.
Habe schon öfter gelesen das es den Skriptkiddies leicht gemacht wird wenn man es an lässt.

Ich denke das es reine Vorsichtsmaßnahmen sind, die nicht viel Zeit in Anspruch nehmen (wenn man es kann) und doch wirkvoll sind.

Aber wurscht, ich seh schon das es hier und so nicht zu dem erwünschten Ziel führt.
Patricknbg85
 

Re: Apache2 härten

Postby Altrea » 15. January 2013 17:19

Hallo Patricknbg85,

Patricknbg85 wrote:Ich habe das nicht so verstanden mit der Apache Versionsnummer unterdrücken,
egal nach welcher Anleitung aus dem Internet, die ist immer da?!? (ja, ich habe neugestartet)

Auf Apache Seite sind das folgende Parameter:
http://httpd.apache.org/docs/2.4/mod/co ... rsignature
http://httpd.apache.org/docs/2.4/mod/co ... rvertokens

Bei PHP diese:
http://php.net/manual/en/ini.core.php#ini.expose-php

Ich teile Nobbies Wortlaut in diesem Thema nicht. Man sollte auf öffentlich zugänglichen Produktivservern so wenig Informationen zum Patchstand und zur Konfiguration nach außen tragen wie irgend möglich, um nicht unnötig Hinweise auf eventuell bestehende bekannte Sicherheitslöcher (die man bei einem Produktivserver tunlichst garnicht erst aufkommen lassen sollte) zu geben.
Prinzipiell sei aber zu sagen, dass das verschleiern von Versionsnummern den Server nicht sicherer macht. Man bezeichnet sowas auch als Security through obscurity. Ein aktueller Server ohne bekannte Sicherheitslöcher benötigt eine solche Maßnahme nicht. Vielleicht war es ja auch das, worauf Nobbie hinaus wollte.

In allen anderen Punkten stimme ich Nobbie voll und ganz zu, vorallem in diesem: Ein Standard Apache einer beliebigen Linux Distribution ist für sich genommen schon sehr sehr sicher und dem XAMPP Paket daher in jedem Fall vorzuziehen ist, was solch eine Umgebung betrifft.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6539
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64

Re: Apache2 härten

Postby tentionfree » 24. January 2013 07:18

Bei den Modulen und Funktionen der Einzelkomponenten gilt dasselbe: Alles was nicht benötigt wird wird nicht aktiviert, alles was aktiviert wird muss überprüft werden, ob es besonders abgesichert werden muss. Manche Module können auf verschiedene Weise in zum Beispiel Apache integriert werden. So hast du zum Beispiel die Wahl ob du PHP als Apache-Modul oder über die (F)CGI Schnittstelle einbindest. Die Beispiele: Pfad- Zeit- Ressourcenlimits setzen, Zugriffsregeln definieren, das Plappern abgewöhnen, sind mir schon mal eine Hilfe gewesen! Meine Problematik bezieht sich wirklich "nur" auf den Apache sicher machen. Thankx.....
Usman Geee....
tentionfree
 
Posts: 1
Joined: 24. January 2013 07:15
XAMPP Version: 5.5.19
Operating System: xp


Return to Apache

Who is online

Users browsing this forum: No registered users and 7 guests