Felhasználói eszközök

Eszközök a webhelyen


oktatas:adatbazis-kezeles:adatbazis-biztonsag

< Adatbázis-kezelés

Adatbázis-biztonság

  • Szerző: Sallai András
  • Copyright © Sallai András, 2015, 2019
  • Licenc: GNU Free Documentation License 1.3

Az adatbázis biztonságának rétegei

  • hozzáférés vezérlés
  • auditálás
  • azonosítás
  • titkosítás
  • integritás ellenőrzése
  • mentés és visszaállítás
  • az alkalmazás biztonsága

Hozzáférés vezérlés

Jogok meghatározása

GRANT jogok
     ON objektum_neve
     TO szereplo_neve; 

Sorszintű biztonság

CREATE VIEW nézet_neve AS
    SELECT *
    FROM tábla_neve
    WHERE mező_neve = user; 

Adatbázis elérés

Az adatbázis elérés szabályozása a hálózaton.

  • adatbázis beállítások - my.ini vagy my.cnf
  • tűzfalbeállítások - Netfilter, Mysql-proxy

Auditálás

Naplózás

Minden tevékenységet naplózunk és rendszeresen ellenőrzünk.

  • kilépés/belépés
  • változtatások
/etc/mysql/my.cnf
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
expire_logs_days = 10
/var/log/mysql/mysql.log

PHPMyAdmin

  • Kiszolgáló: localhost → Állapot fül → Felügyelet gomb (stb)

Azonosítás

felhasználónév jelszó

fontos: jelszó erősség

követelmény (tartalmazzon):

  • szám
  • kis- és nagybetű
  • nem betű és nem szám karakter
  • legalább 10 karakter hosszú

Hozzáférés:

  • A programnak külön felhasználója legyen, amely MySQL felhasználó.
  • A felhasználóknak külön hozzáférés, amely NEM MySQL felhasználó.

A programnak csak usage hozzáférést adunk.

Integritás, Titkosítás

Adatintegritás a következő algoritmusok biztosítják:

  • AES
  • RC4
  • 3DES
  • MD5
  • SHA1
  • SHA512
  • SSL
  • TLS

Mentés és visszaállítás

Mentés:

mysqldump -u root -p[titok] [adatbazinev] > mentesfajnev.sql
mysqldump --all-databases > mysql-mentes.sql
  • PHPMyAdmin

Visszaállítás:

mysql -u root -p[titok] [adatbazisnev] < mentesfajlnev.sql
  • PHPMyAdmin

Mentés szerveren:

  • rsync

A mentés lehet:

  • teljes mentés
  • inkrementális mentés

A crontab rendszerrel időzítjük.

Alkalmazások biztonsága

SQL injekció

Ellenőrizzük a bekért adatmezőket, mielőtt adatbázisban rögzítjük azokat.

Egy az alábbihoz hasonló bevitellel, a jelszavak megkerülhetők. Ezt nevezzük SQL injekciónak:

a" or "1" = "1" or "1"="1

Ennek megelőzésére egyik lehetőség a mysqli használata esetén a mysqli_real_escape_string() függvény használata:

$user = mysqli_real_escape_string($con, $data['user']);
oktatas/adatbazis-kezeles/adatbazis-biztonsag.txt · Utolsó módosítás: 2019/08/15 22:23 szerkesztette: admin