sql >> Databasteknik >  >> RDS >> Mysql

Var ska jag förvara inloggningsuppgifterna för min databas?

Först och främst bör du vara medveten om att oavsett vad du gör, om en angripare får tillgång till dina serverfiler, kommer han att kunna stjäla lösenordet.

Om du använder en appservers datakälla flyttar du bara platsen för klartextlösenordet till en annan fil.

Om du använder någon form av kryptering för att undvika att lagra ett klartextlösenord måste din app fortfarande dekryptera det med ett annat lösenord som den redan kommer att ha. Om en angripare går långt för att få tillgång till ditt system kan du vara ganska säker på att han kommer att veta det också. Det du gör är att fördunkla (och få en falsk känsla av säkerhet) snarare än att faktiskt säkra den.

En säkrare lösning är att en användare tillhandahåller lösenordet (eller ett lösenord för att dekryptera DB-lösenordet) när din app startar, men det kommer att göra administrationen riktigt svår. Och om du redan är paranoid (den bra säkerhetstypen, inte den galna sorten) att någon har tillgång till din server, bör du tänka på att DB-lösenordet kommer att finnas i systemminnet.

Annat än det, behåll ditt lösenord i din konfigurationsfil (som du kan vara ganska säker på att servern inte kommer att visa för omvärlden), lås ditt system och ge databasanvändaren endast de minsta behörigheter som krävs.



  1. Mysqli förberett uttalande (SQL-injektionsförebyggande)

  2. Hur man sammanfogar tabeller - SQL

  3. INNER JOIN samma bord

  4. VÄLJ alla poster som är 30 dagar gamla