phpbar.de logo

Mailinglisten-Archive

Server sicher installieren

Server sicher installieren

Georg Richter mysql-de_(at)_lists.bttr.org
Sun, 16 Jun 2002 08:13:33 +0200


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