Mailinglisten-Archive |
On Saturday, 15. June 2002 15:28, Guido Stepken wrote: Moin, > > SuSE hat alle Dämonen noch nicht einmal in einer CHROOT Umgebung > installiert, im Internet - Betrieb völliger Schrott, weil - wenn ein > Dienst eine Sicherheitslücke hat, gleich die ganze Maschine platt ist > ...Aus einem User-Account kommen fast alle Hacker zu einem ROOT > Account ... das ist bei SuSE recht einfach ... Hmm .. kann ich so nicht nachvollziehen, kannst Du das evtl. mal präzisieren?! > > Ich empfehle: > > rpm -e mysql.3.22.x. Das muss ja ein Uralt-Suse sein, die 3.22 ist zwei oder drei Jahre alt, und wird auf nicht mehr offiziell supported. Wer ein aktuelles MySQL der 3-er oder 4-er Version verwendet, hat auch keine Probleme mit CHROOT-Umgebbungen, da die Einstellungen für LOAD DATA und SELECT INTO OUTFILE bereits disabled sind by default. > Auf dem Webserver würde ich unbedingt den Port 3306 nach Außen mit > --skip-networking abschalten, da ansonsten jemand 10.000 Verbindungen > aufmacht, und die Kiste dann plötzlich 10.000 Thread startet -> DoS !!! > Maschine tot ! Der Regelbetrieb dürfte allerdings anders aussehen. Wie willst Du denn mit --skip-networking noch Backup bzw. Replication auf einen anderen Server machen, bzw. von verschiedenen Webservern auf Deinen DB-Server zugreifen?! Normalerweise macht man sowas mit einer Firewall, und gibt den Port für einzelne Maschinen frei. > Alternativ, gegen Überlastungsangriffe ... > > #!/bin/bash > ./libexec/mysqld --log --log-slow-queries --set-variable > max_user_connections=20 --set-variable=max_connections=100 > --language=german --skip-networking --safe-show-database --user=mysql > --socket=/tmp/mysql.sock --enable-locking& > > So, und nur so installiert und betreibt man Dienste unter UNIX. Naja, das ist Ansichtssache: -safe-show-database ist im aktuellen 4-er tree deprecated (vermutl. auch in 3.23.50) und sollte mittels Grant ersetzt werden --log geht auf die Performance. Wenn man in einer Produktionsumgebung schon ein Logfile haben will, nimmt man log-bin. --skip-networking (s.o.) sollte durch Firewall übernommen werden --log-slow-queries macht nur auf dem Entwicklungsrechner Sinn, um die lahmen Queries auszumerzen, wenn dann sollte man gleich --log-long-format machen, wenn man seine Queries nicht per Explain überprüft. max_user_connections=20 Dient MySQL als Datenbank für ein Webfrontend, bedeutet dass, das max. 20 User gleichzeitig zugreifen können, da die Application jeweils mit dem gleichen User auf die DB zugreift. Im aktuellen 4-er Tree gibts inzwischen neue GRANT-Options wie MAX_QUERIES/UPDATES und Connections/Hour. Grus Georg --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive