Hallo wanne,
erstmal danke für deine Antwort!
Aber eines erstmal vorweg:
Allwissend bin ich auch nicht, was iptables betrifft, also Ratschläge nehme ich schon gerne an,
wenn man mir diese auch ausreichend erläutert!
(ich weiß, dass ich nichts weiß und das ist auch gut so)
Habe zwar kein Buch über iptables gelesen - dafür habe ich momentan zuviel um die Ohren, aber ich verwende Debian/Ubuntu schon intensivst seit rund 10 Jahren und habe haufenweise Online-Dokumentationen, Hackerforen und fertige Scripte zu iptables gelesen und analysiert...
Also mit den Grundlagen bin ich schon vertraut!
Zur Freischaltung meines Port 80 kann ich Dir mehr erzählen:
Da läuft ein Apache-Server, der ist gegen DDoS nochmals extra mit mod_evasive abgesichert (falls dir das etwas sagt) - ist getestet und ich werde über jeden Angriff via E-Mail informiert (Angriff ebenso schon getestet)
Das sieht dann so aus:
Code: Alles auswählen
Subject: HTTP BLACKLIST 127.0.0.1
mod_evasive HTTP Blacklisted 127.0.0.1
Es ist also mein eigener Wille, dass eingehende und ausgehende Verbindungen dort erlaubt sind.
Zudem meldet mir fail2ban täglich rund 10 Angreifer über SSH - der Root-Zugang ist selbstverständlich gesperrt (aber es wird trotzdem versucht
). Macht mir halt Spaß, diese armseeligen SSH-Angreifer an blocklist.de zu melden...
Nun ja, erstmal zu deiner ersten Kritik, dazu habe ich das gefunden:
Code: Alles auswählen
# Eingehende Verbindungen erlauben, die sich auf bestehende Verbindungen
# beziehen. (Damit es nach dem Verbindungsrequest eines Clients auch weitergeht)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Also für mich ist diese Regel von Grund auf wichtig, damit die Firewall nicht dicht macht...
Das kann man auch überall nachlesen, wenn du Google mit dieser Zeile fütterst, wirst du darüber sogar auf UNI-Seiten fündig.
wanne hat geschrieben:Im Übrigen sachen die man gar nciht unbedingt braucht: Warum muss ein Server ausgehende Verbindungen aufmachen können?
Also wenn der Client einen Request schickt, dann muss der Server ja auch eine Antwort geben können (Outgoing) - genauso bei FTP.
Client >--------
Anfrage------> Server
Client <--------
Antwort-----< Server
PS: Hierzu habe ich sogar eine Quelle aus einem Buch, schau hier:
Apache Webserver 2: Installation, Konfiguration, Programmierung
Also ich kann mich nicht beklagen, klar, es gibt immer etwas zu bemängeln, aber die Perfektion wird man wohl nie erreichen!
Ich hatte vorher "SuSE" auf dem Server laufen mit Yast und so - das war die reinste Katastrophe...
Also ich bin jetzt zufrieden, wo ich Ubuntu-Server laufen habe und bin auch sehr sensibel, was die Sicherheit betrifft, deswegen sind zum Beispiel auch SQL-Injections auf mod_rewrite Basis komplett unterbunden (Cross-Side-Scripting ebenfalls etc.) - die Grundlagen dazu habe ich vom Hacker Joseph McCray von der DEF CON (Hackerveranstaltung in Las Vegas) sozusagen persönlich
Einen deiner Tipps habe ich jedoch umgesetzt:
SMTP (Port 25) deaktiviert - das ist über die Loopback Zeile sowieso schon gestattet, der MTA (sendmail) soll ja auch noch Mails an mich schicken dürfen, also sind die SMTP-Zeilen tatsächlich völlig unnötig!
Und dass MySQL von außen erreichbar sein soll - ist wohl auch Quatsch - loopback Basis reicht vollkommen!
Also diese Zeilen auch ausgeklammert...
PS:Und, ja, da auf dem Server läuft mein Privatblog, kein Ebay oder Amazon