Več mysql uporabnikov za večjo varnost?
 
SlimDeluxe 4. jul 2011 19:43:27 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#1

Zdravo,

zanima me vaše mnenje, ali se vam zdi cool ideja, da imaš v obsežnem cms sistemu ob namestitvi možnost, da sta frontend in backend mysql uporabnika ločena. Če bi ta možnost bila izbrana, bi se front uporabniku določili samo need-to-have privilegiji na need-to-have tabelah.

Kot neka dodatna zaščita pri sql injectionu.

Yay / nay?


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
SpinX 4. jul 2011 19:52:48 Pridružen od:
17. mar 2007
2618 objav
1720 190 20
#2

Preveč kompliciranje IMHO.



Jaz sem ločil uporabnike, ko je šlo za aplikacijo. Zato, da nekdo ne more do podatkov druge firme. V navadnem večuporabniškem CMSju pa se mi zdi too much tak pristop, ki ga hočeš naredit. Vzemi eno dobro knjigo na temo php security in naredi tako, da ne gre shekat. Saj ni težko, ko enkrat veš metode s katerimi se hacka sajte.


všeč(0) ni všeč(0) spam(0)
Developer? Bi delal v kul podjetju ? http://dlabs.si/jobs
 
perunpro 4. jul 2011 21:19:26 Pridružen od:
23. maj 2008
3360 objav
2892 217 19
#3

Se pridruzujem SpinX-u. Se mi zdi boljsi pristop permissnov :)



Glede na zadnje (odmevne) vdore, pa poskrbi da se ne bo dalo URLja spoofat in SQL injectna delat :D


všeč(0) ni všeč(0) spam(0)
 
jurij123 4. jul 2011 22:24:36 Pridružen od:
20. nov 2010
572 objav
675 148 10
#4

Pozenes acunetix pa ti pokaze tvoje ranljivosti pa jih popravis pa je...


všeč(1) ni všeč(1) spam(0)
 
fatg 5. jul 2011 09:34:34 Pridružen od:
28. jan 2008
94 objav
73 2 0
#5

Ločevanje uporabnikov je odlična ideja. Ustvari še en varnostni sloj, ki preprečuje zlorabe morebitnih injectionov (ali pa čisto navadnih programskih napak), seveda če privilegije ustrezno okrniš za vsakega uporabnika. Varnosti ni nikoli preveč in tale mehanizem imaš skoraj zastonj. To, da frontend user ne more izbrisati uporabnika iz tabele users je neprecenljivo. :D


všeč(0) ni všeč(0) spam(0)
 
fatg 5. jul 2011 09:37:47 Pridružen od:
28. jan 2008
94 objav
73 2 0
#6

Če uporabljaš samo to orodje (ali katerokoli), potem imaš aplikacijo zagotovo zluknjano. :>


všeč(0) ni všeč(0) spam(0)
 
bl4ckb1rd 5. jul 2011 10:32:12 Pridružen od:
18. avg 2008
1122 objav
750 91 11
#7

Do določene mere boš pridobil na varnosti ja, če je pa smotrno pa ne vem... nenazadnje bo večina teh tabel morala biti dostopna tudi iz frontenda, saj so nastavitve, ki jih narediš v backendu pomembne. Skratka, v končni fazi si boš zakompliciral lajf, pridobil pa bore malo. Fora je samo v tem da backend in frontend ne moreta biti čisto ločena, drugače ne moreta vplivati en na drugega... vsaj pri CMS-u. Če bi bila v backendu kaka druga aplikacija, ki recimo ne vpliva na frontend, pa bi bilo to več kot smiselno.


všeč(0) ni všeč(0) spam(0)
blackbird.si - Moj plac za odlaganje problemov in rešitev...
 
phpseo 5. jul 2011 14:36:48 Pridružen od:
24. nov 2007
146 objav
78 19 1
#8

Odvisno tudi, koliko je škode, če ti nekdo vdre. Če ni pomembna stran, potem se ne splača ukvarjat. Metoda po moje kar precej izboljša varnost.

Tudi če obvladaš "varno" programiranje se ti zmeraj lahko zgodi kaka luknja na katero nisi pomislil.


všeč(0) ni všeč(0) spam(0)
 
SlimDeluxe 5. jul 2011 15:00:00 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#9

Gre se za CMS + spletna trgovina.

Finta je v tem, da bi bilo to precej enostavno za narediti, saj sta front in backend ločeni php aplikaciji (codeigniter layout), le skupni library uporabljata (razrede na lastnem enostavnem ORM).

Bom v enem od milestoneov po prvem stable-production naredil... "Use separate DB user for improved frontend security". Če bo kdo delal module bo pač moral še to vzeti v poštev pri deployment skripti :)


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
cyber 16. jul 2011 18:51:21 Pridružen od:
2. dec 2007
536 objav
750 76 10
#10

Če uporabljaš ORM, si že tako dobro zaščiten proti SQL injection-u.



Kar se tiče pa MySQL userja za stran, pa je generalno pametno naredit posebnega userja, ki ima pravice samo za SELECT in UPDATE, pa če uporabljaš DELETE še to, čeprav je še boljše, da se implemenitra "soft delete", potem lahko še DELETE izključiš.



Glede na konfiguracijo, izklopiš še remote userje, root-a zakleneš na IP, user od aplikacije pa da lahko samo prek 127.0.0.1/localhost dostopa, pa bo.


všeč(1) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se