Linux - privilegierte Ports ?
Posted: 2007-08-18 14:18
Als ich mit Linux angefangen habe war eines der ersten Dinge die ich gelernt habe dass alle Ports von 0 - 1024 nur durch root gebunden werden können.
Dies hat sich auch immer bewahrheitet bis zum heutigen Tag.
Szenario:
Ein Kunde ruft an und teilt mit dass sein apache auf seinem Server nicht mehr läuft.
Nach kurzer Kontrolle stellte sich heraus dass er lief, jedoch konnte er Port 443 nicht mehr binden und ist dadurch nach einem restart nicht mehr online gegangen.
Nachdem ich nachgeschaut hatte was auf Port 443 läuft machte ich folgende Entdeckung:
Ein Tool welches sich als "httpd" mit Benutzer www-data ausgab lief auf diesem Port.
Nachdem ich das Nest mit italienischen Filmen gefunden hatte, inklusive einem IRC Tool das für Up- und Download zuständig war und einem Process Name Faker, war ja soweit alles klar.
Schuld war im übrigen eine Lücke in einem Galerie Script.
Ansich ist die Arbeit vollkommen erledigt und der Kunde happy.
Aber was mir bis jetzt Kopfzerbrechen bereitet ist:
Wie konnte der Process mit User www-data Port 443 binden nachdem apache2 diesen während eines "apache2ctl restart" kurzfristig geöffnet hatte?
Es war definitiv kein Konstrukt aus Child Prozessen mit einem Prozess als root im Hintergrund sondern nur dieser eine Prozess mit dem IRC Tool.
Dies hat sich auch immer bewahrheitet bis zum heutigen Tag.
Szenario:
Ein Kunde ruft an und teilt mit dass sein apache auf seinem Server nicht mehr läuft.
Nach kurzer Kontrolle stellte sich heraus dass er lief, jedoch konnte er Port 443 nicht mehr binden und ist dadurch nach einem restart nicht mehr online gegangen.
Nachdem ich nachgeschaut hatte was auf Port 443 läuft machte ich folgende Entdeckung:
Ein Tool welches sich als "httpd" mit Benutzer www-data ausgab lief auf diesem Port.
Nachdem ich das Nest mit italienischen Filmen gefunden hatte, inklusive einem IRC Tool das für Up- und Download zuständig war und einem Process Name Faker, war ja soweit alles klar.
Schuld war im übrigen eine Lücke in einem Galerie Script.
Ansich ist die Arbeit vollkommen erledigt und der Kunde happy.
Aber was mir bis jetzt Kopfzerbrechen bereitet ist:
Wie konnte der Process mit User www-data Port 443 binden nachdem apache2 diesen während eines "apache2ctl restart" kurzfristig geöffnet hatte?
Es war definitiv kein Konstrukt aus Child Prozessen mit einem Prozess als root im Hintergrund sondern nur dieser eine Prozess mit dem IRC Tool.