Bezpečné smazání řádku v MariaDB

oss

  • ***
  • 245
    • Zobrazit profil
    • E-mail
Bezpečné smazání řádku v MariaDB
« kdy: 10. 06. 2024, 18:35:47 »
Riesim dost divnu situaciu. Potrebujem vymazavat riadky tabulky (realne jeden textovy stlpec) tak aby po jeho vymazani sa nedal najst na disku, proste ho realne vymazat aby uz nesiel obnovit ani keby sa k disku s databazou dostane niekto iny a pouzije recovety/hex tool.

Ide o tabulku, kde je ID a string vzdy rovnakej dlzky. Staci ho updatnuta potom zmazat? Alebo je na to nejaky specialny command, ci nastavenie?



Re:AKo zmazat riadok v tabulke v MariaDB bezpecne?
« Odpověď #1 kdy: 10. 06. 2024, 18:42:12 »
otazka zda se updatnuty zaznam zapisuje jinam, nebo se prepise puvodni zaznam.
tohle bude zalezitost strev sql databaze. leda potom projit fs nebo uloziste kam to sql uklada.

bez dalsich znalosti bych udelal update zaznamu a prepsal tajne informace a teprve potom pripadne smazal.

z_sk

Re:AKo zmazat riadok v tabulke v MariaDB bezpecne?
« Odpověď #2 kdy: 10. 06. 2024, 19:07:26 »
Aka je veľka tá tabuľka?

Re:AKo zmazat riadok v tabulke v MariaDB bezpecne?
« Odpověď #3 kdy: 10. 06. 2024, 19:17:58 »
Nešlo by to řešit nějakou formou Transparent Data Encryption? Sice si dokážu představit, že i tak se někdo dokáže ke smazaným řádkům dostat, pokud tam někde fyzicky zůstávají (když vím, jak to dešifrovat a mám ke klíčům přístup), ale už je to komplikace pro někoho, kdo si jen tak sebere soubory (což je taková nejčastější situace, na které se prezentují výhody TDE).

Re:Bezpečné smazání řádku v MariaDB
« Odpověď #4 kdy: 10. 06. 2024, 21:46:37 »
Riesim dost divnu situaciu. Potrebujem vymazavat riadky tabulky (realne jeden textovy stlpec) tak aby po jeho vymazani sa nedal najst na disku, proste ho realne vymazat aby uz nesiel obnovit ani keby sa k disku s databazou dostane niekto iny a pouzije recovety/hex tool.

Ide o tabulku, kde je ID a string vzdy rovnakej dlzky. Staci ho updatnuta potom zmazat? Alebo je na to nejaky specialny command, ci nastavenie?

Stejne jako na disku, data se pri delete neprepisuji - jen oznaci a po nejake dobe prepisi novymi daty. Ale je na databazi, jestli bude prepisovat data nebo extendovat datovy soubor. Jedine rozumne reseni je sifrovani dat nebo disku.


Re:Bezpečné smazání řádku v MariaDB
« Odpověď #5 kdy: 10. 06. 2024, 21:54:27 »
Riesim dost divnu situaciu. Potrebujem vymazavat riadky tabulky (realne jeden textovy stlpec) tak aby po jeho vymazani sa nedal najst na disku, proste ho realne vymazat aby uz nesiel obnovit ani keby sa k disku s databazou dostane niekto iny a pouzije recovety/hex tool.

Ide o tabulku, kde je ID a string vzdy rovnakej dlzky. Staci ho updatnuta potom zmazat? Alebo je na to nejaky specialny command, ci nastavenie?

nebo nemusi sifrovat, ale mi to na vyhrazene partisne a tu v pripadne potreby celou shrednout.

Stejne jako na disku, data se pri delete neprepisuji - jen oznaci a po nejake dobe prepisi novymi daty. Ale je na databazi, jestli bude prepisovat data nebo extendovat datovy soubor. Jedine rozumne reseni je sifrovani dat nebo disku.

Re:Bezpečné smazání řádku v MariaDB
« Odpověď #6 kdy: 10. 06. 2024, 23:41:39 »
Provést úpravy schématu, provést export dat, smazat diska a přepsat jej nulama (data wipe), pak čistá instalace  systému a obnova dat. To je poměrně spolehlivý způsob, jak požadavek realizovat. Pravda, dost pracný.

Re:Bezpečné smazání řádku v MariaDB
« Odpověď #7 kdy: 11. 06. 2024, 08:19:54 »
pokud máš innodb a transakční log (redo log, soubory ib_logfile*), tak tam ty data budou poměrně dlouho.

Nejjistější je, udělat kompletní export (bez zmíněných řádků), smazat celou mariadb datovou složku a udělat import všech dat. Odstávka na pár hodin, ale máš to vyřešené s vysokou jistotou.

Pitvat to z disku je těžká věc i pro lidi, kteří s mariadb dělají dlouho a znají, natož, když se na to musíš ptát. To ani neřešíme případ, kdy ty data budou ještě fyzicky na discích než se přepíšou novými, to je také dost nedetermistický proces.

Re:Bezpečné smazání řádku v MariaDB
« Odpověď #8 kdy: 11. 06. 2024, 08:29:12 »
Trochu dost paranoia. Niekedy update pomoze, niekedy nie. Databazovy server je dost komplikovana vec a okrem autorov nikto nevie, ako funguje vnutri. Riesenim je ukladat zasifrovane data, a sifrovanie/desifrovanie robit v servise, ktory pracuje s tou db. Ale zaklad je zabezpecit jak fyzicky, tak sietovy pristup na dany server, kde je ta databaza.

RDa

  • *****
  • 2 709
    • Zobrazit profil
    • E-mail
Re:Bezpečné smazání řádku v MariaDB
« Odpověď #9 kdy: 11. 06. 2024, 10:11:45 »
Provést úpravy schématu, provést export dat, smazat diska a přepsat jej nulama (data wipe), pak čistá instalace  systému a obnova dat. To je poměrně spolehlivý způsob, jak požadavek realizovat. Pravda, dost pracný.

Zbytecny krok s upravou schematu na zdrojove tabulce - pouzil bych view nebo rovnou select into a kopiroval podmnozinu dat rovnou do nove, a pak zahodil puvodni, prejmenoval novou-docasnou na starou a hotovo.

Pokud by se to melo delat za provozu - existuje nejaka moznost udelat "RO" rezim pro tabulku?
(bral bych ze sloupec jiz ma zapnuty NULL a aplikace do nej uz nezapisuje - pak je jedno zda bude tabulka v starem ci novem schematu)

oss

  • ***
  • 245
    • Zobrazit profil
    • E-mail
Re:Bezpečné smazání řádku v MariaDB
« Odpověď #10 kdy: 11. 06. 2024, 10:13:30 »
Tie upravy schematu su nepouzitelne pre zivy system.

V takomto pripade je asi lahsie tie data ukladat na disk ako subory a potom ich zmazat/prepisat. a v databaze mat na ne len odkazy.

Re:Bezpečné smazání řádku v MariaDB
« Odpověď #11 kdy: 11. 06. 2024, 16:25:04 »
Mensia uvaha:
Pozriet prednasku  "Nádisková bitva - kam zasáhl chybný sektor" a naucit sa parovat sektory s inodom db file a cez dd sa pozriet co v nich je a pripadne premazat?
Doslova cat | dd if=/.. ofset=n | grep "zmazane data"
Rucne asi nie, ale viem si predstavit nejaky skript.

https://pretalx.linuxdays.cz/linuxdays-2023/talk/83PNCJ/
« Poslední změna: 11. 06. 2024, 16:26:55 od alobalova_ciapocka »