[Debian]Mysql authenticatie op basis van linux user

Pagina: 1
Acties:

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 23-01 09:27
(jarig!)
Wij zijn bezig met het optimaliseren van onze security als webhostingbedrijf. Op dit moment zijn we zo ver dat we nergens meer wachtwoorden gebruiken. We werken op basis van certificaten met sftp en ssh2.

Het enige waar we nog een wachtwoord voor nodig hebben is myadmin en uberhaupt mysql toegang.

Is er een manier waarop we dit kunnen realiseren? Onze Apache's draaien onder een apart user account dus we weten exact welke Apache welke databases zou mogen benaderen. Ident is een van de mogelijkheden voor zover ik heb begrepen maar dat schijnt niet te werken met MySQL. Ik heb daarover vele mailinglists gelezen maar niemand schijnt er echt prioriteit van te maken.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

http://dev.mysql.com/doc/refman/5.0/en/grant.html zo te zien is er een grant optie die ssl vereist, als je dat combineerd met client side ssl certs moet je een eind komen denk ik?

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 27-01 18:27

Kees

Serveradmin / BOFH / DoC
De toegang tot phpmyadmin zou je af kunnen schermen met apache zelf (bv met client certificaten) ipv door hem in te laten loggen op mysql.
Vervolgens zou je de uitvoerende username kunnen gebruiken om te connecten naar mysql. In mysql zou je een heel lastig wachtwoord kunnen opgeven, en je zou dit wachtwoord in de apache/php config kunnen zetten van de user.

Voor zover ik weet ondersteunt MySQL geen 'externe' authentication, well passwordless authentication

Dus volgens mij:
- wel een password voor mysql gebruiken, maar met een uniek password in de vhost/php config alla mysqli.default_pw="1234567890ABCDEF". User laat je dan gewoon door php zelf ook zetten aan de hand van de username. Beter is het nog om alle opties in de config te zetten per user (waarbij je dus moet oppassen dat een user niet de config van anderen in kan zien). Een mysql connectie maak je dan gewoon door 'mysql_connect()' in te geven, waarbij die functie dan gebruik maakt van de aanwezige defaults (die je per vhost/apache in kan stellen)
- Access tot een phpmyadmin afschermen met client certificaten

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 27-01 18:27

Kees

Serveradmin / BOFH / DoC
moto-moi schreef op woensdag 07 oktober 2009 @ 13:15:
http://dev.mysql.com/doc/refman/5.0/en/grant.html zo te zien is er een grant optie die ssl vereist, als je dat combineerd met client side ssl certs moet je een eind komen denk ik?
Daar zat ik ook even snel te kijken, het nadeel daarmee is is dat ik in php geen enkele mogelijkheid zie om in te loggen op mysql mbv een certificaat.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Kees schreef op woensdag 07 oktober 2009 @ 13:28:
[...]

Daar zat ik ook even snel te kijken, het nadeel daarmee is is dat ik in php geen enkele mogelijkheid zie om in te loggen op mysql mbv een certificaat.
http://nl.php.net/manual/en/mysqli.ssl-set.php ? :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 23-01 09:27
(jarig!)
Dit klinkt heel interessant, een beveiligde verbinding naar de MySQL server op basis van SSL certificaten lijkt inderdaad een goede optie als er dan ook authenticatie plaats gaat vinden. Waarschijnlijk moeten we dan per hostingpakket eenmalig zo'n certificaat aanmaken.

Betreft het MyAdmin verhaal ga ik ook even kijken hoe dat in elkaar zit. Op basis van onze structuur lijkt dit een goede mogelijkheid.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 23-01 09:27
(jarig!)
Ok, wat ik voor elkaar heb is dat we ssl certificaten hebben maar ik snap nu nog niet hoe dit gaat werken. Ik heb dus op de server wat certificaten aangemaakt. Allemaal prima. Maar voor zover ik begrijp werkt het niet zoals bij SSL:

Developer maakt op zijn systeem een certificaat aan, stuurt ons de public key en deze installeren wij. Klopt dit? Ik heb het idee dat ik nu alleen een beveiligde verbinding hebt gemaakt maar nog niet een authenticatie want die SSL certificaten heb ik gewoon zelf.
Pagina: 1