Амният ва DBMS: он чизеро, ки шумо ҳангоми интихоби асбобҳои амниятӣ дар хотир доред

Амният ва DBMS: он чизеро, ки шумо ҳангоми интихоби асбобҳои амниятӣ дар хотир доред

Номи ман Денис Рожков, ман роҳбари таҳияи нармафзор дар ширкати Gazinformservice, дар гурӯҳи маҳсулот ҳастам Ҷатоба. Қонунгузорӣ ва қоидаҳои корпоративӣ барои амнияти нигоҳдории маълумот талаботҳои муайянро муқаррар мекунанд. Ҳеҷ кас намехоҳад, ки шахсони сеюм ба маълумоти махфӣ дастрасӣ пайдо кунанд, аз ин рӯ масъалаҳои зерин барои ҳама гуна лоиҳа муҳиманд: мушаххаскунӣ ва аутентификатсия, идоракунии дастрасӣ ба маълумот, таъмини якпорчагии иттилоот дар система, сабти рӯйдодҳои амниятӣ. Аз ин рӯ, ман мехоҳам дар бораи баъзе нуктаҳои ҷолиб дар бораи амнияти DBMS сӯҳбат кунам.

Макола дар асоси нутки дар @DatabasesMeetup, ташкил карда шудааст Mail.ru ҳалли абрӣ. Агар шумо хондан нахоҳед, метавонед тамошо кунед:


Мақола аз се қисм иборат хоҳад буд:

  • Чӣ тавр бехатарии пайвастшавӣ.
  • Аудити амалҳо чист ва чӣ гуна сабт кардани он чизе, ки дар тарафи пойгоҳи додаҳо рух медиҳад ва ба он пайваст мешавад.
  • Чӣ гуна бояд маълумотро дар худи пойгоҳи додаҳо ҳифз кард ва барои ин кадом технологияҳо мавҷуданд.

Амният ва DBMS: он чизеро, ки шумо ҳангоми интихоби асбобҳои амниятӣ дар хотир доред
Се ҷузъи амнияти DBMS: ҳифзи пайвастшавӣ, аудити фаъолият ва ҳифзи додаҳо

Таъмини пайвастҳои шумо

Шумо метавонед ба пойгоҳи додаҳо мустақиман ё бавосита тавассути барномаҳои веб пайваст шавед. Чун ќоида, истифодабарандаи тиљорат, яъне шахсе, ки бо МБМ кор мекунад, бавосита бо он муомила мекунад.

Пеш аз он ки дар бораи муҳофизати пайвастҳо сӯҳбат кунед, шумо бояд ба саволҳои муҳиме ҷавоб диҳед, ки чӣ гуна сохтори чораҳои амниятӣ муайян мекунанд:

  • Оё як корбари тиҷорӣ ба як корбари DBMS баробар аст?
  • оё дастрасӣ ба маълумоти DBMS танҳо тавассути API, ки шумо назорат мекунед, ё дастрасии мустақим ба ҷадвалҳо;
  • оё МДМ ба сегменти алоҳидаи муҳофизатшаванда ҷудо карда шудааст, ки бо он кор мекунад ва чӣ тавр;
  • оё қабатҳои ҷамъкунӣ/прокси ва фосилавӣ истифода мешаванд, ки метавонанд маълумотро дар бораи чӣ гуна пайвастшавӣ сохтан ва кӣ аз пойгоҳи додаҳо истифода мебарад, тағир диҳад.

Акнун биёед бубинем, ки кадом асбобҳоро барои таъмини пайвастшавӣ истифода бурдан мумкин аст:

  1. Қарорҳои синфии девори пойгоҳи додаҳоро истифода баред. Қабати иловагии муҳофизат, ҳадди аққал, шаффофияти он чизе, ки дар DBMS рух медиҳад, зиёд мекунад ва ҳадди аксар, шумо метавонед ҳифзи иловагии маълумотро таъмин кунед.
  2. Сиёсати паролро истифода баред. Истифодаи онҳо аз он вобаста аст, ки меъмории шумо чӣ гуна сохта шудааст. Дар ҳар сурат, як парол дар файли конфигуратсияи барномаи веб, ки ба DBMS пайваст мешавад, барои муҳофизат кофӣ нест. Як қатор асбобҳои DBMS мавҷуданд, ки ба шумо имкон медиҳанд назорат кунед, ки корбар ва парол навсозӣ талаб мекунад.

    Шумо метавонед дар бораи функсияҳои рейтинги корбар бештар хонед дар ин ҷо, шумо инчунин метавонед дар бораи арзёбии осебпазирии MS SQL маълумот гиред дар ин ҷо

  3. Мазмуни сессияро бо маълумоти зарурй бой гардонед. Агар сессия ношаффоф бошад, шумо намефаҳмед, ки кӣ дар DBMS дар доираи он кор мекунад, шумо метавонед дар доираи амалиёти иҷрошаванда маълумотро дар бораи кӣ ва барои чӣ кор кардан илова кунед. Ин маълумотро дар аудит дидан мумкин аст.
  4. Агар шумо байни DBMS ва корбарони ниҳоӣ ҷудоии шабака надошта бошед, SSL-ро танзим кунед; он дар VLAN алоҳида нест. Дар чунин ҳолатҳо, муҳофизат кардани канал байни истеъмолкунанда ва худи DBMS ҳатмист. Воситаҳои амниятӣ инчунин дар манбаи кушода дастрасанд.

Ин ба кори DBMS чӣ гуна таъсир мерасонад?

Биёед мисоли PostgreSQL-ро бубинем, то бубинем, ки SSL ба сарбории CPU чӣ гуна таъсир мерасонад, мӯҳлатҳоро зиёд мекунад ва TPS-ро коҳиш медиҳад ва оё он захираҳои аз ҳад зиёдро дар сурати фаъол кардани он истеъмол мекунад.

Боркунии PostgreSQL бо истифода аз pgbench як барномаи оддӣ барои гузаронидани санҷишҳои самаранокӣ мебошад. Он як пайдарпаии ягонаи фармонҳоро такроран, эҳтимолан дар сеансҳои мувозии пойгоҳи додаҳо иҷро мекунад ва сипас суръати миёнаи транзаксияро ҳисоб мекунад.

Санҷиши 1 бе SSL ва истифодаи SSL — барои ҳар як транзаксия алоқа муқаррар карда мешавад:

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"

Санҷиши 2 бе SSL ва истифодаи SSL — ҳамаи амалиётҳо дар як пайваст анҷом дода мешаванд:

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"

Дигар танзимот:

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

Натиҷаҳои санҷиш:

 
НЕ SSL
SSL

Барои ҳар як транзаксия пайвастшавӣ муқаррар карда мешавад

миёнаи таъхир
171.915 ms
187.695 ms

tps, аз ҷумла таъсиси пайвастҳо
58.168112
53.278062

tps ба истиснои пайвастшавӣ
64.084546
58.725846

ВПМ - Воҳиди Пардозиши Марказӣ
24%
28%

Ҳама амалиётҳо дар як пайваст анҷом дода мешаванд

миёнаи таъхир
6.722 ms
6.342 ms

tps, аз ҷумла таъсиси пайвастҳо
1587.657278
1576.792883

tps ба истиснои пайвастшавӣ
1588.380574
1577.694766

ВПМ - Воҳиди Пардозиши Марказӣ
17%
21%

Ҳангоми бори сабук, таъсири SSL бо хатогии андозагирӣ муқоиса карда мешавад. Агар миқдори маълумоти интиқолшуда хеле калон бошад, вазъият метавонад гуногун бошад. Агар мо дар як транзаксия як пайвастшавӣ таъсис диҳем (ин нодир аст, одатан пайвастшавӣ байни корбарон тақсим карда мешавад), шумо шумораи зиёди пайвастҳо/пайвандҳо доред, таъсир метавонад каме калонтар бошад. Ин аст, ки хатари паст шудани кор метавонад вуҷуд дошта бошад, аммо фарқият он қадар калон нест, ки муҳофизатро истифода набаред.

Лутфан қайд кунед, ки агар шумо режимҳои корро муқоиса кунед, фарқияти қавӣ вуҷуд дорад: шумо дар як сессия ё дар сеансҳои гуногун кор мекунед. Ин фаҳмо аст: захираҳо барои эҷоди ҳар як пайвастшавӣ сарф карда мешаванд.

Мо як ҳолате доштем, ки мо Zabbix-ро дар реҷаи эътимод пайваст кардем, яъне md5 санҷида нашуд, ба аутентификатсия лозим набуд. Сипас муштарӣ хоҳиш кард, ки режими аутентификатсияи md5-ро фаъол созад. Ин ба CPU бори вазнин гузошт ва иҷроиш коҳиш ёфт. Мо ба ҷустуҷӯи роҳҳои оптимизатсия шурӯъ кардем. Яке аз роҳҳои имконпазири ҳалли мушкилот татбиқи маҳдудиятҳои шабакавӣ, сохтани VLAN-ҳои алоҳида барои DBMS, илова кардани танзимот барои равшан кардани кӣ аз куҷо пайваст шудан ва хориҷ кардани аутентификатсия мебошад. Шумо инчунин метавонед танзимоти аутентификатсияро барои кам кардани хароҷот ҳангоми фаъолсозии аутентификатсия оптимизатсия кунед, аммо Умуман, истифодаи усулҳои гуногуни аутентификатсия ба кор таъсир мерасонад ва ҳангоми тарҳрезии қудрати ҳисоббарории серверҳо (сахтафзор) барои DBMS ба инобат гирифтани ин омилҳоро талаб мекунад.

Хулоса: дар як қатор қарорҳо, ҳатто нозукиҳои хурд дар аутентификатсия метавонанд ба лоиҳа хеле таъсир расонанд ва ин бад аст, вақте ки ин танҳо ҳангоми дар истеҳсолот татбиқ карда мешавад.

Аудити амал

Аудит метавонад на танҳо DBMS бошад. Аудит дар бораи ба даст овардани маълумот дар бораи он чизе, ки дар сегментҳои гуногун рух медиҳад, мебошад. Ин метавонад ё девори пойгоҳи додаҳо ё системаи амалиётие бошад, ки дар он DBMS сохта шудааст.

Дар МДМ сатҳи тиҷоратӣ бо аудит ҳама чиз хуб аст, аммо дар манбаи кушода на ҳамеша. Ин аст он чизе ки PostgreSQL дорад:

  • сабти пешфарз - сабти дарунсохт;
  • васеъшавӣ: pgaudit - агар сабти пешфарз барои шумо кофӣ набошад, шумо метавонед танзимоти алоҳидаеро истифода баред, ки баъзе мушкилотро ҳал мекунанд.

Илова ба гузориш дар видео:

"Бақайдгирии изҳороти асосӣ метавонад аз ҷониби як дастгоҳи стандартии бақайдгирӣ бо log_statement = ҳама таъмин карда шавад.

Ин барои мониторинг ва истифодаҳои дигар қобили қабул аст, аммо сатҳи тафсилоти маъмулан барои аудит заруриро таъмин намекунад.

Доштани руйхати хамаи амалиётхои дар базаи маълумотхо ичрошаванда кифоя нест.

Инчунин бояд изҳороти мушаххасеро пайдо кард, ки ба аудитор таваҷҷӯҳ доранд.

Сабти стандартӣ он чизеро, ки корбар дархост кардааст, нишон медиҳад, дар ҳоле ки pgAudit ба тафсилоти он чизе, ки ҳангоми иҷрои пойгоҳи дода дархост рух додааст, тамаркуз мекунад.

Масалан, аудитор метавонад тафтиш кунад, ки ҷадвали мушаххас дар дохили равзанаи нигоҳдории ҳуҷҷатгузорӣ сохта шудааст.

Ин метавонад як вазифаи оддӣ бо аудити асосӣ ва grep ба назар расад, аммо агар ба шумо мисоли монанди ин (қасдан печида) пешниҳод карда шавад, чӣ мешавад:

DO$$
БЕГОНА
ИҶРО КУНЕД 'Воридоти Ҷадвали Эҷоди' || 'ant_table(id int)';
END$$;

Сабти стандартӣ ба шумо инҳоро медиҳад:

LOG: изҳорот: КОР $$
БЕГОНА
ИҶРО КУНЕД 'Воридоти Ҷадвали Эҷоди' || 'ant_table(id int)';
END$$;

Чунин ба назар мерасад, ки дарёфти ҷадвали таваҷҷӯҳ метавонад дониши муайяни кодро дар ҳолатҳое талаб кунад, ки ҷадвалҳо ба таври динамикӣ сохта мешаванд.

Ин беҳтарин нест, зеро аз рӯи номи ҷадвал ҷустуҷӯ кардан беҳтар аст.

Дар ин ҷо pgAudit муфид аст.

Барои ҳамон вуруд, он ин натиҷаро дар гузориш медиҳад:

АУДИТ: СЕССИЯ,33,1,ФУНКСИЯ,КОРКУНЕД,,,"КОР $$
БЕГОНА
ИҶРО КУНЕД 'Воридоти Ҷадвали Эҷоди' || 'ant_table(id int)';
END$$;"
АУДИТ: СЕССИЯ,33,2,DDL, Эҷоди Ҷадвали,Ҷадвал,public.important_table,Эҷоди Ҷадвали муҳим_ҷадвал (id INT)

На танҳо блоки DO сабт карда мешавад, балки матни пурраи CREATE TABLE бо навъи изҳорот, навъи объект ва номи пурра, ки ҷустуҷӯро осон мекунад.

Ҳангоми сабти баёнияҳои SELECT ва DML, pgAudit-ро метавон танзим кард, ки барои ҳар як муносибате, ки дар изҳорот истинод шудааст, сабти алоҳидаро сабт кунад.

Барои дарёфти ҳама изҳороте, ки ба ҷадвали мушаххас дахл доранд, таҳлил лозим нест (*) ».

Ин ба кори DBMS чӣ гуна таъсир мерасонад?

Биёед санҷишҳоро бо аудити пурра фаъол кунем ва бубинем, ки бо иҷрои PostgreSQL чӣ мешавад. Биёед сабти максималии пойгоҳи додаҳоро барои ҳамаи параметрҳо фаъол созем.

Мо дар файли конфигуратсия қариб ҳеҷ чизро тағир намедиҳем, аз ҳама муҳим он аст, ки ҳолати debug5-ро барои гирифтани маълумоти максималӣ фаъол созем.

postgresql.conf

log_destination = 'stderr'
logging_collector = фаъол
log_truncate_on_rotation = фаъол
log_rotation_age = 1г
log_rotation_size = 10MB
log_min_messages = ислоҳи 5
log_min_error_statement = ислоҳи 5
log_min_duration_statement = 0
debug_print_parse = фаъол
debug_print_rewritten = фаъол
debug_print_plan = фаъол
debug_pretty_print = фаъол
log_checkpoints = фаъол
log_connections = фаъол
log_disconnections = фаъол
log_duration = фаъол
log_hostname = фаъол
log_lock_wait = фаъол
log_replication_commands = фаъол
log_temp_files = 0
log_timezone = 'Аврупо/Маскав'

Дар DBMS PostgreSQL бо параметрҳои 1 CPU, 2,8 ГГц, 2 ГБ RAM, 40 ГБ HDD, мо бо истифода аз фармонҳо се санҷиши сарборӣ мегузаронем:

$ 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

Натиҷаҳои санҷиш:

Бе қайдгири
Бо сабт

Вақти умумии пур кардани пойгоҳи додаҳо
43,74 с
53,23 с

RAM
24%
40%

ВПМ - Воҳиди Пардозиши Марказӣ
72%
91%

Санҷиши 1 (50 пайваст)

Шумораи транзаксияҳо дар 10 дақиқа
74169
32445

Амалиёт/сек
123
54

Таъхири миёна
405 ms
925 ms

Санҷиши 2 (150 пайваст бо 100 имконпазир)

Шумораи транзаксияҳо дар 10 дақиқа
81727
31429

Амалиёт/сек
136
52

Таъхири миёна
550 ms
1432 ms

Дар бораи андозаҳо

Андозаи DB
2251 MB
2262 MB

Андозаи сабти пойгоҳи додаҳо
0 MB
4587 MB

Хатти поён: аудити пурра он қадар хуб нест. Маълумот аз аудит ба андозаи маълумот дар худи базаи маълумот ё ҳатто бештар хоҳад буд. Ҳаҷми сабти ном, ки ҳангоми кор бо DBMS тавлид мешавад, як мушкилоти маъмул дар истеҳсолот аст.

Биёед ба параметрҳои дигар назар кунем:

  • Суръат чандон тагйир намеёбад: бе чавгон — 43,74 сония, бо тай-ёркунй — 53,23 сония.
  • Фаъолияти RAM ва CPU азият мекашад, зеро шумо бояд файли аудитиро эҷод кунед. Ин дар хосилнокии мехнат низ мушохида мешавад.

Бо зиёд шудани шумораи пайвастҳо, табиист, ки кор каме бадтар мешавад.

Дар корпоратсияҳое, ки аудит доранд, боз ҳам мушкилтар аст:

  • маълумоти зиёд вуҷуд дорад;
  • аудит на танҳо тавассути syslog дар SIEM, балки дар файлҳо низ лозим аст: агар бо syslog чизе рӯй диҳад, бояд файле дар наздикии базаи маълумот мавҷуд бошад, ки маълумот дар он захира карда мешавад;
  • барои ревизия рафи алохида лозим аст, то ки дискхои дохилшавиро бехуда сарф накунанд, зеро он чои зиёдро мегирад;
  • Чунин мешавад, ки кормандони амнияти иттилоотӣ дар ҳама ҷо ба стандартҳои ГОСТ ниёз доранд, онҳо шахсияти давлатиро талаб мекунанд.

Маҳдуд кардани дастрасӣ ба маълумот

Биёед технологияҳоеро бубинем, ки барои ҳифзи додаҳо ва дастрасӣ ба он дар DBMS тиҷоратӣ ва манбаи кушода истифода мешаванд.

Шумо умуман чиро истифода карда метавонед:

  1. Рамзгузорӣ ва парешонсозии расмиёти ва функсияҳо (Порборкунӣ) - яъне асбобҳо ва утилитаҳои ҷудогона, ки коди хондашавандаро нохонда мекунанд. Дуруст аст, пас онро на тағир додан мумкин аст ва на баргардонидан. Ин равиш баъзан ҳадди аққал дар тарафи DBMS талаб карда мешавад - мантиқи маҳдудиятҳои иҷозатнома ё мантиқи авторизатсия маҳз дар сатҳи тартиб ва функсия рамзгузорӣ карда мешавад.
  2. Маҳдуд кардани дидани маълумот аз рӯи сатрҳо (RLS) он аст, ки корбарони гуногун як ҷадвалро мебинанд, аммо таркиби дигари сатрҳо дар он, яъне чизеро ба касе дар сатҳи сатр нишон додан мумкин нест.
  3. Таҳрири маълумоти намоишшуда (Ниқобкунӣ) он вақт аст, ки корбарон дар як сутуни ҷадвал ё маълумот ё танҳо ситорачаҳоро мебинанд, яъне барои баъзе корбарон ин маълумот баста мешавад. Технология муайян мекунад, ки кадом корбар вобаста ба сатҳи дастрасии онҳо чиро нишон медиҳад.
  4. Назорати дастрасии DBA/Application DBA/DBA, баръакс, дар бораи маҳдуд кардани дастрасӣ ба худи DBMS мебошад, яъне кормандони амнияти иттилоотиро аз маъмурони пойгоҳи додаҳо ва маъмурони барномаҳо ҷудо кардан мумкин аст. Чунин технологияҳо дар маъхазҳои кушода каманд, аммо онҳо дар DBMS-ҳои тиҷоратӣ зиёданд. Онҳо вақте лозиманд, ки корбарони зиёде ба худи серверҳо дастрасӣ доранд.
  5. Маҳдуд кардани дастрасӣ ба файлҳо дар сатҳи системаи файлӣ. Шумо метавонед ба директорияҳо ҳуқуқ ва имтиёзҳои дастрасӣ диҳед, то ки ҳар як мудир танҳо ба маълумоти зарурӣ дастрасӣ дошта бошад.
  6. Дастрасии ҳатмӣ ва тозакунии хотира - ин технологияҳо хеле кам истифода мешаванд.
  7. Рамзгузории охири ба охир мустақиман аз DBMS рамзгузории муштарӣ бо идоракунии калидҳо дар тарафи сервер мебошад.
  8. Рамзгузории маълумот. Масалан, рамзгузории сутунӣ вақтест, ки шумо механизмеро истифода мебаред, ки як сутуни пойгоҳи додаҳоро рамзгузорӣ мекунад.

Ин ба кори DBMS чӣ гуна таъсир мерасонад?

Биёед мисоли рамзгузории сутуниро дар PostgreSQL бубинем. Модули pgcrypto мавҷуд аст, ки он ба шумо имкон медиҳад, ки майдонҳои интихобшударо дар шакли рамзгузорӣ нигоҳ доред. Ин вақте муфид аст, ки танҳо баъзе маълумот арзишманданд. Барои хондани майдонҳои рамзгузоришуда, муштарӣ калиди рамзкушоиро интиқол медиҳад, сервер маълумотро рамзкушоӣ мекунад ва онро ба муштарӣ бармегардонад. Бе калид, ҳеҷ кас наметавонад бо маълумоти шумо коре кунад.

Биёед бо pgcrypto озмоиш кунем. Биёед ҷадвалеро бо маълумоти рамзшуда ва маълумоти муқаррарӣ созем. Дар зер фармонҳо барои сохтани ҷадвалҳо мавҷуданд, дар сатри аввал фармони муфид мавҷуд аст - эҷоди худи васеъкунӣ бо сабти 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'));

Минбаъд биёед кӯшиш кунем, ки аз ҳар як ҷадвал намунаи маълумот созем ва ба мӯҳлатҳои иҷро назар кунем.

Интихоб аз ҷадвал бе функсияи рамзгузорӣ:

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

Сониясанҷ фаъол аст.

  id | матн1 | матн 2
——+——-+——-
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
...
997 | 997 | 997
998 | 998 | 998
999 | 999 | 999
1000 | 1000 | 1000
(1000 сатр)

Вақт: 1,386 ms

Интихоб аз ҷадвал бо функсияи рамзгузорӣ:

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

Сониясанҷ фаъол аст.

  id | рамзкушоӣ | рамзкушоӣ
——+—————+————
1 | x31 | x31
2 | x32 | x32
3 | x33 | x33
...
999 | x393939 | x393939
1000 | x31303030 | x31303030
(1000 сатр)

Вақт: 50,203 ms

Натиҷаҳои санҷиш:

 
Рамзгузорӣ нест
Pgcrypto (рамзи рамзкушоӣ)

Намунаи 1000 сатр
1,386 ms
50,203 ms

ВПМ - Воҳиди Пардозиши Марказӣ
15%
35%

RAM
 
+ 5%

Рамзгузорӣ ба иҷроиш таъсири калон мерасонад. Дидан мумкин аст, ки вақт зиёд шудааст, зеро амалиёти рамзкушоии маълумоти рамзгузоришуда (ва рамзкушоӣ одатан дар мантиқи шумо печонида мешавад) захираҳои назаррасро талаб мекунад. Яъне, идеяи рамзкунонии ҳамаи сутунҳои дорои баъзе маълумотҳо боиси паст шудани нишондиҳандаҳо мебошад.

Аммо, рамзгузорӣ як тири нуқра нест, ки ҳама мушкилотро ҳал кунад. Маълумоти рамзкушошуда ва калиди рамзкушоӣ дар ҷараёни рамзкушоӣ ва интиқоли маълумот дар сервер ҷойгиранд. Аз ин рӯ, калидҳоро шахсе дастгир карда метавонад, ки ба сервери пойгоҳи додаҳо дастрасии пурра дорад, масалан, мудири система.

Вақте ки як калид барои тамоми сутун барои ҳама корбарон мавҷуд аст (ҳатто агар на барои ҳама, балки барои муштариёни маҷмӯи маҳдуд), ин на ҳамеша хуб ва дуруст аст. Аз ин рӯ, онҳо ба рамзгузории охири ба охир шурӯъ карданд, дар DBMS онҳо ба баррасии имконоти рамзгузории маълумот дар тарафи муштарӣ ва сервер шурӯъ карданд ва ҳамон анборҳои калидӣ пайдо шуданд - маҳсулоти алоҳидае, ки идоракунии калидҳоро дар DBMS таъмин мекунанд тараф.

Амният ва DBMS: он чизеро, ки шумо ҳангоми интихоби асбобҳои амниятӣ дар хотир доред
Намунаи чунин рамзгузорӣ дар MongoDB

Хусусиятҳои амниятӣ дар DBMS тиҷоратӣ ва кушодаасос

Функсияҳо
Намуди
Сиёсати парол
Аудит
Ҳифзи коди ибтидоии расмиёт ва функсияҳо
RLS
Encryption

Oracle
тиҷоратӣ
+
+
+
+
+

MsSql
тиҷоратӣ
+
+
+
+
+

Ҷатоба
тиҷоратӣ
+
+
+
+
васеъшавии

PostgreSQL
озод
васеъшавии
васеъшавии
-
+
васеъшавии

MongoDb
озод
-
+
-
-
Танҳо дар MongoDB Enterprise дастрас аст

Ҷадвал аз пурра нест, аммо вазъ чунин аст: дар маҳсулоти тиҷоратӣ мушкилоти амниятӣ муддати тӯлонӣ ҳал карда шудаанд, дар манбаи кушода, чун қоида, як навъ иловаҳо барои амният истифода мешаванд, бисёр функсияҳо намерасанд. , баъзан шумо бояд чизе илова кунед. Масалан, сиёсати парол - PostgreSQL дорои васеъшавии зиёди гуногун (1, 2, 3, 4, 5), ки сиёсати паролро амалӣ мекунанд, аммо, ба андешаи ман, ҳеҷ яке аз онҳо тамоми ниёзҳои сегменти корпоративии ватаниро фаро намегирад.

Чӣ бояд кард, агар шумо чизеро, ки ба шумо лозим аст, дар ягон ҷо надоред? Масалан, шумо мехоҳед як DBMS-и мушаххасеро истифода баред, ки функсияҳоеро, ки муштарӣ талаб мекунад, надорад.

Пас шумо метавонед қарорҳои тарафи сеюмро истифода баред, ки бо DBMS-ҳои гуногун кор мекунанд, масалан, Crypto DB ё Garda DB. Агар мо дар бораи ҳалли сегменти ватанӣ сухан ронем, пас онҳо дар бораи ГОСТҳо назар ба сарчашмаи кушода беҳтар медонанд.

Варианти дуюм ин аст, ки он чизеро, ки ба шумо лозим аст, нависед, дастрасии додаҳо ва рамзгузорӣ дар барнома дар сатҳи тартиботро татбиқ кунед. Дуруст аст, ки бо ГОСТ мушкилтар мешавад. Аммо дар маҷмӯъ, шумо метавонед маълумотро дар ҳолати зарурӣ пинҳон кунед, онро дар DBMS гузоред, сипас онро дарёфт кунед ва дар ҳолати зарурӣ, дар сатҳи барнома рамзкушоӣ кунед. Дар айни замон, фавран дар бораи он фикр кунед, ки чӣ гуна шумо ин алгоритмҳоро дар барнома муҳофизат мекунед. Ба фикри мо, ин корро бояд дар сатхи DBMS анҷом дод, зеро он тезтар кор мекунад.

Ин гузориш бори аввал дар @Matabases Meetup аз ҷониби Mail.ru Cloud Solutions. Нигоҳ кунед видео намоишҳои дигар ва ба эълонҳои чорабиниҳо дар Telegram обуна шавед Дар атрофи Kubernetes дар Mail.ru Group.

Дар ин мавзӯъ боз чӣ хондан лозим аст:

  1. Бештар аз Ceph: нигаҳдории блоки абрии MCS.
  2. Чӣ тавр интихоб кардани пойгоҳи додаҳо барои лоиҳа, то шумо дубора интихоб накунед.

Манбаъ: will.com

Илова Эзоҳ