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
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