www.filmforen.de 0 Report post Posted August 5, 2006 Hallo, gestern habe ich von meinem Provider eine Mail bekommen, in der er mir mitteilt, dass meine Internetpräsenz vorübergehend abgeschaltet wurde, weil es zu viele Anfragen an den Datenbankserver gegeben hat, die diesen in die Knie gezwungen haben. Folgendes Protokoll hat er mir mitgeschickt: Sehr geehrte Kundin, sehr geehrter Kunde, leider mussten wir feststellen, dass der Webserver durch Ihre Domain übermäßig stark ausgelastet wird. Dies können wir in einer Shared Hosting Umgebung - auch im Interesse der anderen Kunden, die auf diesem Server liegen - nicht akzeptieren, und mussten daher den Zugriff auf Ihre Präsenz sperren. Bitte überarbeiten Sie Ihre Datenbankabfragen. Benutzer: ftp50786 # Time: 060803 7:13:43 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 30 Rows_examined: 120 use dissimulation_de; SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name, pc.* FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id) LEFT JOIN ibf_member_extra me ON (me.id=m.id) LEFT JOIN ibf_pfields_content pc ON (pc.member_id=p.author_id) WHERE p.pid IN(200053,200344,200425,200429,200436,200773,200797,200814,200932,200933,200936, 00938,204557,205162,206457,206462,206585,206586,206588,206600,206734,206949,2085 1,208684,208703,211493,211512,211658,211676,211827) ORDER BY pid asc; # Time: 060803 8:02:11 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 50 Rows_examined: 300 use dissimulation_de; SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=4411 AND p.queued=0 ORDER BY pid LIMIT 100,50; # Time: 060803 8:02:40 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 8 Lock_time: 0 Rows_sent: 50 Rows_examined: 700 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=327 AND p.queued=0 ORDER BY pid LIMIT 300,50; # Time: 060803 8:02:50 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 18 Lock_time: 0 Rows_sent: 50 Rows_examined: 2399 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=3064 AND p.queued=0 ORDER BY pid LIMIT 1150,50; # Time: 060803 8:11:07 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 9 Lock_time: 0 Rows_sent: 24 Rows_examined: 2145 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=1006 AND p.queued=0 ORDER BY pid LIMIT 1050,50; # Time: 060803 8:17:57 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 27 Lock_time: 0 Rows_sent: 19 Rows_examined: 5938 use dissimulation_de; SELECT pid,topic_id FROM ibf_posts WHERE topic_id=3041 ORDER BY pid asc LIMIT 2950,50; # Time: 060803 8:20:28 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 1 Rows_examined: 90 SELECT MIN(pid) as pid FROM ibf_posts WHERE queued=0 AND topic_id=2610 AND post_date > 1154530388 LIMIT 0,1; # Time: 060803 8:21:00 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 30 Rows_examined: 120 SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, Benutzer: ftp50786 # Time: 060803 7:13:43 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 30 Rows_examined: 120 use dissimulation_de; SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name, pc.* FROM ibf_posts p LEFT JOIN ibf_members m ON (p.author_id=m.id) LEFT JOIN ibf_member_extra me ON (me.id=m.id) LEFT JOIN ibf_pfields_content pc ON (pc.member_id=p.author_id) WHERE p.pid IN(200053,200344,200425,200429,200436,200773,200797,200814,200932,200933,200936, 00938,204557,205162,206457,206462,206585,206586,206588,206600,206734,206949,2085 1,208684,208703,211493,211512,211658,211676,211827) ORDER BY pid asc; # Time: 060803 8:02:11 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 50 Rows_examined: 300 use dissimulation_de; SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=4411 AND p.queued=0 ORDER BY pid LIMIT 100,50; # Time: 060803 8:02:40 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 8 Lock_time: 0 Rows_sent: 50 Rows_examined: 700 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=327 AND p.queued=0 ORDER BY pid LIMIT 300,50; # Time: 060803 8:02:50 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 18 Lock_time: 0 Rows_sent: 50 Rows_examined: 2399 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=3064 AND p.queued=0 ORDER BY pid LIMIT 1150,50; # Time: 060803 8:11:07 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 9 Lock_time: 0 Rows_sent: 24 Rows_examined: 2145 SELECT p.*,m.members_display_name, m.mgroup FROM ibf_posts p LEFT JOIN ibf_members m ON ( m.id=p.author_id ) WHERE p.topic_id=1006 AND p.queued=0 ORDER BY pid LIMIT 1050,50; # Time: 060803 8:17:57 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 27 Lock_time: 0 Rows_sent: 19 Rows_examined: 5938 use dissimulation_de; SELECT pid,topic_id FROM ibf_posts WHERE topic_id=3041 ORDER BY pid asc LIMIT 2950,50; # Time: 060803 8:20:28 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 1 Rows_examined: 90 SELECT MIN(pid) as pid FROM ibf_posts WHERE queued=0 AND topic_id=2610 AND post_date > 1154530388 LIMIT 0,1; # Time: 060803 8:21:00 # User@Host: ftp50786[ftp50786] @ localhost [] # Query_time: 6 Lock_time: 0 Rows_sent: 30 Rows_examined: 120 SELECT p.*, m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn, Ich habe Grund zu der Annahme, dass über ein Sicherheitsloch in der Forensoftware bösartige Scripte installiert wurde, die u.a. für die Überlastung des Servers verantwortlich sind. Ich hatte bei einem Durchlauf des Virenscanners auch bereits drei Backdoor-Scripte gefunden und gelöscht - es scheint aber wohl immer noch mindestens eines zu geben, das den Schaden verursacht hat. Folgendes habe ich zur Schadensbegrenzung unternommen: 1. Das Forum bleibt erst mal offline. Den Ordner mit der Forensoftware habe ich umbenannt. 2. das MySQL-Passwort habe ich geändert. 3. Das Tabellenpräfix werde ich ändern (sobald ich weiß, wie man das bei den 78 Tabellen der Forendatenbank auf einen Schlag erledingen kann. hints?) Jetzt meine Fragen/Bitten: 1. Was kann ich tun? Muss ich die Forensoftware neu aufsetzen? Wie finde ich die schadhafte Software? Gibt das obige Protokoll darüber Auskunft? 2. Wie kann ich verhindern, dass sich wider schadhafte Scripte einnisten? Die, die ich gefunden habe, waren allesamt in 777-Verzeichnissen (Avatar, Emoticons, Style-Images) 3. Kann die Datenbank vielleicht selbst schon schadhaften Code enthalten? Wie finde/entferne ich den? Ich möchte die mittlerweile sehr große Forendatenbank nicht löschen. Stefan Share this post Link to post
TO_Webmaster 0 Report post Posted August 5, 2006 (edited) Tabellenpräfix ändern halte ich nicht für sinnvoll, was soll das bringen? Zu 1. Alle Dateien mit den Originalen Überschreiben und nachsehen, ob weitere Dateien vorhanden sind, die nicht zum Forum, zu Mods, zu den Uploads, Avataren, Skins, etc. gehören und ggf. löschen. 2. Regelmäßig Sicherheitsupdates von IPS einspielen, admin.php mit .htaccess schützen, schaun, ob weitere Admins existieren, die du nicht kennst, etc. 3. kA, mir fallen höchstens schädliche Änderungen am Skin ein (iframes, etc.) MfG TO_Webmaster Edited August 5, 2006 by TO_Webmaster Share this post Link to post
WalleniuM 1 Report post Posted August 5, 2006 2. Wie kann ich verhindern, dass sich wider schadhafte Scripte einnisten? Die, die ich gefunden habe, waren allesamt in 777-Verzeichnissen (Avatar, Emoticons, Style-Images) ^^^waaaaah.... nieeee 777. nimm 755 und setz den owner auf den webserver sollte genauso gehen... an sonsten: es wäre erstmal hilfreich deine Forenversion zu wissen ;) Share this post Link to post
www.filmforen.de 0 Report post Posted August 7, 2006 Die Version steht unten in meiner Signatur. Ist immer die aktuellste und immer mit dem aktuellsten Sicherheitsupdate. Das mit dem Überschreiben der alten Dateien durch neue wäre schon sinnvoll. Aber wie erkenne ich die übrigen Dateien, die nicht überschrieben wurden? Am Datum? Und das sind ja nicht wenige Dateien, die zum Forum gehören. Wir werden das Forum (also die Dateien) wahrscheinlich noch einmal komplett neu aufsetzen. Mal sehen, ob das hilft. Share this post Link to post
www.filmforen.de 0 Report post Posted August 9, 2006 Wir wollen das Forum jetzt auf einem anderen Server neu aufsetzen, aber natürlich mit dem Inhalt der alten Datenbank (bzw. der alten Datenbank selbst). Zwei Fragen: 1. Ist es möglich, die Datenbank neu anzulegen und nur die Tabellen mit Usern und Postings (welche anderen Tabellen gibt es noch, in denen wichtige Daten enthalten sind?) in die neue DB zu übernehmen? 2. Kann es denn überhaupt möglich sein, dass sich in der DB selbst ein Virus oder eine Schadsoftware verbirgt, die zu den massiven Anfragen an den DB-Server geführt hat? (Falls nicht, könnten wir das Problem ja schon beheben, indem wir einfach die Forensoftware neu aufsetzen.) Da ich in MySQl-Fragen nicht besonders fit bin, bitte ich um Support. :) Share this post Link to post
www.filmforen.de 0 Report post Posted August 10, 2006 (edited) Ich setze mein Selbstgespräch mal fort: Beim uploaden der alten Datenbank haben wir festgestellt, dass die Tabelle "ibf_spider_log" insgesamt 200 MB groß ist (der Rest der DB 166 MB). Stimmt da was vielleicht nicht? Das kommt mir komisch vor. Kann ich die löschen? Edited August 10, 2006 by www.filmforen.de Share this post Link to post
zer0 0 Report post Posted August 10, 2006 hört sich so an, als ob du die spideranfragen loggst. schalt mal diese logfuktion ab. wenn sich viele bots im forum tummeln kann das schonmal massiv abfragen geben... aber sicher bin ich mir leider nicht... Share this post Link to post
smurf 0 Report post Posted August 14, 2006 Unter Umständen hätte auch ein wenig das InV-Firewall Script 1.0.0 Abhilfe geholfen. Vorteil der Provider-eMail ist natürlich, daß Du auf schadhafte Scripte aufmerksam geworden bist. Share this post Link to post