28/11/2011

MySQL op openSUSE: standaard en/of veilig

Filed under: — cybrarian @ 12:56 am

Na een standaardinstallatie van openSUSE 11.4 “Celadon”, waarbij je MySQL installeert, kan je gebruikmaken van een handig script om de MySQL installatie een wat veiligere beginsituatie te geven.

MySQL heeft de gewoonte na installatie een (MySQL-) “root” login te hebben waarop je moet inloggen om het wachtwoord van root in te stellen. Als je dat niet doet blijft die beschikbaar staan om dat te doen, wat natuurlijk een veiligheidsrisico inhoudt.

In OpenSUSE (11.4, mogelijk ook andere) is een script aanwezig dat je kan draaien om de standaardinstellingen wat veiliger te zetten, en een (MySQL-) root wachtwoord in te geven:

start:
mysql_secure_installation

Eerst wordt geprobeerd of er een wachtwoord is ingesteld; er wordt je gevraagd het eventuele wachtwoord in te geven (dat van mysql root account). Als je nog geen MySQL root account wachtwoord hebt aangemaakt moet je gewoon “enter” doen om er voorbij te gaan.

Enter current password for root (enter for none):

Daarna kom je in de stap om dat wachtwoord dan effectief op te geven, met een bevestiging en een reaktie:

Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

Dan wordt gevraagd of de “anonymous user”, een standaard aangemaakte gebruikers-account op de MySQL server, moet verwijderd worden:

Remove anonymous users? [Y/n]
… Success!

Dan wordt gevraagd of de (MySQL-) root vanop afstand mag inloggen, met de suggestie om dat af te zetten. Alleen op de server zelf ingelogd kan je dan nog met root in MySQL inloggen (nog wel bv via ssh).
Als bv alleen webapplicaties op dezelfde server de MySQL databank gebruiken, kan je dat zeker doen – je kan phpMyAdmin installeren (dat ook op de server zelf draait) om je beheer te doen als je meer nodig hebt dan een ssh sessie naar de server met de databank.

Disallow root login remotely? [Y/n]
… Success!

En dan de vraag om de “test” databank die voor iedereen toegankelijk is (die ook standaard bestaat na installatie) te verwijderen :

Remove test database and access to it? [Y/n]
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

En dan om zeker te zijn dat alle wijzigingen aan de rechten ook aktief worden, het voostel om de instellinge van de rechten opnieuw te laden:

Reload privilege tables now? [Y/n]
… Success!

Zelfs als je dit script niet hebt, geeft het wel een goed overzicht van stappen die je ook zelf kan nemen om je installatie een beetje veiliger in te stellen.

OpenSuse 11.4 Server: prutsen in FSTAB

Filed under: — cybrarian @ 12:36 am

Op bescheiden hardware (0,5 Gb intern geheugen, hda 1 TB, hdb 320 GB) een openSuse 11.4 gebruikt om een eenvoudige server te installeren.

Na indeling van de harde schijven (installatie op 1TB schijf, zal andere voor backup gebruiken) verloopt de installatie vlot; er werd gekozen voor KDE en standaard is mc voorzien. Dan wordt de serversoftware gekozen onder Yast, software installatie; de weergave “patterns” deelt de software in volgens mogelijk gebruik, waaronder Server Functions nog eens de onderverdeling bestaat: “File Server”, “Print Server”, “Mail en News”, “Web en Lamp”, “internet gateway”, enz.

Ik neem File Server (samba en vsftpd) en Web and LAMP server (apache2, php en mysql – met alternatieve mogelijkheid van postresql als database). Extra wordt php5-gd (grafische functies), php5-mbstring (conversies), php5-zlib (compressie en decompressie van bestanden) toegevoegd uit de keuze van paketten. Het aanbod van een hele lijst van extra packages om aan alle dependencies te voldoen wordt bevestigd.

Vervelend als je nadien tot de conclusie komt dat je toch beter partities had gemaakt ipv de hele harddisk als één grote datastal te laten.

Ik boot een live dvd, en verander de partities naar

– / 100 Gb (systeem, start hiervan- dit door inkrimpen van de bestaande partitie die de hele disk in beslag nam)
– /var/log 10 Gb (log files – kunnen uit de hand lopen)
– /tmp 1 Gb (tmp wordt door alles en iedereen gebruikt, ik pas aan naar /tmp 20 Gb voor als ik ook cd/dvd’s zou branden vanop de server)

– twijfel over /var; bevat soms ook de servers, var/www in RedHat, of bv /var/lib/mysql de databases

– /svr 250 Gb : in openSuse de webserverruimte en ftp ruimte
– /home 250 Gb : de user home directories; misschien mount ik een eigen werkdirectory van hier op een desktop of laptop.
– /music 300 Gb : muziek verzameling

sdb:
/backup

Het wijzigen van de fstab via een boot-systeem en Yast is een tijdrovende bezigheid.

Je kan wel manueel de /srv directory inhoud kopieren naar sda8
en de /home directory naar /sda9, en /var/log naar sd6, enz,
maar hoe krijg je ze juist gemount in het serversysteem?

fstab editen als root, ziet er voordien zo uit:

/dev/disk/by-id/ata-ST…
/dev/disk/by-id/ata-WDC…
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0

In de documentatie wordt gesproken over de volgorde van het mount commando, waarbij je dus een disk koppelt aan een locatie waar die gemount wordt, en dan de parameters. Ik veronderstelde eerst dat de derde kolom een soort naam of label is die/dat je zelf kan geven, en deed :

/dev/sda5 /tmp tmp defaults 0 0
/dev/sda9 /home home defaults 0 0
/dev/sda8 /srv srv defaults 0 0
/dev/sda6 /var/log var/log defaults 0 0
/dev/sda7 /music music defaults 0 0
/dev/sdb1 /backup backup defaults 0 0

Maar de bovenste waren nogal speciale filesystemen blijkbaar, het is inderdaad (zoals de documentatie zegt) het filesysteem, bv ext4.

Aanpassing (vanuit het lopend systeem zelfs, daarna direct reboot:)

/dev/sda5 /tmp ext4 defaults 0 0
/dev/sda9 /home ext4 defaults 0 0
/dev/sda8 /srv ext4 defaults 0 0
/dev/sda6 /var/log ext4 defaults 0 0
/dev/sda7 /music ext4 defaults 0 0
/dev/sdb1 /backup ext4 defaults 0 0

“My Computer” (konqueror sysinfo:) op de desktop geeft onmiddellijk uitsluitsel: mooi gemounte sytemen met de vrije ruimte, behalve voor

/dev/sda7
/dev/sdb1

Eén probleem nog, dat ik voordien ook over het hoofd gezien had: er moeten directories gemaakt worden voor de “bijkomende” mount punten (waar die geen bestaande directory vervangen; nl

/music
/backup

Als root natuurlijk!

Daarna start … en de partities worden allemaal gemount.
Ik krijg in konqueror nog wel foutmeldinge dat een directory gezien wordt ipv een bestand, geen idee of dat iets hiermee te maken heeft.

Powered by WordPress