ProHoster > Блог > Isakoso > Aabo ati DBMS: kini o nilo lati ranti nigbati o yan awọn irinṣẹ aabo
Aabo ati DBMS: kini o nilo lati ranti nigbati o yan awọn irinṣẹ aabo
Orukọ mi ni Denis Rozhkov, Emi ni olori idagbasoke sọfitiwia ni ile-iṣẹ iṣẹ Gazinformice, ninu ẹgbẹ ọja. Jatoba. Ofin ati awọn ilana ile-iṣẹ fa awọn ibeere kan fun aabo ipamọ data. Ko si ẹnikan ti o fẹ ki awọn ẹgbẹ kẹta ni iraye si alaye asiri, nitorinaa awọn ọran wọnyi ṣe pataki fun eyikeyi iṣẹ akanṣe: idanimọ ati ijẹrisi, iṣakoso iraye si data, aridaju iduroṣinṣin ti alaye ninu eto, awọn iṣẹlẹ aabo gedu. Nitorinaa, Mo fẹ lati sọrọ nipa diẹ ninu awọn aaye ti o nifẹ nipa aabo DBMS.
Awọn article ti a pese sile da lori a ọrọ ni @DatabasesMeetup, ṣeto Mail.ru awọsanma Solutions. Ti o ko ba fẹ ka, o le wo:
Nkan naa yoo ni awọn ẹya mẹta:
Bii o ṣe le ni aabo awọn asopọ.
Kini ayewo ti awọn iṣe ati bii o ṣe le ṣe igbasilẹ ohun ti n ṣẹlẹ lori ẹgbẹ data ati sisopọ si rẹ.
Bii o ṣe le daabobo data ninu aaye data funrararẹ ati kini awọn imọ-ẹrọ wa fun eyi.
Awọn paati mẹta ti aabo DBMS: aabo asopọ, iṣatunṣe iṣẹ ṣiṣe ati aabo data
Ṣe aabo awọn asopọ rẹ
O le sopọ si ibi ipamọ data boya taara tabi ni aiṣe-taara nipasẹ awọn ohun elo wẹẹbu. Gẹgẹbi ofin, olumulo iṣowo, iyẹn ni, eniyan ti o ṣiṣẹ pẹlu DBMS, ṣe ajọṣepọ pẹlu rẹ ni aiṣe-taara.
Ṣaaju sisọ nipa idabobo awọn asopọ, o nilo lati dahun awọn ibeere pataki ti o pinnu bii awọn ọna aabo yoo ṣe ṣeto:
Njẹ olumulo iṣowo kan jẹ deede si olumulo DBMS kan bi?
boya iraye si data DBMS ti pese nipasẹ API kan ti o ṣakoso, tabi boya awọn tabili wọle taara;
boya DBMS ti wa ni sọtọ si lọtọ ni idaabobo apa, ti o interacts pẹlu ti o ati bi;
boya pooling / aṣoju ati agbedemeji fẹlẹfẹlẹ ti wa ni lilo, eyi ti o le yi alaye nipa bi awọn asopọ ti wa ni itumọ ti ati awọn ti o ti wa ni lilo awọn database.
Bayi jẹ ki a wo iru awọn irinṣẹ le ṣee lo lati ni aabo awọn asopọ:
Lo awọn solusan kilasi ogiriina database. Apapọ aabo ti afikun yoo, ni o kere ju, mu akoyawo ohun ti n ṣẹlẹ ninu DBMS pọ si, ati ni o pọju, iwọ yoo ni anfani lati pese aabo data afikun.
Lo ọrọ igbaniwọle imulo. Lilo wọn da lori bi a ṣe kọ faaji rẹ. Ni eyikeyi idiyele, ọrọ igbaniwọle kan ninu faili iṣeto ti ohun elo wẹẹbu kan ti o sopọ mọ DBMS ko to fun aabo. Nọmba awọn irinṣẹ DBMS wa ti o gba ọ laaye lati ṣakoso ti olumulo ati ọrọ igbaniwọle nilo imudojuiwọn.
O le ka diẹ sii nipa awọn iṣẹ igbelewọn olumulo nibi, o tun le wa nipa MS SQL Vulnerability Assessmen nibi.
Ṣe alekun ọrọ-ọrọ ti igba pẹlu alaye pataki. Ti igba naa ba jẹ akomo, o ko loye tani o n ṣiṣẹ ni DBMS laarin ilana rẹ, o le, laarin ilana ti iṣẹ ṣiṣe, ṣafikun alaye nipa tani n ṣe kini ati idi. Alaye yii ni a le rii ninu iṣayẹwo.
Tunto SSL ti o ko ba ni iyapa nẹtiwọọki laarin DBMS ati awọn olumulo ipari; kii ṣe ni VLAN lọtọ. Ni iru awọn iṣẹlẹ bẹẹ, o jẹ dandan lati daabobo ikanni laarin olumulo ati DBMS funrararẹ. Awọn irinṣẹ aabo tun wa ni orisun ṣiṣi.
Bawo ni eyi yoo ṣe ni ipa lori iṣẹ ti DBMS?
Jẹ ki a wo apẹẹrẹ ti PostgreSQL lati rii bii SSL ṣe ni ipa lori fifuye Sipiyu, mu awọn akoko pọ si ati dinku TPS, ati boya yoo jẹ awọn orisun pupọ ti o ba muu ṣiṣẹ.
Ikojọpọ PostgreSQL ni lilo pgbench jẹ eto ti o rọrun fun ṣiṣe awọn idanwo iṣẹ ṣiṣe. O ṣe ilana-tẹle kan ti awọn aṣẹ leralera, o ṣee ṣe ni awọn akoko ibi ipamọ data ti o jọra, ati lẹhinna ṣe iṣiro oṣuwọn idunadura apapọ.
Idanwo 1 laisi SSL ati lilo SSL - asopọ ti wa ni idasilẹ fun idunadura kọọkan:
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
tps laisi awọn asopọ ti iṣeto
1588.380574
1577.694766
Sipiyu
17%
21%
Ni awọn ẹru ina, ipa ti SSL jẹ afiwera si aṣiṣe wiwọn. Ti iye data ti o ti gbe jẹ tobi pupọ, ipo naa le yatọ. Ti a ba fi idi asopọ kan mulẹ fun idunadura kan (eyi jẹ toje, nigbagbogbo asopọ ti pin laarin awọn olumulo), o ni nọmba nla ti awọn asopọ / awọn asopọ, ipa naa le jẹ diẹ tobi. Iyẹn ni, awọn ewu le wa ti iṣẹ ṣiṣe ti o dinku, sibẹsibẹ, iyatọ ko tobi bi ko ṣe lo aabo.
Jọwọ ṣe akiyesi pe iyatọ to lagbara wa ti o ba ṣe afiwe awọn ipo iṣẹ: o n ṣiṣẹ laarin igba kanna tabi ni awọn oriṣiriṣi. Eyi jẹ oye: awọn orisun lo lori ṣiṣẹda asopọ kọọkan.
A ni ọran kan nigba ti a sopọ Zabbix ni ipo igbẹkẹle, iyẹn ni, md5 ko ṣayẹwo, ko si iwulo fun ijẹrisi. Lẹhinna alabara beere lati mu ipo ijẹrisi md5 ṣiṣẹ. Eleyi fi kan eru fifuye lori Sipiyu, ati iṣẹ silẹ. A bẹrẹ lati wa awọn ọna lati mu dara. Ọkan ninu awọn solusan ti o ṣeeṣe si iṣoro naa ni lati ṣe awọn ihamọ nẹtiwọọki, ṣe awọn VLAN lọtọ fun DBMS, ṣafikun awọn eto lati jẹ ki o ye ẹni ti o sopọ lati ibiti ati yọ ijẹrisi kuro. ni gbogbogbo awọn lilo ti awọn oriṣiriṣi awọn ọna ìfàṣẹsí ni ipa lori iṣẹ ati ki o nbeere mu awọn wọnyi okunfa sinu iroyin nigba nse awọn iširo agbara ti olupin (hardware) fun DBMS.
Ipari: ni nọmba awọn solusan, paapaa awọn nuances kekere ni ijẹrisi le ni ipa lori iṣẹ akanṣe ati pe o buru nigbati eyi ba han gbangba nikan nigbati a ṣe imuse ni iṣelọpọ.
Ayẹwo igbese
Ayẹwo le jẹ kii ṣe DBMS nikan. Ayẹwo jẹ nipa gbigba alaye nipa ohun ti n ṣẹlẹ ni awọn abala oriṣiriṣi. Eyi le jẹ boya ogiriina data tabi ẹrọ ṣiṣe lori eyiti a kọ DBMS naa.
Ni ipele Idawọlẹ iṣowo DBMSs ohun gbogbo dara pẹlu iṣatunṣe, ṣugbọn ni orisun ṣiṣi - kii ṣe nigbagbogbo. Eyi ni ohun ti PostgreSQL ni:
log aiyipada - iwọle ti a ṣe sinu;
awọn amugbooro: pgaudit - ti gedu aiyipada ko ba to fun ọ, o le lo awọn eto lọtọ ti o yanju awọn iṣoro kan.
Kii ṣe bulọki DO nikan ni o wọle, ṣugbọn tun ni kikun ọrọ ti CREATE TABLE pẹlu iru alaye, iru ohun, ati orukọ kikun, ṣiṣe wiwa rọrun.
Nigbati o ba wọle Yan ati awọn alaye DML, pgAudit le ṣe atunto lati wọle titẹsi lọtọ fun ibatan kọọkan ti tọka si ninu alaye naa.
Ko si itọka ti a nilo lati wa gbogbo awọn alaye ti o kan tabili kan pato(*) ».
Bawo ni eyi yoo ṣe ni ipa lori iṣẹ ti DBMS?
Jẹ ki a ṣiṣẹ awọn idanwo pẹlu ṣiṣe iṣatunṣe kikun ati rii ohun ti o ṣẹlẹ si iṣẹ PostgreSQL. Jẹ ki a mu iwọle data ti o pọju ṣiṣẹ fun gbogbo awọn paramita.
A yipada fere ohunkohun ninu faili iṣeto ni, ohun pataki julọ ni lati tan-an ipo debug5 lati gba alaye ti o pọju.
Lapapọ akoko kikun aaye data
43,74 iṣẹju-aaya
53,23 iṣẹju-aaya
Ramu
24%
40%
Sipiyu
72%
91%
Idanwo 1 (awọn asopọ 50)
Nọmba ti lẹkọ ni 10 iṣẹju
74169
32445
Awọn iṣowo / iṣẹju-aaya
123
54
Apapọ Lairi
405 ms
925 ms
Idanwo 2 (awọn asopọ 150 pẹlu 100 ṣee ṣe)
Nọmba ti lẹkọ ni 10 iṣẹju
81727
31429
Awọn iṣowo / iṣẹju-aaya
136
52
Apapọ Lairi
550 ms
1432 ms
Nipa awọn iwọn
DB iwọn
2251 MB
2262 MB
Iwọn log database
0 MB
4587 MB
Laini isalẹ: iṣayẹwo kikun ko dara pupọ. Awọn data lati inu iṣayẹwo yoo tobi bi data ti o wa ninu database funrararẹ, tabi paapaa diẹ sii. Awọn iye ti gedu ti o ti wa ni ti ipilẹṣẹ nigba ṣiṣẹ pẹlu a DBMS a wọpọ isoro ni isejade.
Ramu ati iṣẹ Sipiyu yoo jiya nitori o nilo lati ṣe agbekalẹ faili iṣayẹwo kan. Eyi tun jẹ akiyesi ni iṣelọpọ.
Bi nọmba awọn asopọ ṣe pọ si, nipa ti ara, iṣẹ naa yoo bajẹ diẹ.
Ni awọn ile-iṣẹ pẹlu iṣayẹwo o nira paapaa diẹ sii:
data pupọ wa;
iṣatunṣe nilo kii ṣe nipasẹ syslog ni SIEM nikan, ṣugbọn tun ninu awọn faili: ti nkan kan ba ṣẹlẹ si syslog, faili gbọdọ wa nitosi ibi ipamọ data ninu eyiti o ti fipamọ data naa;
a nilo selifu lọtọ fun iṣatunwo ki o má ba sọ awọn disiki I/O ṣòfo, bi o ti gba aaye pupọ;
O ṣẹlẹ pe awọn oṣiṣẹ aabo alaye nilo awọn iṣedede GOST nibi gbogbo, wọn nilo idanimọ ipinlẹ.
Idinamọ wiwọle si data
Jẹ ki a wo awọn imọ-ẹrọ ti a lo lati daabobo data ati wọle si ni awọn DBMS ti iṣowo ati orisun ṣiṣi.
Kini o le lo ni gbogbogbo:
Ìsekóòdù ati obfuscation ti awọn ilana ati awọn iṣẹ (Wrapping) - iyẹn ni, awọn irinṣẹ lọtọ ati awọn ohun elo ti o jẹ ki koodu kika ko ṣee ka. Lootọ, lẹhinna ko le yipada tabi tun pada sẹhin. Ọna yii ni igba miiran nilo ni o kere ju ni ẹgbẹ DBMS - ọgbọn ti awọn ihamọ iwe-aṣẹ tabi ọgbọn igbanilaaye jẹ fifi ẹnọ kọ nkan ni deede ni ilana ati ipele iṣẹ.
Idiwọn hihan data nipasẹ awọn ori ila (RLS) jẹ nigbati awọn olumulo oriṣiriṣi wo tabili kan, ṣugbọn akojọpọ oriṣiriṣi ti awọn ori ila ninu rẹ, iyẹn ni, ohun kan ko le han si ẹnikan ni ipele ila.
Ṣiṣatunṣe data ti o han (Masking) jẹ nigbati awọn olumulo ninu iwe kan ti tabili rii boya data tabi awọn ami akiyesi nikan, iyẹn ni, fun diẹ ninu awọn olumulo alaye naa yoo wa ni pipade. Imọ-ẹrọ pinnu iru olumulo ti o han kini o da lori ipele wiwọle wọn.
Aabo DBA/ Ohun elo DBA/DBA iṣakoso wiwọle jẹ, dipo, nipa ihamọ iraye si DBMS funrararẹ, iyẹn ni, awọn oṣiṣẹ aabo alaye le yapa lati ọdọ awọn oludari data ati awọn alabojuto ohun elo. Awọn imọ-ẹrọ diẹ ni o wa ni orisun ṣiṣi, ṣugbọn ọpọlọpọ wọn wa ni awọn DBMS ti iṣowo. Wọn nilo nigbati ọpọlọpọ awọn olumulo wa pẹlu iraye si awọn olupin funrararẹ.
Idinamọ wiwọle si awọn faili ni ipele eto faili. O le fun awọn ẹtọ ati awọn anfani wiwọle si awọn ilana ki alakoso kọọkan ni iraye si data pataki nikan.
Wiwọle dandan ati imukuro iranti - awọn imọ-ẹrọ wọnyi kii ṣe lilo pupọ.
Ipilẹṣẹ ipari-si-opin taara lati DBMS jẹ fifi ẹnọ kọ nkan-ẹgbẹ alabara pẹlu iṣakoso bọtini ni ẹgbẹ olupin.
Data ìsekóòdù. Fun apẹẹrẹ, fifi ẹnọ kọ nkan ti ọwọn jẹ nigbati o ba lo ẹrọ ti o ṣe encrypts iwe kan ti data data.
Bawo ni eyi ṣe ni ipa lori iṣẹ ti DBMS?
Jẹ ki a wo apẹẹrẹ ti fifi ẹnọ kọ nkan ọwọn ni PostgreSQL. Module pgcrypto kan wa, o fun ọ laaye lati fipamọ awọn aaye ti a yan ni fọọmu ti paroko. Eyi wulo nigbati diẹ ninu awọn data nikan ni o niyelori. Lati ka awọn aaye ti paroko, alabara n gbe bọtini decryption kan, olupin naa npa data naa ki o da pada si alabara. Laisi bọtini, ko si ẹnikan ti o le ṣe ohunkohun pẹlu data rẹ.
Jẹ ki a ṣe idanwo pẹlu pgcrypto. Jẹ ki a ṣẹda tabili kan pẹlu data ti paroko ati data deede. Ni isalẹ wa awọn aṣẹ fun ṣiṣẹda awọn tabili, ni laini akọkọ pupọ wa aṣẹ ti o wulo - ṣiṣẹda itẹsiwaju funrararẹ pẹlu iforukọsilẹ 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'));
Nigbamii, jẹ ki a gbiyanju lati ṣe apẹẹrẹ data lati tabili kọọkan ki o wo awọn akoko ipaniyan.
Ìsekóòdù ni ipa nla lori iṣẹ. O le rii pe akoko naa ti pọ si, nitori awọn iṣẹ iṣipopada ti data fifi ẹnọ kọ nkan (ati pe decryption jẹ igbagbogbo ti a we sinu ọgbọn rẹ) nilo awọn orisun pataki. Iyẹn ni, imọran ti fifipamọ gbogbo awọn ọwọn ti o ni diẹ ninu awọn data jẹ pẹlu idinku ninu iṣẹ.
Sibẹsibẹ, fifi ẹnọ kọ nkan kii ṣe ọta ibọn fadaka ti o yanju gbogbo awọn iṣoro. Awọn data ti a ti sọ di mimọ ati bọtini iṣipopada lakoko ilana ti sisọ ati gbigbe data wa lori olupin naa. Nitorinaa, awọn bọtini le ṣe idaduro nipasẹ ẹnikan ti o ni iwọle ni kikun si olupin data data, gẹgẹbi oluṣakoso eto.
Nigbati bọtini kan ba wa fun gbogbo iwe fun gbogbo awọn olumulo (paapaa ti kii ṣe fun gbogbo rẹ, ṣugbọn fun awọn alabara ti ṣeto lopin), eyi ko dara nigbagbogbo ati pe. Ti o ni idi ti wọn bẹrẹ lati ṣe fifi ẹnọ kọ nkan ipari-si-opin, ninu DBMS wọn bẹrẹ lati gbero awọn aṣayan fun fifi ẹnọ kọ nkan data lori alabara ati ẹgbẹ olupin, ati pe awọn ibi ipamọ bọtini-ipamọ kanna ti han - awọn ọja lọtọ ti o pese iṣakoso bọtini lori DBMS ẹgbẹ.
MongoDb
free
-
+
-
-
Wa ni MongoDB Enterprise nikan
Tabili naa jina lati pari, ṣugbọn ipo naa jẹ eyi: ninu awọn ọja iṣowo, awọn iṣoro aabo ti wa ni idojukọ fun igba pipẹ, ni orisun ṣiṣi, gẹgẹbi ofin, diẹ ninu awọn afikun awọn afikun ni a lo fun aabo, ọpọlọpọ awọn iṣẹ ti o padanu. , nigbami o ni lati fi nkan kun. Fun apẹẹrẹ, awọn eto imulo ọrọ igbaniwọle - PostgreSQL ni ọpọlọpọ awọn amugbooro oriṣiriṣi (1, 2, 3, 4, 5), eyiti o ṣe imulo awọn eto imulo ọrọ igbaniwọle, ṣugbọn, ni ero mi, ko si ọkan ninu wọn ti o bo gbogbo awọn iwulo ti apakan ajọṣepọ inu ile.
Kini lati ṣe ti o ko ba ni ohun ti o nilo nibikibi? Fun apẹẹrẹ, o fẹ lo DBMS kan pato ti ko ni awọn iṣẹ ti alabara nilo.
Lẹhinna o le lo awọn solusan ẹni-kẹta ti o ṣiṣẹ pẹlu oriṣiriṣi DBMS, fun apẹẹrẹ, Crypto DB tabi Garda DB. Ti a ba n sọrọ nipa awọn solusan lati inu apa ile, lẹhinna wọn mọ nipa GOSTs dara ju ni orisun ṣiṣi.
Aṣayan keji ni lati kọ ohun ti o nilo funrararẹ, ṣe iraye si data ati fifi ẹnọ kọ nkan ninu ohun elo ni ipele ilana. Otitọ, yoo jẹ diẹ sii nira pẹlu GOST. Ṣugbọn ni gbogbogbo, o le tọju data naa bi o ṣe nilo, fi sii sinu DBMS, lẹhinna gba pada ki o si kọ ọ bi o ti nilo, ni ọtun ni ipele ohun elo. Ni akoko kanna, lẹsẹkẹsẹ ronu bi o ṣe le daabobo awọn algoridimu wọnyi ninu ohun elo naa. Ninu ero wa, eyi yẹ ki o ṣee ṣe ni ipele DBMS, nitori yoo ṣiṣẹ ni iyara.