Slándáil agus DBMS: cad is gá duit a mheabhrú agus uirlisí slándála á roghnú agat

Slándáil agus DBMS: cad is gá duit a mheabhrú agus uirlisí slándála á roghnú agat

Denis Rozhkov is ainm dom, tá mé i gceannas ar fhorbairt bogearraí ag an gcuideachta Gazinformservice, san fhoireann táirgí Jatoba. Forchuireann reachtaíocht agus rialacháin chorparáideacha ceanglais áirithe maidir le slándáil stórála sonraí. Níl aon duine ag iarraidh go bhfaighidh tríú páirtithe rochtain ar fhaisnéis rúnda, mar sin tá na saincheisteanna seo a leanas tábhachtach d'aon tionscadal: sainaithint agus fíordheimhniú, rochtain ar shonraí a bhainistiú, sláine na faisnéise sa chóras a chinntiú, imeachtaí slándála a logáil. Dá bhrí sin, ba mhaith liom labhairt faoi roinnt pointí suimiúla maidir le slándáil DBMS.

Ullmhaíodh an t-alt bunaithe ar óráid ag @Bunachar Sonraí, eagraithe Mail.ru Cloud Solutions. Mura bhfuil tú ag iarraidh léamh, is féidir leat féachaint ar:


Beidh trí chuid san alt:

  • Conas naisc a dhaingniú.
  • Cad is iniúchadh ann ar ghníomhartha agus conas a bhfuil ag tarlú ar thaobh an bhunachair shonraí a thaifeadadh agus nascadh leis.
  • Conas sonraí a chosaint sa bhunachar sonraí féin agus cad iad na teicneolaíochtaí atá ar fáil chuige seo.

Slándáil agus DBMS: cad is gá duit a mheabhrú agus uirlisí slándála á roghnú agat
Trí chomhpháirt de shlándáil DBMS: cosaint naisc, iniúchadh gníomhaíochta agus cosaint sonraí

Do naisc a dhaingniú

Is féidir leat ceangal leis an mbunachar sonraí go díreach nó go hindíreach trí fheidhmchláir ghréasáin. De ghnáth, idirghníomhaíonn an t-úsáideoir gnó, is é sin, an duine a oibríonn leis an DBMS, leis go hindíreach.

Sula labhair tú faoi naisc a chosaint, ní mór duit ceisteanna tábhachtacha a fhreagairt a chinneann conas a dhéanfar bearta slándála a struchtúrú:

  • An ionann úsáideoir gnó amháin agus úsáideoir DBMS amháin?
  • cibé an gcuirtear rochtain ar shonraí DBMS ar fáil ach trí API a rialaíonn tú, nó an bhfuil rochtain dhíreach ar tháblaí;
  • cibé an leithdháiltear an DBMS ar mhír chosanta ar leith, cé a idirghníomhaíonn leis agus conas;
  • cibé an n-úsáidtear sraitheanna comhthiomsaithe/seachfhreastalaí agus sraitheanna idirmheánacha, ar féidir leo faisnéis a athrú faoin gcaoi a ndéantar an nasc agus cé atá ag baint úsáide as an mbunachar sonraí.

Anois féachaimis cad iad na huirlisí is féidir a úsáid chun naisc a dhaingniú:

  1. Bain úsáid as réitigh rang balla dóiteáin bunachar sonraí. Méadóidh ciseal breise cosanta, ar a laghad, trédhearcacht a bhfuil ag tarlú sa DBMS, agus ar a mhéid, beidh tú in ann cosaint sonraí breise a sholáthar.
  2. Úsáid polasaithe pasfhocail. Braitheann a n-úsáid ar an gcaoi a dtógtar d'ailtireacht. In aon chás, ní leor focal faire amháin i gcomhad cumraíochta feidhmchlár gréasáin a nascann leis an DBMS le haghaidh cosanta. Tá roinnt uirlisí DBMS ann a ligeann duit a rialú go dteastaíonn nuashonrú ón úsáideoir agus don phasfhocal.

    Is féidir leat tuilleadh a léamh faoi fheidhmeanna rátála úsáideoirí anseo, is féidir leat eolas a fháil freisin faoi Mheasúnóirí Leochaileachta MS SQL anseo

  3. Comhthéacs an tseisiúin a shaibhriú leis an bhfaisnéis riachtanach. Má bhíonn an seisiún teimhneach, ní thuigeann tú cé atá ag obair sa DBMS laistigh dá chreat, is féidir leat, laistigh de chreat na hoibríochta atá á déanamh, faisnéis a chur leis faoi cé atá ag déanamh cad agus cén fáth. Is féidir an fhaisnéis seo a fheiceáil san iniúchadh.
  4. Cumraigh SSL mura bhfuil deighilt líonra agat idir an DBMS agus úsáideoirí deiridh; níl sé i VLAN ar leith. I gcásanna den sórt sin, tá sé ríthábhachtach an cainéal idir an tomhaltóir agus an DBMS féin a chosaint. Tá uirlisí slándála ar fáil freisin i bhfoinse oscailte.

Conas a rachaidh sé seo i bhfeidhm ar fheidhmíocht an DBMS?

Breathnaímid ar shampla PostgreSQL chun a fheiceáil conas a théann SSL i bhfeidhm ar ualach an LAP, a mhéadaíonn agus a laghdaíonn TPS, agus an ídeoidh sé an iomarca acmhainní má chumasaíonn tú é.

Is clár simplí é PostgreSQL a lódáil le pgbench chun tástálacha feidhmíochta a rith. Déanann sé seicheamh amháin orduithe arís agus arís eile, b'fhéidir i seisiúin bhunachar sonraí comhthreomhara, agus ansin ríomhann sé an meánráta idirbhearta.

Tástáil 1 gan SSL agus ag baint úsáide as SSL — bunaítear an nasc le haghaidh gach idirbhirt:

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require 
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

Tástáil 2 gan SSL agus ag baint úsáide as SSL — déantar gach idirbheart in aon nasc amháin:

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

Socruithe eile:

scaling factor: 1
query mode: simple
number of clients: 10
number of threads: 1
number of transactions per client: 5000
number of transactions actually processed: 50000/50000

Torthaí tástála:

 
NÍL SSL
SSL

Bunaítear nasc le haghaidh gach idirbheart

meán latency
171.915 ms
187.695 ms

tps lena n-áirítear naisc a bhunú
58.168112
53.278062

tps gan bunú naisc a áireamh
64.084546
58.725846

LAP
24%
28%

Déantar gach idirbheart in aon nasc amháin

meán latency
6.722 ms
6.342 ms

tps lena n-áirítear naisc a bhunú
1587.657278
1576.792883

tps gan bunú naisc a áireamh
1588.380574
1577.694766

LAP
17%
21%

Ag ualaí solais, tá tionchar SSL inchomparáide leis an earráid tomhais. Má tá an méid sonraí a aistrítear an-mhór, d'fhéadfadh an scéal a bheith difriúil. Má bhunaímid nasc amháin in aghaidh an idirbhirt (is annamh é seo, de ghnáth roinntear an nasc idir úsáideoirí), tá líon mór nasc/dícheangail agat, seans go mbeidh an tionchar beagán níos mó. Is é sin, d'fhéadfadh go mbeadh rioscaí ann maidir le feidhmíocht laghdaithe, áfach, níl an difríocht chomh mór sin gan úsáid a bhaint as cosaint.

Tabhair faoi deara le do thoil go bhfuil difríocht mhór ann má dhéanann tú comparáid idir na modhanna oibriúcháin: tá tú ag obair laistigh den seisiún céanna nó i seisiúin éagsúla. Tá sé seo intuigthe: caitear acmhainní ar gach nasc a chruthú.

Bhí cás againn nuair a cheangail muid Zabbix i mód iontaobhais, is é sin, níor seiceáladh md5, ní raibh aon ghá le fíordheimhniú. Ansin d'iarr an custaiméir modh fíordheimhnithe md5 a chumasú. Chuir sé seo ualach trom ar an LAP, agus thit an fheidhmíocht. Thosaigh muid a chuardach le haghaidh bealaí a bharrfheabhsú. Is é ceann de na réitigh fhéideartha ar an bhfadhb srianta líonra a chur i bhfeidhm, VLANanna ar leith a dhéanamh don DBMS, socruithe a chur leis chun go mbeidh sé soiléir cé atá ag nascadh ón áit agus fíordheimhniú a bhaint. Is féidir leat socruithe fíordheimhnithe a bharrfheabhsú freisin chun costais a laghdú agus fíordheimhniú á chumasú agat, ach go ginearálta cuireann úsáid modhanna éagsúla fíordheimhnithe isteach ar fheidhmíocht agus ní mór na fachtóirí seo a chur san áireamh agus cumhacht ríomhaireachta na bhfreastalaithe (crua-earraí) don DBMS á dhearadh.

Conclúid: i roinnt réitigh, is féidir fiú nuances beag i fíordheimhnithe isteach go mór ar an tionscadal agus tá sé olc nuair a thagann sé seo soiléir ach amháin nuair a chuirtear i bhfeidhm i dtáirgeadh.

Iniúchadh gníomhaíochta

Is féidir le hiniúchadh a bheith ní hamháin DBMS. Baineann iniúchadh le heolas a fháil faoina bhfuil ag tarlú i míreanna éagsúla. Is féidir gur balla dóiteáin bunachar sonraí é seo nó an córas oibriúcháin ar a bhfuil an DBMS tógtha.

I DBMS leibhéal na Fiontraíochta tráchtála tá gach rud go breá le hiniúchadh, ach i bhfoinse oscailte - ní i gcónaí. Seo a bhfuil ag PostgreSQL:

  • logáil réamhshocraithe - logáil ionsuite;
  • síntí: pgaudit - mura leor an logáil réamhshocraithe duit, is féidir leat socruithe ar leith a úsáid a réitíonn roinnt fadhbanna.

Chomh maith leis an tuairisc san fhíseán:

“Is féidir logáil ráiteas bunúsach a sholáthar trí áis logála caighdeánach le log_statement = all.

Tá sé seo inghlactha le haghaidh monatóireachta agus úsáidí eile, ach ní sholáthraíonn sé an leibhéal sonraí a theastaíonn go hiondúil le haghaidh iniúchta.

Ní leor liosta a bheith agat de na hoibríochtaí go léir a dhéantar ar an mbunachar sonraí.

Ba cheart go mbeifí in ann ráitis shonracha a aimsiú a mbeadh spéis ag an iniúchóir iontu freisin.

Léiríonn an logáil chaighdeánach an méid a d'iarr an t-úsáideoir, agus díríonn pgAudit ar na sonraí faoinar tharla nuair a chuir an bunachar sonraí an cheist i gcrích.

Mar shampla, b'fhéidir gur mhaith leis an iniúchóir a fhíorú gur cruthaíodh tábla ar leith laistigh de fhuinneog cothabhála doiciméadaithe.

Seans gur tasc simplí é seo le hiniúchadh bunúsach agus grep, ach cad é dá gcuirfí rud éigin mar seo i láthair duit (mearbhall d’aon ghnó):

NÁ$$
BEGIN
D’FHEIDHMIÚ ‘CRUTHÚ TÁBLA allmhairiú’ || 'ant_table(id int)';
DEIREADH$;

Tabharfaidh logáil chaighdeánach seo duit:

LOG: ráiteas: NÁ $$
BEGIN
D’FHEIDHMIÚ ‘CRUTHÚ TÁBLA allmhairiú’ || 'ant_table(id int)';
DEIREADH$;

Dealraíonn sé go bhféadfadh go mbeadh eolas cód éigin ag teastáil chun an tábla spéise a aimsiú i gcásanna ina gcruthaítear táblaí go dinimiciúil.

Níl sé seo oiriúnach, mar b'fhearr cuardach a dhéanamh de réir ainm tábla.

Seo an áit a mbíonn pgAudit áisiúil.

Maidir leis an ionchur céanna, cuirfidh sé an t-aschur seo ar fáil sa loga:

INIÚCHADH: SEISIÚN,33,1,FEIDHM,DÉANAMH,,,"DÉANAMH $$
BEGIN
D’FHEIDHMIÚ ‘CRUTHÚ TÁBLA allmhairiú’ || 'ant_table(id int)';
DEIREADH$;"
INIÚCHADH: SEISIÚN, 33,2, XNUMX, DDL, CREATE TABLE,TABLE,public.important_table,CREATE TABLE important_table (id INT)

Ní hamháin go bhfuil an bloc DO logáilte, ach freisin téacs iomlán an CREATE TABLE le cineál ráitis, cineál oibiachta, agus ainm iomlán, rud a fhágann gur fusa an cuardach.

Agus ráitis SELECT agus DML á logáil, is féidir pgAudit a chumrú chun iontráil ar leith a logáil do gach gaol dá dtagraítear sa ráiteas.

Níl parsáil riachtanach chun gach ráiteas a thagann i dteagmháil le tábla ar leith a fháil(*) ».

Conas a rachaidh sé seo i bhfeidhm ar fheidhmíocht an DBMS?

Déanaimis tástálacha le hiniúchadh iomlán cumasaithe agus féachfaimid cad a tharlaíonn d'fheidhmíocht PostgreSQL. Déanaimis logáil bunachar sonraí uasta a chumasú do na paraiméadair go léir.

Ní athraíonn muid beagnach rud ar bith sa chomhad cumraíochta, is é an rud is tábhachtaí ná an modh debug5 a chur ar siúl chun an t-eolas is mó a fháil.

postgresql.conf

log_destination = 'stderr'
logging_collector = ar
log_truncate_on_rotation = ar
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_messages = debug5
log_min_error_statement = debug5
log_min_duration_statement = 0
debug_print_parse = ar
debug_print_rewritten = ar
debug_print_plan = ar
debug_pretty_print = ar
log_checkpoints = ar
log_connections = ar
log_disconnections = ar
log_duration = ar
log_hostname = ar
log_lock_wait = ar
log_replication_commands = ar
log_temp_files = 0
log_timezone = 'An Eoraip/Moscó'

Ar DBMS PostgreSQL le paraiméadair de 1 CPU, 2,8 GHz, 2 GB RAM, 40 GB HDD, déanaimid trí thástáil ualaigh ag baint úsáide as na horduithe:

$ pgbench -p 3389 -U postgres -i -s 150 benchmark
$ pgbench -p 3389 -U postgres -c 50 -j 2 -P 60 -T 600 benchmark
$ pgbench -p 3389 -U postgres -c 150 -j 2 -P 60 -T 600 benchmark

Torthaí tástála:

Gan logáil
Le logáil

Am líonadh bunachar sonraí iomlán
43,74 soic
53,23 soic

robáil
24%
40%

LAP
72%
91%

Tástáil 1 (50 nasc)

Líon na n-idirbheart i 10 nóiméad
74169
32445

Idirbhearta/soic
123
54

Meán Latency
405 ms
925 ms

Tástáil 2 (150 nasc le 100 féideartha)

Líon na n-idirbheart i 10 nóiméad
81727
31429

Idirbhearta/soic
136
52

Meán Latency
550 ms
1432 ms

Maidir le méideanna

Méid DB
2251 MB
2262 MB

Méid logáil bunachar sonraí
0 MB
4587 MB

Bunlíne: níl iniúchadh iomlán an-mhaith. Beidh na sonraí ón iniúchadh chomh mór leis na sonraí sa bhunachar sonraí féin, nó níos mó fós. Is fadhb choitianta i dtáirgeadh é an méid logála a ghintear agus tú ag obair le DBMS.

Breathnaímid ar pharaiméadair eile:

  • Ní athraíonn an luas i bhfad: gan logáil - 43,74 soicind, le logáil - 53,23 soicind.
  • Beidh feidhmíocht RAM agus LAP ag fulaingt, mar is gá duit comhad iniúchta a ghiniúint. Tá sé seo faoi deara freisin i táirgiúlacht.

De réir mar a mhéadaíonn líon na nasc, go nádúrtha, beidh an fheidhmíocht in olcas beagán.

I gcorparáidí le hiniúchadh tá sé níos deacra fós:

  • tá go leor sonraí ann;
  • tá gá le hiniúchadh ní hamháin trí syslog i SIEM, ach freisin i gcomhaid: má tharlaíonn rud éigin do syslog, ní mór comhad a bheith gar don bhunachar sonraí ina ndéantar na sonraí a shábháil;
  • tá seilf ar leith ag teastáil le haghaidh iniúchta ionas nach gcuirfear amú dioscaí I/O, toisc go dtógann sé go leor spáis;
  • Tarlaíonn sé go gcaithfidh fostaithe slándála faisnéise caighdeáin GOST i ngach áit, éilíonn siad sainaithint stáit.

Rochtain ar shonraí a shrianadh

Breathnaímid ar na teicneolaíochtaí a úsáidtear chun sonraí a chosaint agus rochtain a fháil orthu i DBMSanna tráchtála agus foinse oscailte.

Cad is féidir leat a úsáid go ginearálta:

  1. Criptiú agus obfuscation nósanna imeachta agus feidhmeanna (timfhilleadh) - is é sin, uirlisí agus fóntais ar leith a dhéanann cód inléite neamh-inléite. Is fíor, mar sin ní féidir é a athrú ná a athfhachtóiriú ar ais. Tá gá leis an gcur chuige seo uaireanta ar a laghad ar thaobh an DBMS - déantar loighic na srianta ceadúnais nó an loighic údaraithe a chriptiú go beacht ag leibhéal an nós imeachta agus na feidhme.
  2. Is éard atá i gceist le hinfheictheacht sonraí a theorannú de réir sraitheanna (RLS) nuair a fheiceann úsáideoirí difriúla tábla amháin, ach comhdhéanamh difriúil sraitheanna ann, is é sin, ní féidir rud éigin a thaispeáint do dhuine ag leibhéal an rónna.
  3. Is éard a bhíonn i gceist leis na sonraí a thaispeántar a chur in eagar (Macáil) ná nuair a fheiceann úsáideoirí i gcolún amháin den tábla sonraí nó réiltíní amháin, is é sin le rá go ndúnfar an fhaisnéis i gcás roinnt úsáideoirí. Cinneann an teicneolaíocht cén úsáideoir a léirítear cad é bunaithe ar a leibhéal rochtana.
  4. Slándáil DBA/Feidhmchlár Is éard atá i gceist le rialú rochtana DBA/DBA ná rochtain ar an DBMS féin a shrianadh, is é sin, is féidir fostaithe slándála faisnéise a scaradh ó riarthóirí bunachar sonraí agus riarthóirí feidhmchlár. Is beag teicneolaíochtaí den sórt sin i bhfoinse oscailte, ach tá neart acu i DBMSanna tráchtála. Tá siad ag teastáil nuair a bhíonn go leor úsáideoirí a bhfuil rochtain acu ar na freastalaithe iad féin.
  5. Srian a chur le rochtain ar chomhaid ag leibhéal an chórais comhad. Is féidir leat cearta agus pribhléidí rochtana a dheonú ar eolairí ionas nach mbeidh rochtain ag gach riarthóir ach ar na sonraí riachtanacha.
  6. Rochtain éigeantach agus imréitigh cuimhne - is annamh a úsáidtear na teicneolaíochtaí seo.
  7. Is criptiú taobh an chliaint é criptiú ceann go ceann díreach ón DBMS agus tá príomhbhainistíocht ar thaobh an fhreastalaí.
  8. Criptiú sonraí. Mar shampla, is éard atá i gceist le criptiú columnar nuair a úsáideann tú meicníocht a chriptíonn colún amháin den bhunachar sonraí.

Conas a théann sé seo i bhfeidhm ar fheidhmíocht an DBMS?

Breathnaímid ar an sampla de chriptiú columnar i PostgreSQL. Tá modúl pgcrypto ann, ligeann sé duit réimsí roghnaithe a stóráil i bhfoirm criptithe. Tá sé seo úsáideach nuair nach bhfuil ach roinnt sonraí luachmhar. Chun na réimsí criptithe a léamh, tarchuireann an cliant eochair dhíchriptithe, díchriptíonn an freastalaí na sonraí agus cuireann sé ar ais chuig an gcliant é. Gan an eochair, ní féidir le duine ar bith aon rud a dhéanamh le do shonraí.

Déanaimis tástáil le pgcrypto. Cruthaímid tábla le sonraí criptithe agus sonraí rialta. Seo thíos na horduithe chun táblaí a chruthú, sa chéad líne tá ordú úsáideach - ag cruthú an síneadh féin le clárú DBMS:

CREATE EXTENSION pgcrypto;
CREATE TABLE t1 (id integer, text1 text, text2 text);
CREATE TABLE t2 (id integer, text1 bytea, text2 bytea);
INSERT INTO t1 (id, text1, text2)
VALUES (generate_series(1,10000000), generate_series(1,10000000)::text, generate_series(1,10000000)::text);
INSERT INTO t2 (id, text1, text2) VALUES (
generate_series(1,10000000),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'));

Ansin, déanaimis iarracht sampla sonraí a dhéanamh ó gach tábla agus breathnú ar na hamanna forghníomhaithe.

Roghnú ó tábla gan feidhm criptithe:

psql -c "timing" -c "select * from t1 limit 1000;" "host=192.168.220.129 dbname=taskdb
user=postgres sslmode=disable" > 1.txt

Tá an stopuaireadóir ar siúl.

  id | téacs1 | téacs2
——+——-+——-
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
...
997 | 997 | 997
998 | 998 | 998
999 | 999 | 999
1000 | 1000 | 1000
(1000 líne)

Am: 1,386 ms

Roghnú ó thábla le feidhm chriptiúcháin:

psql -c "timing" -c "select id, decrypt(text1, 'key'::bytea, 'bf'),
decrypt(text2, 'key'::bytea, 'bf') from t2 limit 1000;"
"host=192.168.220.129 dbname=taskdb user=postgres sslmode=disable" > 2.txt

Tá an stopuaireadóir ar siúl.

  id | dhíchriptiú | dhíchriptiú
——+————+————
1 | x31 | x31
2 | x32 | x32
3 | x33 | x33
...
999 | x393939 | x393939
1000 | x31303030 | x31303030
(1000 líne)

Am: 50,203 ms

Torthaí tástála:

 
Gan criptiú
Pgcrypto (díchriptiú)

Sampla 1000 sraitheanna
1,386 ms
50,203 ms

LAP
15%
35%

robáil
 
+ 5%

Tá tionchar mór ag criptiú ar fheidhmíocht. Is féidir a fheiceáil go bhfuil méadú tagtha ar an am, ós rud é go dteastaíonn acmhainní suntasacha ó oibríochtaí díchriptithe sonraí criptithe (agus de ghnáth tá an díchriptiú fós fillte i do loighic). Is é sin, tá an smaoineamh maidir le gach colún ina bhfuil roinnt sonraí a chriptiú iomlán le laghdú ar fheidhmíocht.

Mar sin féin, ní piléar airgid é criptiú a réitíonn gach fadhb. Tá na sonraí díchriptithe agus an eochair dhíchriptithe le linn an phróisis chun na sonraí a dhíchriptiú agus a tharchur suite ar an bhfreastalaí. Mar sin, is féidir leis na heochracha a idircheapadh ag duine éigin a bhfuil rochtain iomlán ar an bhfreastalaí bunachar sonraí, mar shampla riarthóir córais.

Nuair a bhíonn eochair amháin don cholún iomlán do na húsáideoirí go léir (fiú mura bhfuil do gach duine, ach do chliaint de shraith teoranta), níl sé seo i gcónaí go maith agus ceart. Sin é an fáth a thosaigh siad ag déanamh criptithe deireadh-go-deireadh, sa DBMS thosaigh siad ag smaoineamh ar roghanna chun sonraí a chriptiú ar thaobh an chliaint agus an fhreastalaí, agus bhí an chuma ar na stórais eochair-bhográin sin - táirgí ar leithligh a sholáthraíonn príomhbhainistíocht ar an DBMS taobh.

Slándáil agus DBMS: cad is gá duit a mheabhrú agus uirlisí slándála á roghnú agat
Sampla de chriptiú den sórt sin i MongoDB

Gnéithe slándála i DBMS tráchtála agus foinse oscailte

Feidhmeanna
Cineál
Polasaí Pasfhocal
Iniúchta
Cód foinse na nósanna imeachta agus na bhfeidhmeanna a chosaint
RLS
Criptiú

Oracle
tráchtála
+
+
+
+
+

MsSql
tráchtála
+
+
+
+
+

Jatoba
tráchtála
+
+
+
+
síntí

PostgreSQL
Saor in aisce
síntí
síntí
-
+
síntí

MhongóDb
Saor in aisce
-
+
-
-
Ar fáil i MongoDB Enterprise amháin

Tá an tábla i bhfad ó bheith iomlán, ach is é an cás seo: i dtáirgí tráchtála, tá fadhbanna slándála réitithe ar feadh i bhfad, i bhfoinse oscailte, mar riail, úsáidtear breiseán de chineál éigin le haghaidh slándála, tá go leor feidhmeanna ar iarraidh. , uaireanta caithfidh tú rud éigin a chur leis. Mar shampla, polasaithe pasfhocail - tá go leor síntí éagsúla ag PostgreSQL (1, 2, 3, 4, 5), a chuireann beartais phasfhocal i bhfeidhm, ach, i mo thuairim, ní chlúdaíonn aon cheann acu riachtanais uile na deighleog chorparáideach intíre.

Cad atá le déanamh mura bhfuil a bhfuil uait áit ar bith? Mar shampla, ba mhaith leat DBMS ar leith a úsáid nach bhfuil na feidhmeanna aige a éilíonn an custaiméir.

Ansin is féidir leat réitigh tríú páirtí a úsáid a oibríonn le DBMSanna éagsúla, mar shampla, Crypto DB nó Garda DB. Má tá muid ag caint faoi réitigh ón deighleog intíre, ansin tá a fhios acu faoi GOSTs níos fearr ná mar atá i bhfoinse oscailte.

Is é an dara rogha ná an méid a theastaíonn uait a scríobh tú féin, rochtain sonraí agus criptiú a chur i bhfeidhm san iarratas ar leibhéal an nós imeachta. Fíor, beidh sé níos deacra le GOST. Ach go ginearálta, is féidir leat na sonraí a cheilt de réir mar is gá, iad a chur i DBMS, ansin iad a aisghabháil agus a dhíchriptiú de réir mar is gá, díreach ag leibhéal an iarratais. Ag an am céanna, smaoinigh láithreach ar conas a chosnóidh tú na halgartaim seo san iarratas. Is é ár dtuairim gur chóir é seo a dhéanamh ag leibhéal an DBMS, toisc go n-oibreoidh sé níos tapúla.

Cuireadh an tuarascáil seo i láthair den chéad uair ag @Bunachair Shonraí Meetup ag Mail.ru Cloud Solutions. Féach físeán léirithe eile agus liostáil d'fhógraí imeachtaí ar Telegram Timpeall Kubernetes ag Mail.ru Ghrúpa.

Cad eile atá le léamh ar an ábhar:

  1. Níos mó ná Ceph: stóráil bloc scamall MCS.
  2. Conas bunachar sonraí a roghnú le haghaidh tionscadail ionas nach mbeidh ort a roghnú arís.

Foinse: will.com

Add a comment