Senf wrote:Es will mir ja wohl auch niemand erzählen, das es durchaus korrekt ist, das dieser Port auf den meisten Servern offen
Erstmal ein Port ist immer dann offen wenn dort ein Dienst drauf läuft und der von aussen Ansprechbar ist. Mit aussen ist immer ein hinter deiner nächsten Firewall gemeint. Hast du einen Dienst auf einem Port laufen, willst aber z.B, das niemand von Netz A draufzugreifen kann aber von Netz B, konfiguriert man seine Firewall enstprechen, dass der Port für Netz A nicht erreichbar ist. Man sagt hier ganz gerne "der Port ist zu". Das ganze hat rein gar nichts mit einem einzigen Server zu tun, sondern kommt aus dem Begriffen der Firewall Architektur und ist eine sprachline Kurzform unter Firewalladmins, wobei alle Gesprächspartner wissen in welchem Verhältnis das "Port schliessen" (mittels Packetfiltering bestimmte Computer/User nicht mit dem Dienst kommunizieren lassen) gemeint ist.
Und bei jedem Dienst kannst du auch sagen auf welchem Port er laufen soll. Die Portscanner die man so gerne zur "Analyse" nimmt gucken nur ob auf einem Port was antwortet und vergleichen dann an Hand einer Liste was gerne auf dem Port läuft - so ist 80 TCP eben HTTP. Muss aber nicht sein. Ich kann auch mein SSHD darauf laufen lassen. Bessere Portscanner versuchen wenigstens noch rauszukriegen was das für ein Dienst ist.
Starie ich einen bösen Dienst auf Port 20001 ist der "offen" - er bleibt es auch immer bis der Dienst beeendet ist. Eine Firewall kann höchstens Traffic blocken. Aber hey, dann nimm ich halt nen anderen. Findet sich immer einer! Und wenn es sein muss tunnel ich eben über ICMP...
Warum verwendet ein potentieller Angreifer nen Portscanner? Er guckt mal was für Dienste laufen - identifiziert sie dann genau und guckt nach einer Schwachstelle, die er dann ausnutzt. Wie der Einbrecher, der erstmal guckt ob es Fenster (ein Diest auf einem Server) mit Sicherheitslücken (z.B. nur angeleht) gibt.
Der eigentlich Einsatzbereich für Portscanner für Admins ist, wenn man viele Dienste laufen hat, aber nicht alle von der Aussenwelt erreichbar sein sollen. Dann klopft man eben von aussem mal ab, ob die Firewall Rules entsprechend konfiguriert sind oder ob man was vergessen hat.
Und nebenbei, da ein Rootserver alleine in einem Netz steht laufen da eh nur Dienste drauf die auch von jedem erreichbar sein sollten. Ob der Dienst dann noch was authentifizert ist mal egal. Geht nur um die reine Kommunikation.
Zusammenfassung: man kann Ports nicht öffen oder schliessen! Man kann nur Dienste an Ports binden. Entweder läuft da was drauf oder nicht. Mann kann nur verhindert das ein Dienst auf einem Port gegenüber bestimmten anderen Netzen oder Rechnern antwortet - etwender mit Firewalls in einer entsprechenden Architektur oder bei einem einsamen Server im Internet besser über entsprechende Wrapper falls es die Software selbst nicht erlaubt. Jedoch sind Wrapper schon alleine aus Security Sicht vorzuziehen wenn es denn schon sein muss das derartige Dienste auf einem Rootserver laufen.
Offene und geschlosene Ports sind Terminoligien aus Firewall Architekturen und sind nicht auf einzelne Maschinen übertragbar.
Beim Laien - besonders stark unter nicht Unix Erfahrenen - hat sich ebenfalls eingebürgert "offener Port" zu sagen, wenn dort ein Dienst läuft. Schliessen könntest du den aber in diesem Zusammenhang nur wenn du den Dienst abschaltest. Korrekter wäre zumindestens "aktiver port" zu sagen oder besser "aktiver dienst auf port xyz"...
Läuft ein Dienst den man nicht kennt sollte man dem immer nachgehen. Dabei kann ggf. die Portnummer helfen um einzugrenzen, was gerne auf dem Port läuft. Daher kommt das auch mit dem Port scannen im Security Bereich. Läuft das was, was da nicht laufen darf? Gute böse Dienste verstecken sich vor Prozesslisten und Portscannern eh 8-)
Senf wrote:Gerne bin ich bereit hier dazu zu lernen, aber für mich ist das ein nicht einschätzbares Risiko. Angenommen ich bekomme mittels eines anderen Fehlers in Deiner Serverkonfiguration Zugriff auf Deinen Rechner, werde ich diesen Trojaner Port nutzen um z.B. andere Rechner im Netz anzugreifen.
Wenn ich erstmal auf einem Rechner bin mach ich was ich da will. Da brauch ich keine bestimten "offnen Ports". Und sollt der Rechner in einer DMZ stehen und mit Port X nicht durch die Firewall am Router lassen, dann tunnel ich eben Port X auf Port Y durch die Firewall. Juckt mich doch nicht.
Ich tunnel mich durch jede Firewall wie nen heisses Messer durch Butter ;-)
Aber keine Sorge, das sind Fähigkeiten jenseits der Script Kiddies, da muss man mehr können als ein Button drücken oder nen FXP Server zum Warez traden starten...
Also nochmal: Es ist völlig egal was für ein Port, das spielt keine Rolle. Du kannst jeden Dienst an jeden Port binden. Ist kein Indiz für gar nichts.
Statt über diese Dinge nachzudenken, lieber man einen Blick über den PHP Code bei dir gucken. PHP ist für 90% aller Einbrücke in Linux basierenden Server verantwortlich, weil die Autoren nicht coden können bzw. PHP kein echtes Security Model mit sich bringt. Deswegen ja auch mit die suexec und sonstigen Geschichten....
So genug der Prosa...
bye, Scythe42