05.02.2013 Aufrufe

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Man kann offensichtlich in einem SuSE <strong>LINUX</strong> System mit einem MySQL Server beliebig<br />

Daten aus anderen Verzeichnissen in die MySQL Datenbank einlesen <strong>und</strong> sich quer über<br />

das Internet irgendwohin übertragen lassen. Ein Useraccount mit beschränkten Rechten<br />

an irgendeiner Tabelle reicht da völlig aus. Sie sehen, daß da auch eine <strong>Firewall</strong> nicht<br />

mehr helfen kann.<br />

Das Statement:<br />

insert .....<br />

select * from passwd into outfile "/etc/passwd";<br />

Query OK, 32 rows affected (0.03 sec)<br />

spare ich mir nun, was Sie ebenfalls sich sparen sollten.<br />

Damit ein solcher Einbruch also nicht möglich ist, sollten Sie MySQL nur mit User-Rechten<br />

starten, <strong>und</strong> den MySQL Serverdämon in eine CHROOT() Umgebung verbannen. Wie Sie<br />

das tun, finden Sie hier: http://www.little-idiot.de/firewall.<br />

Falls Sie nun denken, <strong>LINUX</strong> wäre unsicher, da haben Sie Recht. Ich kann Ihnen als<br />

angehender MCSD aber garantieren, daß NT 4.0 Server mit MS SQL 7.0 noch viel<br />

haarsträubendere Sicherheitslücken besitzen, deren Beschreibung Sie leider nicht in der<br />

Microsoft Dokumentation finden. Ich selber werde diese auch kaum veröffentlichen, es sei<br />

denn, Microsoft gibt alle Quellcodes von NT <strong>und</strong> MS-SQL 7.0 unter GPL Lizenz frei...<br />

Unter <strong>LINUX</strong> oder BSD UNIX wissen Sie zumindest, wonach Sie suchen müssen, <strong>und</strong><br />

können die Probleme beseitigen, unter NT nicht.<br />

Man kann also auch z.B. über ein PHP3 oder PERL-Skript in ein Formularfeld z.B. ;<br />

delete * from .....; create ...; load data infile....select.... eintragen, um sich Inhalten von<br />

Dateien auf dem Server hinter der <strong>Firewall</strong> auf den Browser ausgeben zu lassen. Man<br />

kann z.B. auch in das Homeverzeichnis des Administrators (.profile, .bash_profile, .bashrc,<br />

....) eine Datei exportieren, die ein Kommando zum Löschen der Festplatte enthält.... Der<br />

Angreifer ist schon lange weg <strong>und</strong> der Administrator löscht seine eigene Festplatte.....<br />

Vieles ist möglich.....<br />

Das schlimme ist auch noch, daß MySQL diesen Angriff nicht aufgezeichnet hat. MySQL<br />

verzeichnet stets alle Statements in der Datei /var/mysql/tunix.log (oder so ähnlich). Hier<br />

finden sich jedoch Logs über die Manipulationen der Datenbank test:<br />

user01@tunix:/var/mysql > more tunix.log<br />

mysqld started on Fri Feb 12 16:07:38 MET 1999<br />

mysqld ended on Fri Feb 12 16:07:39 MET 1999mysqld started on Thu Aug 19<br />

10:26<br />

:42 MEST 1999<br />

/usr/sbin/mysqld, Version: 3.21.33b-log, started with:<br />

Tcp port: 3306 Unix socket: /tmp/mysql.sock<br />

Time Id Command Argument<br />

990819 10:26:48 1 Connect root@localhost on<br />

1 Statistics<br />

1 Quit<br />

2 Connect root@localhost on<br />

2 Init DB mysql<br />

2 Query delete from db<br />

2 Query delete from host<br />

2 Query delete from user<br />

2 Query delete from func<br />

2 Query INSERT INTO db VALUES<br />

('%','test','','Y','Y','<br />

Y','Y','Y','Y')<br />

2 Query INSERT INTO db VALUES<br />

Erstellt von Doc Gonzo - http://kickme.to/plugins

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!