Webserver gehackt - benötige Hilfe

Apache, Lighttpd, nginx, Cherokee
dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-16 23:45

Hallo allerseits.

Folgendes Problem habe ich. Ich habe einen Server mit Suse 10.2 (inkl. aller Updates). Administriert wird mit Confixx Prof. - ebenfalls inkl. aller Updates. Auf diesem Server liegen insgesamt 7 Webseiten. Heute (16.11.) gegen Mittag muß mein Server gehackt wurden sein. Bemerkbar hat es sich gemacht indem alle Accounts auf eine Domain geleitet wurden über der sich der User einen Virus auf den Rechner läd (über IE). Rufe ich die Seite über Firefox auf so erhalte ich eine leere weiße Seite. Ich habe den Server neu gestartet und nauch dem reboot war alles wieder (scheinbar) in Ordnung. Alle Accounts liefen wieder. Nun weis ich das dieser Schein nur trügt und das Sicherheitsloch weder gefunden noch geschlossen wurde. Leider habe ich nur sehr geringe Kenntnisse und habe nicht wirklich eine Ahnung wie ich herausfinden kann auf welche Weise der Eindringling auf den Server gekommen und wie ich die entsprechende Sicherheitslücke wieder schließen kann.

Mit einer Neuinstallation ist es leider nicht getan, denn das gleiche Problem hatte ich vor ca. 2 Monaten schon einmal. Da habe ich nicht lange überlegt und habe den Rechner neu installieren lassen. (Vorher war Suse 10.0 und nach der Neuinstallation ist nun Suse 10.2 drauf) Eine blose Neuinstallation wird mir also nicht wirklich viel bringen.

Kann mir hier jemand helfen, herauszufinden wie der Angreifer das angestellt hat und wie ich es zukünftig verhindern kann!?
Danke!

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Webserver gehackt - benötige Hilfe

Post by Joe User » 2007-11-16 23:51

Ich wette auf eine Webapplikation mit erheblichen Sicherheitslücken. Welche WebApps setzt Du in welcher Version mit welchen Modulen/Modifikationen ein?

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 00:00

Joe User wrote:Ich wette auf eine Webapplikation mit erheblichen Sicherheitslücken. Welche WebApps setzt Du in welcher Version mit welchen Modulen/Modifikationen ein?


Ja genau das ist das Problem. Zum einem sind das "normale" html-Seiten mit Gästebuchscripten etc und zum anderem ist das Joomla. Joomla selbst ist bei allen installtionen aktuell (nicht 1.5 sondern 1.0.13). Da ich mir den Server aber den 7 Leuten teile (ich bin leider für den Server verantwortlich) kann ich nicht sagen welche der vielen Module die Schwachstelle hat. Im Forum bei Joomla habe ich auch schon nachgefragt, die konnten mir aber auch nicht weiter helfen. Das blöde ist halt dass ich nicht weis wonach und wo ich suchen soll um auch annähernd heraus zu bekommen wie das ganze passiert ist und wie ich es letztlich ein weiteres mal verhindern kann. Ich denke mal morgen werden die Seiten wieder nicht erreichbar sein.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Webserver gehackt - benötige Hilfe

Post by Joe User » 2007-11-17 00:11

Code: Select all

grep -i '=http' /path/to/access.log

Das gibt Dir alle versuchten URL-Includes aus, welche Dir einen groben Überblick über die häufigsten Einbruchsversuche gibt. Diese Einbruchsversuche kannst Du mit folgender Option in der php.ini ins Leere laufen lassen:

Code: Select all

allow_url_include = off

Das ist allerdings nur die häufigste Art Webserver zu kapern...

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 00:17

Am Besten den Server herunterfahren, und die recovery-console starten, und das Dilemma von dort aus untersuchen.
Jedenfalls solltest Du mit netstat, nmap und ähnlichem schauen, was alles offen ist bei Dir.
ps und top helfen vielleicht auch.
Eventuell hilft auch rkhunter oder ähnliches, ist aber wie alles andere in dieser Situation ebenfalls mit Vorsicht zu genießen.

Die logfiles können natürlich auch schon verändert worden sein. Diese solltest Du erst mal sichern, und z.B. mit grep überprüfen.
Am Besten gleich den ganzen server per imager sichern, und lokal speichern und in Ruhe untersuchen, während der server abgeschaltet bleibt.

Das wichtigste dürfte also sein, so schnell wie möglich den server abzuschalten und eine Sicherung der Daten anfertigen.

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 00:57

floogy wrote:Am Besten den Server herunterfahren, und die recovery-console starten, und das Dilemma von dort aus untersuchen.
Jedenfalls solltest Du mit netstat, nmap und ähnlichem schauen, was alles offen ist bei Dir.
ps und top helfen vielleicht auch.
Eventuell hilft auch rkhunter oder ähnliches, ist aber wie alles andere in dieser Situation ebenfalls mit Vorsicht zu genießen.

Die logfiles können natürlich auch schon verändert worden sein. Diese solltest Du erst mal sichern, und z.B. mit grep überprüfen.
Am Besten gleich den ganzen server per imager sichern, und lokal speichern und in Ruhe untersuchen, während der server abgeschaltet bleibt.

Das wichtigste dürfte also sein, so schnell wie möglich den server abzuschalten und eine Sicherung der Daten anfertigen.


Also erst mal Danke für die Tipps!

Netstat sagt folgendes:

Code: Select all

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         DGRAM                    1785   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    4504   @/org/freedesktop/hal/udev_event
unix  3      [ ]         DGRAM                    75192  /dev/log
unix  2      [ ]         DGRAM                    4505   @/var/run/hal/hotplug_socket2
unix  2      [ ]         DGRAM                    77254
unix  3      [ ]         STREAM     CONNECTED     76597
unix  3      [ ]         STREAM     CONNECTED     76596
unix  3      [ ]         STREAM     CONNECTED     76595
unix  3      [ ]         STREAM     CONNECTED     76594
unix  2      [ ]         DGRAM                    75087
unix  3      [ ]         STREAM     CONNECTED     75086
unix  3      [ ]         STREAM     CONNECTED     75085
unix  3      [ ]         STREAM     CONNECTED     75084
unix  3      [ ]         STREAM     CONNECTED     75083
unix  3      [ ]         STREAM     CONNECTED     75082
unix  3      [ ]         STREAM     CONNECTED     75081
unix  3      [ ]         STREAM     CONNECTED     75080
unix  3      [ ]         STREAM     CONNECTED     75079
unix  3      [ ]         STREAM     CONNECTED     75078
unix  3      [ ]         STREAM     CONNECTED     75077
unix  3      [ ]         STREAM     CONNECTED     75076
unix  3      [ ]         STREAM     CONNECTED     75075
unix  3      [ ]         STREAM     CONNECTED     75074
unix  3      [ ]         STREAM     CONNECTED     75073
unix  3      [ ]         STREAM     CONNECTED     75072
unix  3      [ ]         STREAM     CONNECTED     75071
unix  3      [ ]         STREAM     CONNECTED     75070
unix  3      [ ]         STREAM     CONNECTED     75069
unix  3      [ ]         STREAM     CONNECTED     75068
unix  3      [ ]         STREAM     CONNECTED     75067
unix  3      [ ]         STREAM     CONNECTED     75066
unix  3      [ ]         STREAM     CONNECTED     75065
unix  3      [ ]         STREAM     CONNECTED     75064
unix  3      [ ]         STREAM     CONNECTED     75063
unix  3      [ ]         STREAM     CONNECTED     75062
unix  3      [ ]         STREAM     CONNECTED     75061
unix  3      [ ]         STREAM     CONNECTED     75060
unix  3      [ ]         STREAM     CONNECTED     75059
unix  3      [ ]         STREAM     CONNECTED     75058
unix  3      [ ]         STREAM     CONNECTED     75057
unix  3      [ ]         STREAM     CONNECTED     75056
unix  3      [ ]         STREAM     CONNECTED     75055
unix  3      [ ]         STREAM     CONNECTED     75054
unix  3      [ ]         STREAM     CONNECTED     75053
unix  3      [ ]         STREAM     CONNECTED     75052
unix  3      [ ]         STREAM     CONNECTED     75051
unix  3      [ ]         STREAM     CONNECTED     75050
unix  3      [ ]         STREAM     CONNECTED     75049
unix  3      [ ]         STREAM     CONNECTED     75048
unix  3      [ ]         STREAM     CONNECTED     75047
unix  3      [ ]         STREAM     CONNECTED     75046
unix  3      [ ]         STREAM     CONNECTED     75045
unix  3      [ ]         STREAM     CONNECTED     75044
unix  3      [ ]         STREAM     CONNECTED     75043
unix  3      [ ]         STREAM     CONNECTED     75042
unix  3      [ ]         STREAM     CONNECTED     75041
unix  3      [ ]         STREAM     CONNECTED     75040
unix  3      [ ]         STREAM     CONNECTED     75039
unix  3      [ ]         STREAM     CONNECTED     75038
unix  3      [ ]         STREAM     CONNECTED     75037
unix  3      [ ]         STREAM     CONNECTED     75036
unix  3      [ ]         STREAM     CONNECTED     75035
unix  3      [ ]         STREAM     CONNECTED     75034
unix  3      [ ]         STREAM     CONNECTED     75033
unix  2      [ ]         DGRAM                    75031
unix  3      [ ]         STREAM     CONNECTED     11523
unix  3      [ ]         STREAM     CONNECTED     11522
unix  3      [ ]         STREAM     CONNECTED     11521
unix  3      [ ]         STREAM     CONNECTED     11520
unix  2      [ ]         DGRAM                    6896
unix  2      [ ]         DGRAM                    6452
unix  2      [ ]         DGRAM                    6146
unix  2      [ ]         DGRAM                    5777
unix  2      [ ]         DGRAM                    5254
unix  3      [ ]         STREAM     CONNECTED     5213   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     5212
unix  3      [ ]         STREAM     CONNECTED     4465
unix  3      [ ]         STREAM     CONNECTED     4464


Top gibt folgendes aus:

Code: Select all

g043:~ # top
top - 00:54:37 up  7:49,  1 user,  load average: 0.01, 0.02, 0.00
Tasks:  65 total,   2 running,  63 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0% us,  0.0% sy,  0.0% ni, 99.3% id,  0.7% wa,  0.0% hi,  0.0% si
Mem:    500576k total,   175252k used,   325324k free,     7644k buffers
Swap:  1052216k total,    20844k used,  1031372k free,    84192k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      16   0   720   68   40 S  0.0  0.0   0:00.67 init
    2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    3 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 events/0
    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper
    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread
    7 root      10  -5     0    0    0 S  0.0  0.0   0:00.08 kblockd/0
   34 root      15   0     0    0    0 S  0.0  0.0   0:00.00 kapmd
   55 root      15   0     0    0    0 S  0.0  0.0   0:00.40 pdflush
   56 root      15   0     0    0    0 S  0.0  0.0   0:01.40 kswapd0
   57 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0
  262 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue/0
  263 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod
  299 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 kpsmoused
  645 root      15   0     0    0    0 S  0.0  0.0   0:01.18 kjournald
  701 root      13  -4  1872  400  348 S  0.0  0.1   0:00.65 udevd
 1134 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd
 1145 root      20   0     0    0    0 S  0.0  0.0   0:00.00 shpchpd_event
 1549 messageb  16   0  3416  804  720 S  0.0  0.2   0:00.11 dbus-daemon
 1550 root      18   0  1596  212  212 S  0.0  0.0   0:00.00 resmgrd
 1570 root      16   0  4248 1336 1064 S  0.0  0.3   0:00.35 hald
 1862 root      16   0  4372  568  568 S  0.0  0.1   0:00.00 saslauthd
 1863 root      15   0  1896  744  568 S  0.0  0.1   0:00.25 syslog-ng
 1866 root      16   0  1656  336  308 S  0.0  0.1   0:00.00 klogd
 1874 root      16   0  4840  820  820 S  0.0  0.2   0:00.00 saslauthd
 1875 root      16   0  4372  180  180 S  0.0  0.0   0:00.00 saslauthd
 1876 root      17   0  4840  820  820 S  0.0  0.2   0:00.00 saslauthd
 1877 root      16   0  4372  232  232 S  0.0  0.0   0:00.00 saslauthd
 1878 nobody    18   0  1556  292  292 S  0.0  0.1   0:00.00 portmap
 1924 root      16   0  1368  240  240 S  0.0  0.0   0:20.78 zmd
 1974 root      15   0  2524  980  980 S  0.0  0.2   0:00.02 mysqld_safe
 2115 ntp       16   0  4172 4172 3124 S  0.0  0.8   0:00.01 ntpd
 2132 mysql     16   0  108m 5612 2996 S  0.0  1.1   0:37.55 mysqld
 2234 root      16   0  103m 1020  788 S  0.0  0.2   0:01.12 nscd
 2295 root      15   0  2364  700  644 S  0.0  0.1   0:00.09 xinetd
 2427 root      16   0  5424 1552 1404 S  0.0  0.3   0:00.05 master
 2461 root      15   0  1820  484  440 S  0.0  0.1   0:00.02 cron
 2479 root      16   0 55512 9.9m 4104 S  0.0  2.0   0:00.86 httpd2-prefork
 2492 root      17   0  1956  548  548 S  0.0  0.1   0:00.01 mingetty
 2493 root      17   0  1956  532  532 S  0.0  0.1   0:00.00 mingetty
 2498 root      18   0  1960  532  532 S  0.0  0.1   0:00.00 mingetty
 2501 root      18   0  1956  532  532 S  0.0  0.1   0:00.00 mingetty


und ps gibt das aus:

Code: Select all

g043:~ # ps
  PID TTY          TIME CMD
 3260 pts/0    00:00:00 bash
23299 pts/0    00:00:00 ps
g043:~ #



ist hier was auffällig? Ich denke mal hier sind unnötige Ports offen!?

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 01:40

Ähm... die Programme einzusetzten, ohne zu wissen, was sie machen bringt nichts.

man ps, man netstat etc. sind ein paar Anhaltspunkte.
z.B. dürfte es mit netstat -tulpen schon anders aussehen.

z.B. man shpchpd_even, oder http://www.google.de/search?q=shpchpd_event geben Anhaltspunkte zu den mit top dargestellten Prozessen.

ps axu gibt z.B. viel mehr Prozesse aus, als einfach nur ps.
Mit grep (man grep) läßt sich das dann absuchen, wenn man weiß, wonach man sucht.

Code: Select all

nmap localhost

zeigt wenigstens eine grobe Übersicht der offenen ports.

http://www.rootkit.nl/ hilft eventuell Schwachstellen aufzudecken.
last und w (hier hilft ausnahmsweise auch erst mal die einfache Eingabe auf der shell).

Wichtig ist, sich genau mit der Distribution, und der Serveradministration zu beschäftigen. Eigentlich ist das Kind schon in den Brunnen gefallen, und ich kann da auch nicht ohne weiteres weiterhelfen, zumal hier bestimmt so einige etwas tiefer in der Materie sind. Wenn ich das hier so sehe, dann überlege ich mir allmählich auf webspace umzusteigen ;-).

http://www.novell.com/documentation/#o
Dort gibt es das OpenSuse 10.2 Handbuch als PDF zum Download. Das ist ein Anfang.

http://www.rootforum.org/forum/view ... 875#295875
http://www.oreilly.de/catalog/linuxss2ger/inx.html
http://www.galileocomputing.de/openbook ... d1d052c75a

logwatch und logcheck sind Möglichkeiten sich in Zukunft über die Vorgänge auf dem Server ständig unterrichten zu lassen.

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 09:42

floogy wrote:Ähm... die Programme einzusetzten, ohne zu wissen, was sie machen bringt nichts.

man ps, man netstat etc. sind ein paar Anhaltspunkte.
z.B. dürfte es mit netstat -tulpen schon anders aussehen.

z.B. man shpchpd_even, oder http://www.google.de/search?q=shpchpd_event geben Anhaltspunkte zu den mit top dargestellten Prozessen.

ps axu gibt z.B. viel mehr Prozesse aus, als einfach nur ps.
Mit grep (man grep) läßt sich das dann absuchen, wenn man weiß, wonach man sucht.

Code: Select all

nmap localhost

zeigt wenigstens eine grobe Übersicht der offenen ports.

http://www.rootkit.nl/ hilft eventuell Schwachstellen aufzudecken.
last und w (hier hilft ausnahmsweise auch erst mal die einfache Eingabe auf der shell).

Wichtig ist, sich genau mit der Distribution, und der Serveradministration zu beschäftigen. Eigentlich ist das Kind schon in den Brunnen gefallen, und ich kann da auch nicht ohne weiteres weiterhelfen, zumal hier bestimmt so einige etwas tiefer in der Materie sind. Wenn ich das hier so sehe, dann überlege ich mir allmählich auf webspace umzusteigen ;-).

http://www.novell.com/documentation/#o
Dort gibt es das OpenSuse 10.2 Handbuch als PDF zum Download. Das ist ein Anfang.

http://www.rootforum.org/forum/view ... 875#295875
http://www.oreilly.de/catalog/linuxss2ger/inx.html
http://www.galileocomputing.de/openbook ... d1d052c75a

logwatch und logcheck sind Möglichkeiten sich in Zukunft über die Vorgänge auf dem Server ständig unterrichten zu lassen.


Oh gott - das ist wieder ne Menge... ich blick da so schnell gar nicht durch. die jeweiligen Hilfen die ich mit "man" erhalte sind meißt auf englisch und so gut mein englisch nicht - das dann noch in Kombination mit der restlichen Wissenslücke. Also eins steht fest - ich muß mich auf jeden Fall in Sachen Linux-Serveradministration weiter bilden!

Kann sich das mal jemand auf dem Server anschauen und mir helfen das Teil abzusichern!? Ich bin damit jetzt völlig überfordert! Ich habe so viel gelesen,- so viel versucht zu finden ohne wirklich zu wissen was ich finden will dass mir der Kopf Platzt!

Ich hatte schon mal versucht snort und Nessus zum laufen zu bekommen - da bin ich aber auch jämmerlich gescheitert. Snort ist zwar installiert aber so richtig verstehe dieses Programm nicht und Nessus habe ich nicht wirklich geschafft zu installieren.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 11:10

Code: Select all

 Sicherheit eines Netzwerks 345

    Schutz vor Einbrüchen 345
    Schutz vor Ausspähung 348
    Überflutungsangriffe (Denial-of-Service-Angriffe) 351
    Untersuchung des Netzwerkverkehrs 352


matzewe01, das sieht ja schonmal vielversprechend aus, wenn auch nur ein Anfang..

Mir hatte damals dieses Buch ein wenig geholfen:
http://www.oreilly.de/catalog/netsechacks2/#top Das gibt es auch in einer deutschen Auflage.

Kann sich das mal jemand auf dem Server anschauen und mir helfen das Teil abzusichern!? Ich bin damit jetzt völlig überfordert! Ich habe so viel gelesen,- so viel versucht zu finden ohne wirklich zu wissen was ich finden will dass mir der Kopf Platzt!


Das kenne ich auch von meiner Anfangszeit, nur, dass ich damals noch keinen vserver am Netz hatte, und keine DSL-Anbindung, aber die Testinstallationen mit logcheck und snort verunsicherten mich schon damals...

Vielleicht ist hier ja jemand so gnädig, und schaut sich das ganze mal in einer restricted shell eines neu angelegtem Gastzugangs mit Gruppen-Mitgliedschaft adm und eingeschränktem ssh-Zugang mal an, aber eigentlich ist auch davor zu warnen, da Du hier niemanden kennst, was ja auch umgekehrt gilt.

Besser wäre da schon, wenn Du in einer lokalen LUG (Linux User Group) oder im Bekanntenkreis jemand finden könntest, dem Du vertrauen kannst, der Dir hilft. Oder eben professionelle Hilfe, und wenn es erst mal nur das Wieder-Aufsetzen ist, mit einem minimalen Sicherheitskonzept für den Anfang:
(Vorher Daten, vor allem Benutzerdaten /home, /var/www und logfiles /var/log , sowie Konfigurationsdaten aus /etc des kompromittierten Servers sichern)
  1. Alle unnötigen Dienste und Programme deinstallieren, auch X z.B.
  2. Image der Erstinstallation mit den Werkzeugen des vserver ISP
  3. inetd deinstallieren
  4. portmap deinstallieren
  5. Mit nmap und ps axu prüfen, ob nur noch bekannte und sinnvolle Prozesse laufen
  6. /etc/hosts, /etc/hosts.deny und /etc/hosts.allow gewissenhaft prüfen
  7. /etc/apache/httpd gewissenhaft prüfen
  8. Shell-Zugang für root verbieten, und sichern, dabei verhindern, dass Du Dich selbst aussperrst.
  9. Security-Updates einbinden und installieren
  10. Auf Mailserver verzichten, bis dieser richtig konfiguriert ist
  11. Auf Webserver verzichten, bis dieser richtig konfiguriert ist
  12. Monitoring, wie logcheck, logwatch etc. installieren. Aber mit bedacht.
  13. ... to be continued (siehe Punkt Weiterbildung)
  14. Image des optimierten Systemzustandes mit den Werkzeugen des vserver ISP
  15. Backupstrategie
  16. Web- und Mailserver können gestartet werden
  17. Mailserver auf OpenRelay testen(!), Webserver testen.
  18. Sich in datenbankgestützte und dynamische Webseiten einarbeiten, diese "sicher" aufsetzen...
  19. Security Mailingliste Deiner Distribution abonnieren
  20. Weiterbilden und mit dem Lernen nicht aufhören ;-)
  21. Sicherheitskonzept überdenken,
  22. nach dem letzten Punkt optimiertes Sicherheitskonzept überprüfen und testen, beim vorletzten Punkt wiedereinsetzen
Keine Ahnung, ob das ein vorerst ausreichendes Konzept ist... Es ist definitiv noch nicht ein Hochsicherheitskonzept!
Zuhause einen Testserver im LAN/VM aufsetzen zum Lernen.

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 11:44

Hallo!

Erst mal Danke für die Tips die ich hier bekomme.

Gerade mit den Diensten bin ich ein wenig überforder und der NOTWENDIGEN Software. Ich habe hier zu Hause einen Windows Server mit xammp und damit komme ich bestens klar, weil mir die Umgebung vertraut ist. Auf diesem Server ist auch keine großartige Sicherheitssoftware oder Virenscanner notwendig da die Rootpartition geschützt ist und der Rechner jede Nacht neu startet. Sämtliche Änderungen am Laufwerk C:/*.* sind dann mit einem Neustart wieder rückgängig gemacht. Bei Windows weis ich welche Dienste ich benötige und die Firewall ist so eingerichtet dass sie nur die benötigten Ports freigibt. Den Rest erledigt der Router. Der Server wird über den Remotedesktop gewartet und konfiguriert.

Bei dem Webserver im Netz mit Linux weis ich ja nicht wirklich welche Dienste ich benötige, wie ich sie deaktiviere und wie ich den Server gescheid absichere. Mein "Sicherheitskonzept" lag bisher nur in der regelmäßigen Updatepflege des Systems und regelmäßige Backups.

Das empfolene Buch werde ich mir auf jeden falls kaufen und mich rein lesen, aber bis ich damit durch bin .....

In meinem Bekanntenkreis ist es immer anderes herum - die leute kommen zu mir wenn sie ein Problem mit einem Windows Rechner haben. Mit Linux hat keiner auch nur annähernd eine Ahnung.

Das schlimme für mich ist die völlige Hilflosigkeit zur Zeit weil ich mir das wissen nicht so schnell und komprimiert aneignen kann und wirklich zur Zeit wie "ein Schein ins Uhrwerk" schaue. Den Server vom Netz nehmen geht nicht wegen den Webseiten die da drauf liegen.

Ich könnte natürlich über Yast freudig die Software deinstallieren die nicht benötigt wird aber hier fängt es ja schon an - was benötige ich? Kann ich die Firewall über Yast konfigurieren ohne dass ich mich selbst aussperre? Wie das ganze vor kurzem schon einmal in absolut gleicher Weise passiert war, habe ich mir keine großen Gedanken gemacht sondern den Rechner gleich neu installiert, sämtlich Updates gemacht und die Useraccounts wieder eingerichtet. Ich hatte gehofft dass es damit "erledigt" wäre denn bis zu diesem Vorfall hatte ich Suse 10.0 und nach der Neuinstzallation hatte ich Suse 10.2 drauf.

timeless2
Posts: 416
Joined: 2005-03-04 14:45
Location: Paris

Re: Webserver gehackt - benötige Hilfe

Post by timeless2 » 2007-11-17 12:16

Du musst den umgekehrten Weg beschreiten, nimm ein Minimalsystem und installiere wirklich nur das, was du brauchst. Das alles lokal zu üben ohne breite Anbindung wäre nicht schlecht.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 12:17

dslthomas wrote:Erst mal Danke für die Tips die ich hier bekomme.
Ich hoffe die Tips sind so weit auch ok, vielleicht kann das ja mal jemand hier kommentieren, Rückmeldung könnte mir auch nicht schaden ;-).
dslthomas wrote:Gerade mit den Diensten bin ich ein wenig überfordert und der NOTWENDIGEN Software.

Dazu gehören wichtige Systemprozesse, und die Prozesse der Serverdienste, die Du nutzen willst, sonst nichts.

Wichtige Systemdienste sind in den höheren runleveln z.B.:

Code: Select all

anacron      
atd
cron         
klogd       
makedev     
rc.local   
saslauthd   
ssh         
sysklogd     
sysstat     

Hier einige man pages, die den Systemstart betreffen (SuSE-Spetzifisch eventuell anders):
Mit man Programmname meine ich auch Sekundärliteratur, die erstmal eventuell leichter zu bewältigen ist. Dabei ist aber zu beachten, dass das manual wahrscheinlich eine bessere, aber eben auch überwäligendere Möglichkeit der Information darstellt.
man init
man runlevel
man sysvconfig
man sysv-rc-conf
dslthomas wrote: Ich habe hier zu Hause einen Windows Server mit xammp und damit komme ich bestens klar, weil mir die Umgebung vertraut ist.

xampp gilt nicht als geeignet für v/rootserver im Netz, sondern ist als Entwicklerumgebung gedacht, und da auch sinnvoll.
dslthomas wrote:Mein "Sicherheitskonzept" lag bisher nur in der regelmäßigen Updatepflege des Systems und regelmäßige Backups.

Was ja schon mal besser ist als nichts, aber eben zu wenig...
dslthomas wrote:In meinem Bekanntenkreis ist es immer anderes herum - [...] Mit Linux hat keiner auch nur annähernd eine Ahnung.

Deshalb der Hinweis auf eine lokale LUG.
dslthomas wrote:Das schlimme für mich ist die völlige Hilflosigkeit zur Zeit weil ich mir das wissen nicht so schnell und komprimiert aneignen kann [...]
Das kann ich mir viorstellen, deshalb ja auch die Sichwortartige Auflistung der möglichen Maßnahmen.
dslthomas wrote:Den Server vom Netz nehmen geht nicht wegen den Webseiten die da drauf liegen.

Solltest Du aber, denn z.B. als Open Relay wird Dein Server zur Spamschleuder usw.
dslthomas wrote:Ich könnte natürlich über Yast freudig die Software deinstallieren die nicht benötigt wird aber hier fängt es ja schon an - was benötige ich? Kann ich die Firewall über Yast konfigurieren ohne dass ich mich selbst aussperre?
Netwerkdienste und sshd sollten laufen, damit Du zugreifen kannst.
dslthomas wrote:[...]denn bis zu diesem Vorfall hatte ich Suse 10.0 und nach der Neuinstallation hatte ich Suse 10.2 drauf.

Aktuell wäre 10.3, aber 10.2 ist denke ich auch schon mal besser als 10.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 12:34

Der Vorschlag von timeless2 ist wegweisend, ich weiß nur nicht wie das bei SuSE läuft, bei debian gibt es ein base-system und tasks, die per tasksel ausgewählt werden:
http://www.debian.de/releases/stable/i3 ... 02.html.de

Code: Select all

Programmgruppe    Größe nach der Installation (MB)    Herunterzuladende Größe (MB)    Für die Installation benötigt (MB)
Web-Server                     35                        11                                    46


Die normale Basis-Installation von Woody benötigte 117 MB auf dem Computer des Autors.
Die Installations-Größe aller Standard-Pakete war 123 MB, mit einer Download-Größe von 38
MB. Insgesamt wurden also 278 MB für alle Basis- und Standard-Pakete benötigt.

http://www.debian.org/releases/woody/i3 ... -size-list

Für SuSE gibt es bestimmt auch solche Programm/Anwendungsfelder-Gruppen.

Ich bin mir nach dem lesen der ersten Mails aus diesem thread nicht mehr so sicher, wie das bei SuSE mit dem Minimalsystem ist:
http://lists.opensuse.org/opensuse-fact ... 00100.html

Das ist wohl auch der falsche Einstieg (gibt es keine Textinstallation mehr?):
http://www.howtoforge.com/perfect_setup_opensuse_10.2

Schon besser:
http://de.opensuse.org/Installationshilfe

Wie man's nimmt:

Code: Select all

Minimalinstallation: 500 MB
8O
Last edited by floogy on 2007-11-17 13:11, edited 1 time in total.

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 13:07

Auf die Setups habe ich keinen Einfluss, ich kann das System nur neu installieren lassen und müßte dann die nicht benötigten Pakete wieder entfernen. Das Image was bei der Neuinstallation genutzt wird bleibt immer das gleiche.

Also ich glaub ich muß dem leben wie es jetzt. Ich kann bei erneuter Manipulation nur den Server neu starten damit alle Accounts bis zum nächsten mal wieder laufen - ich bin fertig - das sind alles bömische Wälder und das einlesen dauert Wochen.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 13:21

Mache es wenigstens wie nach dem ersten Angriff, mache alles platt und installiere neu (nach dem Backup der wichtigen Daten, wie schon erwähnt) und deinstalliere dann portmap, (x)inetd, famd usw.
Achte dabei darauf, dass sshd und andere wichtige Dienste nicht durch xinetd oder inetd gestartet wird, poste dazu mal folgende Ausgabe hier:

Code: Select all

cat /etc/inetd.conf 
cat /etc/hosts
cat /etc/hosts.allow
cat /etc/hosts.deny
chkconfig --list

http://www.easylinux.de/Artikel/ausgabe ... chkconfig/

Außerdem mal nmap localhost posten.

sshd absichern:
z.B. http://www.uni-köln.de/rrzk/kompass/106/k10613.html

Vielleicht auch interessant, ohne Dich noch mehr belasten zu wollen (debian spezifisch, und Vorsicht vor copy and paste HOWTOs):
http://www.pro-linux.de/work/rootserver/teil1.html
http://www.pro-linux.de/work/rootserver/teil2.html
Last edited by floogy on 2007-11-17 13:28, edited 1 time in total.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Webserver gehackt - benötige Hilfe

Post by Roger Wilco » 2007-11-17 13:27

floogy wrote:Ich hoffe die Tips sind so weit auch ok, vielleicht kann das ja mal jemand hier kommentieren, Rückmeldung könnte mir auch nicht schaden ;-).

Keine Angst, es wird schon jemand schreien, wenn er/sie anderer Meinung ist. Und bis jetzt waren deine Ausführungen doch gut. ;)

floogy wrote:Außerdem mal nmap localhost posten.

Das wird die gleiche Ausgabe wie `netstat -tplen` liefern, bzw. nur die Ports anzeigen, die auf 0.0.0.0 (also allen NW-Interfaces) oder 127.0.0.1 geöffnet sind.
Eine Überprüfung von außen, von einem vertrauenswürdigen System aus, wäre sinnvoller.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 13:34

http://www.uni-köln.de/rrzk/kompass/106/k10613.html

Das scheint wirklich eine kompakte und gute Einführung zu sein, habe die ersten drei Abschnitte mal überflogen. Es gibt einem eine Idee, was zu tun ist.

Hallo Roger,
Roger Wilco wrote:
floogy wrote:Ich hoffe die Tips sind so weit auch ok, vielleicht kann das ja mal jemand hier kommentieren, Rückmeldung könnte mir auch nicht schaden ;-).

Keine Angst, es wird schon jemand schreien, wenn er/sie anderer Meinung ist. Und bis jetzt waren deine Ausführungen doch gut. ;)

danke, wie gesagt Rückmeldung tut ganz gut, da es sich in meinem Bekanntenkreis ähnlich verhält, wie bei Thomas. In meinem Freundeskreis gibt es azuch keine Un*x Geeks. Bin halt Hobby-Admin, und in dem Bereich nicht beruflich unterwegs, will es aber trotzdem ordentlich machen, damit es im schlimmsten Fall nicht zu rechtlichen Problemen kommt. Außerdem will ich nicht durch Unkenntnis Unbeteiligte z.B. durch einen Open Relay schädigen...
Last edited by floogy on 2007-11-17 13:39, edited 1 time in total.

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 13:38

floogy wrote:Mache es wenigstens wie nach dem ersten Angriff, mache alles platt und installiere neu (nach dem Backup der wichtigen Daten, wie schon erwähnt) und deinstalliere dann portmap, (x)inetd, famd usw.
Achte dabei darauf, dass sshd und andere wichtige Dienste nicht durch xinetd oder inetd gestartet wird, poste dazu mal folgende Ausgabe hier:

Code: Select all

cat /etc/inetd.conf 
cat /etc/hosts
cat /etc/hosts.allow
cat /etc/hosts.deny
chkconfig --list

http://www.easylinux.de/Artikel/ausgabe ... chkconfig/

Außerdem mal nmap localhost posten.

sshd absichern:
z.B. http://www.uni-köln.de/rrzk/kompass/106/k10613.html

Vielleicht auch interessant, ohne Dich noch mehr belasten zu wollen (debian spezifisch, und Vorsicht vor copy and paste HOWTOs):
http://www.pro-linux.de/work/rootserver/teil1.html
http://www.pro-linux.de/work/rootserver/teil2.html


Also eine Neuinstallation wird das Problem nicht beeinflussen denn das habe ich ja schon gemacht und trotz dem ist der gleiche Angriff wieder passiert.

zu cat /etc/inetd.conf:

ich habe cat /etc/xinetd.conf gefunden

Code: Select all

g043:/ # cat /etc/xinetd.conf
#
# xinetd.conf
#
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#

defaults
{
        log_type        = FILE /var/log/xinetd.log
        log_on_success  = HOST EXIT DURATION
        log_on_failure  = HOST ATTEMPT
#        only_from       = localhost
        instances       = 30
        cps             = 50 10

#
# The specification of an interface is interesting, if we are on a firewall.
# For example, if you only want to provide services from an internal
# network interface, you may specify your internal interfaces IP-Address.
#
#       interface       = 127.0.0.1

}

includedir /etc/xinetd.d


zu cat /etc/hosts:

Code: Select all

g043:/ # cat /etc/hosts
#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
85.xxx.xxx.xx   g043.xxxx.xxxxxxxxx.de g043


zu cat /etc/hosts.allow:

Code: Select all

g043:/ # cat /etc/hosts.allow
# /etc/hosts.allow
# See 'man tcpd' and 'man 5 hosts_access' for a detailed description
# of /etc/hosts.allow and /etc/hosts.deny.
#
# short overview about daemons and servers that are built with
# tcp_wrappers support:
#
# package name  |       daemon path     |       token
# ----------------------------------------------------------------------------
# ssh, openssh  |  /usr/sbin/sshd       |  sshd, sshd-fwd-x11, sshd-fwd-<port>
# quota         | /usr/sbin/rpc.rquotad |  rquotad
# tftpd         | /usr/sbin/in.tftpd    |  in.tftpd
# portmap       |  /sbin/portmap        |  portmap
#                       The portmapper does not verify against hostnames
#                       to prevent hangs. It only checks non-local addresses.
#
# (kernel nfs server)
# nfs-utils     |  /usr/sbin/rpc.mountd |  mountd
# nfs-utils     |  /sbin/rpc.statd      |  statd
#
# (unfsd, userspace nfs server)
# nfs-server    |  /usr/sbin/rpc.mountd |  rpc.mountd
# nfs-server    |  /usr/sbin/rpc.ugidd  |  rpc.ugidd
#
# (printing services)
# lprng         |  /usr/sbin/lpd        |  lpd
# cups          |  /usr/sbin/cupsd      |  cupsd
#                       The cupsd server daemon reports to the cups
#                       error logs, not to the syslog(3) facility.
#
# (Uniterrupted Power Supply Software)
# apcupsd       |  /sbin/apcupsd        |  apcupsd
# apcupsd       |  /sbin/apcnisd        |  apcnisd
#
# All of the other network servers such as samba, apache or X, have their own
# access control scheme that should be used instead.
#
# In addition to the services above, the services that are started on request
# by inetd or xinetd use tcpd to "wrap" the network connection. tcpd uses
# the last component of the server pathname as a token to match a service in
# /etc/hosts.{allow,deny}. See the file /etc/inetd.conf for the token names.
# The following examples work when uncommented:
#
#
# Example 1: Fire up a mail to the admin if a connection to the printer daemon
# has been made from host foo.bar.com, but simply deny all others:
# lpd : foo.bar.com : spawn /bin/echo "%h printer access" |
#                               mail -s "tcp_wrappers on %H" root
#
#
# Example 2: grant access from local net, reject with message from elsewhere.
# in.telnetd : ALL EXCEPT LOCAL : ALLOW
# in.telnetd : ALL :
#    twist /bin/echo -e "nraccess from %h declined.nrGo away.";sleep 2
#
#
# Example 3: run a different instance of rsyncd if the connection comes
#            from network 172.20.0.0/24, but regular for others:
# rsyncd : 172.20.0.0/255.255.255.0 : twist /usr/local/sbin/my_rsyncd-script
# rsyncd : ALL : ALLOW
#


zu cat /etc/hosts.deny:

Code: Select all

g043:/ # cat /etc/hosts.deny
# /etc/hosts.deny
# See 'man tcpd' and 'man 5 hosts_access' as well as /etc/hosts.allow
# for a detailed description.

http-rman : ALL EXCEPT LOCAL


zu chkconfig --list:

Code: Select all

g043:/ # chkconfig --list
Makefile                  0:off  1:off  2:off  3:off  4:off  5:off  6:off
SuSEfirewall2_init        0:off  1:off  2:off  3:off  4:off  5:off  6:off
SuSEfirewall2_setup       0:off  1:off  2:off  3:off  4:off  5:off  6:off
aaeventd                  0:off  1:off  2:off  3:off  4:off  5:off  6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
alsasound                 0:off  1:off  2:off  3:off  4:off  5:off  6:off
apache2                   0:off  1:off  2:off  3:on   4:off  5:on   6:off
atd                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
autoyast                  0:off  1:off  2:off  3:off  4:off  5:off  6:off
cron                      0:off  1:off  2:on   3:on   4:off  5:on   6:off
dbus                      0:off  1:off  2:on   3:on   4:off  5:on   6:off
earlykbd                  0:off  1:off  2:off  3:off  4:off  5:on   6:off
earlysyslog               0:off  1:off  2:off  3:off  4:off  5:on   6:off
fbset                     0:off  1:on   2:on   3:on   4:off  5:on   6:off
gpm                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
haldaemon                 0:off  1:off  2:on   3:on   4:off  5:on   6:off
joystick                  0:off  1:off  2:off  3:off  4:off  5:off  6:off
kbd                       0:off  1:on   2:on   3:on   4:off  5:on   6:off  S:on
mdadmd                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
mysql                     0:off  1:off  2:on   3:on   4:off  5:on   6:off
nessusd                   0:off  1:off  2:off  3:on   4:off  5:on   6:off
network                   0:off  1:off  2:on   3:on   4:off  5:on   6:off
nfs                       0:off  1:off  2:off  3:on   4:off  5:on   6:off
nfsboot                   0:off  1:off  2:off  3:on   4:off  5:on   6:off
novell-zmd                0:off  1:off  2:off  3:on   4:on   5:on   6:off
nscd                      0:off  1:off  2:off  3:on   4:off  5:on   6:off
ntp                       0:off  1:off  2:off  3:on   4:off  5:on   6:off
openct                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
pcscd                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
portmap                   0:off  1:off  2:off  3:on   4:off  5:on   6:off
postfix                   0:off  1:off  2:off  3:on   4:off  5:on   6:off
powerd                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
powersaved                0:off  1:off  2:off  3:off  4:off  5:off  6:off
quotad                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
random                    0:off  1:off  2:on   3:on   4:off  5:on   6:off
raw                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
resmgr                    0:off  1:off  2:on   3:on   4:off  5:on   6:off
rpasswdd                  0:off  1:off  2:off  3:off  4:off  5:off  6:off
rpmconfigcheck            0:off  1:off  2:off  3:off  4:off  5:off  6:off
saslauthd                 0:off  1:off  2:off  3:on   4:off  5:on   6:off
skeleton.compat           0:off  1:off  2:off  3:off  4:off  5:off  6:off
snort                     0:off  1:off  2:on   3:on   4:off  5:on   6:off
spamd                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
sshd                      0:off  1:off  2:off  3:on   4:off  5:on   6:off
syslog                    0:off  1:off  2:on   3:on   4:off  5:on   6:off
vsftpd                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
xdm                       0:off  1:off  2:off  3:off  4:off  5:on   6:off
xinetd                    0:off  1:off  2:off  3:on   4:off  5:on   6:off
xinetd based services:
        chargen:            off
        chargen-udp:        off
        daytime:            off
        daytime-udp:        off
        echo:               off
        echo-udp:           off
        imap:               on
        netstat:            off
        servers:            off
        services:           off
        systat:             off
        time:               off
        time-udp:           off
        vsftpd:             on


zu nmap localhost:

das geht nicht weil folgende Meldung kommt:

Code: Select all

g043:/ # nmap localhost
-bash: nmap: command not found

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 13:45

dslthomas wrote:Also eine Neuinstallation wird das Problem nicht beeinflussen denn das habe ich ja schon gemacht und trotz dem ist der gleiche Angriff wieder passiert.

Aber doch nicht in der ersten Sekunde!
Als erstes machst Du nach der Neuinstallation folgendes (bitte um entsprechende Kommandos für SuSE):

Code: Select all

su
/etc/init.d/apache stop
/etc/init.d/postfix stop

Dann kümmerst Du Dich in Ruhe um den Rest. Wird schon werden. Die Alternative könnte drastisch ausfallen: Transferkosten, Staatsanwaltschaft... Ich betone könnte! Ich will Dich nicht noch kopfscheuer machen, Du hast ja nun schon genug Stress abbekommen.
Erstmal ist wichtig Dich selbst aus der Schußlinie zu bringen, da hilft keine Vogel-Strauß-Politik, leider.
Gehe am Besten mal Joggen, und nehme ein Entspannungsbad, dann können wir weitersehen.

EDIT:

Ich habe das mal überflogen, und es sieht gar nicht mal so schlecht aus, nur, dass wahrscheinlich viel zu viel läuft und installiert ist.
Der xinetd startet so gut wie nichts, was schon mal gut ist. Den deinstallieren wir trotzdem.
includedir /etc/xinetd.d

Bitte gib mal noch ein ls /etc/xinetd.d.
Wichtig wäre noch nmap und die sshd Konfiguration.
Die letzte Zeile in der /etc/hosts, das bist Du, oder? Überprüfe das bitte, das mit dem unkenntlich machen war wichtig/richtig. Bitte auch in Zukunft darauf achten wichtige Passagen wie Passwörter, eigene IP's und Adressen/Benutzernamen zu verschleiern, obwohl "Security by Obscurity" kein Konzept ist das trägt.

Ich gehe jetzt erst mal an die frische Luft...

EDIT:
Kümmer Dich auch um die Backups. Bis dann...

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 14:08

floogy wrote:
dslthomas wrote:Also eine Neuinstallation wird das Problem nicht beeinflussen denn das habe ich ja schon gemacht und trotz dem ist der gleiche Angriff wieder passiert.

Aber doch nicht in der ersten Sekunde!
Als erstes machst Du nach der Neuinstallation folgendes (bitte um entsprechende Kommandos für SuSE):

Code: Select all

su
/etc/init.d/apache stop
/etc/init.d/postfix stop

Dann kümmerst Du Dich in Ruhe um den Rest. Wird schon werden. Die Alternative könnte drastisch ausfallen: Transferkosten, Staatsanwaltschaft... Ich betone könnte! Ich will Dich nicht noch kopfscheuer machen, Du hast ja nun schon genug Stress abbekommen.
Erstmal ist wichtig Dich selbst aus der Schußlinie zu bringen, da hilft keine Vogel-Strauß-Politik, leider.
Gehe am Besten mal Joggen, und nehme ein Entspannungsbad, dann können wir weitersehen.

EDIT:

Ich habe das mal überflogen, und es sieht gar nicht mal so schlecht aus, nur, dass wahrscheinlich viel zu viel läuft und installiert ist.
Der xinetd startet so gut wie nichts, was schon mal gut ist. Den deinstallieren wir trotzdem.
includedir /etc/xinetd.d

Bitte gib mal noch ein ls /etc/xinetd.d.
Wichtig wäre noch nmap und die sshd Konfiguration.
Die letzte Zeile in der /etc/hosts, das bist Du, oder? Überprüfe das bitte, das mit dem unkenntlich machen war wichtig/richtig. Bitte auch in Zukunft darauf achten wichtige Passagen wie Passwörter, eigene IP's und Adressen/Benutzernamen zu verschleiern, obwohl "Security by Obscurity" kein Konzept ist das trägt.

Ich gehe jetzt erst mal an die frische Luft...

EDIT:
Kümmer Dich auch um die Backups. Bis dann...


Der letzte Eintrag ist der Server selbst.

Hier mal die Ausgabe von ls /etc/xinetd.d

Code: Select all

g043:~ # ls /etc/xinetd.d
chargen  chargen-udp  daytime  daytime-udp  echo  echo-udp  imap  netstat  servers  services  systat  time  time-udp  vsftpd

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 14:58

matzewe01 wrote:
floogy wrote:
Ich habe das mal überflogen, und es sieht gar nicht mal so schlecht aus, nur, dass wahrscheinlich viel zu viel läuft und installiert ist.
Der xinetd startet so gut wie nichts, was schon mal gut ist. Den deinstallieren wir trotzdem.


Aber nur, wenn er kein FTP benötigt. vsftp und confixx!
Eine alternative wäre von der PROFTP bedeutet jedoch eine komplette neuinstallation von confixx.
VSFTP läuft in dem Falle nicht als Service sondern der Dienst wird bei bedarf über xinet.d gestartet.

Gut, was ist denn mit dem hier:

Code: Select all

imap:               on

vsftpd wird dann ja eventuell benötigt. Wie schaltet man unter SuSE xinetd services ab, die nicht mehr benötigt werden?
matzewe01 wrote:Er sollte meines Erachtens zuerst prüfen wie das Problem auf das System kam.
Wenn das Image von einem vertrauenswürdigen Provider stammt und die updates zeitnah installiert wurden, ist eher weniger mit einem Problem auf Seite des Systems als auch Confixx zu rechnen. Die Ursache liegt mit hoher Sicherheit an den eingesetzten Perl / PHP Skripten und Modulen von Joomla.

Liegen die bei SuSE auch unter /var/log ?
matzewe01 wrote:Da hilft aber offen gestanden allerhöchstens ein init 0 und ein ausgiebiges durchleuchten der Logdateien.
[...]
Wenn man alle Abhängigkeiten abgefackelt hat, hat man für den Betrieb das notwendigste installiert.

Was meinst Du mit "Wenn man alle Abhängigkeiten abgefackelt hat"?

Ich würde mal sagen, dass ich mich dann erst mal ausklinke, da ich zu wenig Ahnung von SuSE und confixx habe, letzteres habe ich als erstes deinstalliert, zu meinem aktuellen Vertrag gehört scheinbar Plesk, das aber auch nicht installiert ist. Ich mache alles über ssh.

Ich würde aber schon sagen, dass generell chkconfig zu viel startende Dienste anzeigt, oder? Aber wahrscheinlich hast Du recht, und die log-Auswertung sollte an erster Stelle stehen, damit man die unsichere Webapplikation herausfindet und abdichtet.

Bei mir steht in der /etc/hosts.deny übrigens

Code: Select all

ALL: PARANOID

So, wie ich das sehe, wird z.B. der Zugriff durch hosts.allow und hosts.deny nicht richtig geregelt, oder?
http://lists.debian.org/debian-devel/20 ... 01414.html[/quote]

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 15:27

Also ich habe das so alles aufgegeben - ich habe keine Ahnung was hier mache und das bringt absolut nichts!

Kann mir jemand sagen wie ich KDE via SSH auf dem Server im Standardsystem installieren kann? Über Yast bietet er mir nur die einzelnen Komponenten an und ich weis nicht welche das Standardsystem beinhalten!?

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 15:35

Joe User wrote:

Code: Select all

grep -i '=http' /path/to/access.log

Das gibt Dir alle versuchten URL-Includes aus, welche Dir einen groben Überblick über die häufigsten Einbruchsversuche gibt. Diese Einbruchsversuche kannst Du mit folgender Option in der php.ini ins Leere laufen lassen:

Code: Select all

allow_url_include = off

Das ist allerdings nur die häufigste Art Webserver zu kapern...


Also erstmal das hier befolgen, und auch nach anderen möglichen Angriffen greppen, und dann weitersehen.

Mit den Einstellungen zum TCP-Wrapper in /etc/hosts.allow und /etc/hosts.deny bin ich mir allerdings nicht so sicher, ob das nicht falsch gereget ist bei Thomas.

Ich denke man sollte in /etc/hosts.deny explizit alles verbieten, und dann in der /etc/hosts.allow nur die für confixx und den Serverbetrieb absolut nötigen Dienste erlauben. Bei mir ist das nur sendmail und sshd, bei sendmail muß man natürlich auf eine abgedichtete postfix config achten, wenn man das für alle Welt freigibt. Womöglich sollte ich sendmail: all auskommentieren. Was meint ihr?

Code: Select all

# egrep -v '#|^ *$' /etc/hosts.deny 
 ALL: PARANOID
# egrep -v '#|^ *$' /etc/hosts.allow
sendmail: all
sshd: all : spawn echo "This message is sent to you by /etc/hosts.allow  on `traceroute $(echo %s|cut --delimiter=@ -f2)|tail -n1|awk '{print $2 $3}'`: Login attempt from  `traceroute %c|tail -n1|awk '{print $2 $3}'` to %s at `date`" | mail -s "Login Attempt from `traceroute %c|tail -n1|awk '{print $2 $3}'` to `traceroute $(echo %s|cut --delimiter=@ -f2)|tail -n1|awk '{print $2 $3}'` at `date`" root@localhost


statt traceroute sollte ich wohl auch lieber dig oder nslookup nehmen 8O

Also, ohne Benachrichtigungsmail und sendmail, sähe das also so aus:

Code: Select all

# egrep -v '#|^ *$' /etc/hosts.allow 
sshd: all

dslthomas
Posts: 36
Joined: 2006-01-02 09:18

Re: Webserver gehackt - benötige Hilfe

Post by dslthomas » 2007-11-17 15:53

Webspace wäre zwar nicht schlecht, aber ich will ja begreifen was hier abgeht! Mir Platzt nur der Schädel wei ich die letzten 24 Stunden nichts andere gemacht habe als Dinge zu lesen die ich ohne die Hintergründe nicht zu kennen so auch nicht verstehe. Ich kann den Server so nicht einfach vom Netz nehmen - so belassen geht aber auch nicht.

Daher meine Frage - wie kann ich die Standardinstallation von KDE auf den Server bekommen?

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: Webserver gehackt - benötige Hilfe

Post by floogy » 2007-11-17 15:58

dslthomas wrote:Also ich habe das so alles aufgegeben - ich habe keine Ahnung was hier mache und das bringt absolut nichts!

Kann mir jemand sagen wie ich KDE via SSH auf dem Server im Standardsystem installieren kann? Über Yast bietet er mir nur die einzelnen Komponenten an und ich weis nicht welche das Standardsystem beinhalten!?


matzewe01 hat wohl recht, KDE ist auch nicht gerade das was einem für einen Server empfohlen wird, der direkt am WAN hängt.

Bring erst mal deine Seiten, und die Deiner Freunde auf webspace, und schalte den Rootserver ab. Vorher kannst Du Dir noch die logfiles sichern, und in aller Ruhe untersuchen. In Deinem LAN könntest Du dann mit virtualbox o.ä. einen Server installieren und daran üben. Später kannst Du dann vielleicht versuchen ein Sicherheitskonzept umzusetzen, und den server wieder einschalten, wer weiß?