4. Реалізація елементів гарантованості
Для створення резервної копії бази даних СКБД Postgres слід виконати команду:
pg_dump my_database –f my_database_15.05.2008.dump
Шифрування дампу виконується за допомогою бібліотеки openssl алгоритмом DES:
openssl enc –e –des-cbc –iv smart_initial_value –k very_good_long_key –in my_database_15.05.2008.dump –out my_database_15.05.2008.dump.arh
Розшифрування архівної копії:
openssl enc –d –des-cbc –iv smart_initial_value –k very_good_long_key –in my_database_15.05.2008.dump.arh –out my_database_15.05.2008.dump
Завантаження інформації з дампу до бази даних:
psql < my_database_15.05.2008.dump
5. Реалізація елементів Підзвітності
a. Забезпечення надійності з’єднання
Для генерації сертифікатів центру сертифікації виконаємо наступну команду:
openssl req –config $SSLDIR$/openssl.cnf –new –x509 –nodes –days 1000 –sha1 rsa:1024 –keyout $SSLDIR$/private/ca.key –out $SSLDIR$/ca.crt –subj ‘/C=UA/ST=OdessaRegion/L=Odessa/O=ONPU/OU=CISN/CN=www.ae035.com.ua’
Для генерації сертифікатів клієнтів виконаємо наступну команду:
openssl req –new –sha1 –newkey rsa:1024 –nodes –keyout server.key –out request.pem –subj ‘/O=ONPU/OU=CISN/CN=www.ae035.com.ua’
І команда підписання сертифікату:
openssl ca –config $SSLDIR$/openssl.cnf –policy policy_anything -noemailDN -out $SSLDIR/requests/signed.pem -infiles $SSLDIR/requests/request.pem
b. Забезпечення журналювання змін
Для забезпечення журналювання змін інформації в таблицях для кожної з них створюється таблиця-журнал та правила для операцій зміни:
CREATE TABLE Account_logs (
USERNAME VARCHAR DEFAULT CURRENT_USER,
OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),
OPER_TIMETIMESTAMP DEFAULT NOW(),
num_new INTEGER,
num_old INTEGER,
balance_new INTEGER,
balance_old INTEGER);
CREATE TABLE Operation_logs (
USERNAME VARCHAR DEFAULT CURRENT_USER,
OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),
OPER_TIMETIMESTAMP DEFAULT NOW(),
code_new INTEGER,
code_old INTEGER,
dat_new DATE,
dat_old DATE
credit_num_new INTEGER,
credit_num _old INTEGER
debet_num _new INTEGER,
debet_num _old INTEGER
change_new INTEGER,
change _old INTEGER);
CREATE TABLE Branch_logs (
USERNAME VARCHAR DEFAULT CURRENT_USER,
OPER_TYPECHAR(1) CHECK (OPER_TYPE IN ('I','U','D')),
OPER_TIMETIMESTAMP DEFAULT NOW(),
num_new INTEGER,
num_old INTEGER,
name_new VARCHAR(50),
name_old VARCHAR(50),
address_new VARCHAR(50),
address_old VARCHAR(50),
capital_new INTEGER,
capital_old INTEGER);
DROP RULE Account_logs _INSERT ON Account;
CREATE RULE Account_logs _INSERT AS ON INSERT TO Account
DO
INSERT INTO Account_logs
(OPER_TYPE, num_new , balance_new )
VALUES ('I', NEW.num, NEW.balance);
DROP RULE Account_logs _UPDATE ON Account;
CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Account
DO
INSERT INTO Account_logs
(OPER_TYPE, num_new , balance_new, num_old, balance_old)
VALUES ('U', NEW.num, NEW.balance, OLD.num, OLD.balance);
DROP RULE Account_logs _DELETE ON Account;
CREATE RULE Account_logs _DELETE AS ON DELETE TO Account
DO
INSERT INTO Account_logs
(OPER_TYPE, num_old , balance _old,)
VALUES ('D', OLD.num, OLD.balance);
DROP RULE Operation_logs _INSERT ON Operation;
CREATE RULE Operation_logs _INSERT AS ON INSERT TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_new , dat_new, credit_num_new, debet_num_new, change_new )
VALUES ('I', NEW.code, NEW.dat, NEW.credit-num, NEW.debet_num, NEW.change);
DROP RULE Operation_logs _UPDATE ON Operation;
CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_new , dat_new, credit_num_new, debet_num_new, change_new,
code_old, dat_old, credit_num_old, debet_num_old, change_old)
VALUES ('U', NEW.code, NEW.dat, NEW.credit_num, NEW.debet_num, NEW.change,
OLD.code, OLD.dat, OLD.credit_num, OLD.debet_num, OLD.change);
DROP RULE Operation_logs _DELETE ON Operation;
CREATE RULE Operation_logs _DELETE AS ON DELETE TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_old , dat_old, credit_num_old, debet_num_old, change_old )
VALUES ('D', OLD.code, OLD.dat, OLD.credit_num, OLD. debet_num, OLD.change);
DROP RULE Branch_logs _INSERT ON Branch;
CREATE RULE Account_logs _INSERT AS ON INSERT TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_new , name_new, address_new, capital_new )
VALUES ('I', NEW.num, NEW.name, NEW. address, NEW. capital);
DROP RULE Branch_logs _UPDATE ON Branch;
CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_new , name_new, address_new, capital_new,
num_old , name_ old , address_ old , capital_ old )
VALUES ('U', NEW.num, NEW. name, NEW. address, NEW. capital,
OLD.num, OLD. name, OLD. address, OLD. capital);
DROP RULE Branch_logs _DELETE ON Branch;
CREATE RULE Branch_logs _DELETE AS ON DELETE TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_old , name_old, address_old, capital_old )
VALUES ('D', OLD.num, OLD.name, OLD.address, OLD.capital);
Заключення
В даній роботі проведено проектування та реалізація БД у СКБД Postgres. Реалізовані наступні елементи безпеки ІС:
- цілісність даних на рівні таблиць, перевірка їх коректності;
- облік користувачів, груп користувачів та їх прав, рівні секретності, контроль доступу до таблиць;
- організація захищеного з’єднання з СКБД за допомогою протоколу SSL;
- організація журналювання змін таблиць засобами самої СКБД.
Перелік літератури
1. Грабер М. SQL. – М: Лори, 2003. – 642 с.
2. Дейт К. Дж. Введение в системы баз данных. – К: Диалектика, 1998. – 784 с.
... ір, а просто через елементарні помилки користувачів, що випадково псують або видаляють дані, життєво важливі для системи. У зв'язку з цим, крім контролю доступу, необхідним елементом захисту комп’ютерної інформації є розмежування повноважень користувачів. Крім того, ймовірність помилок обслуговуючого персоналу і користувачів мережі може бути значно зменшена, якщо їх правильно навчати і, крім того, ...
... розроблення проекту та контролю за виконанням бюджету, а також комплексному запровадженню комп’ютерних технологій на всіх етапах бюджетного процесу. Згідно з концепцією розвитку автоматизованої інформаційно-аналітичної системи Міністерства фінансів України запровадження комп’ютерних технологій в бюджетний процес приведе до: · поліпшення якості бюджету на основі варіантних розрахунків ...
... ійних систем Unix або Windows NT. Засоби доступу до даних і самі БД розміщуються або на потужному Unix-сервері, або на великих мейнфреймах. Концепція автоматизованої інформаційно-аналітичної системи ДПС України передбачає використання трирівневої архітектури клієнт—сервер. Основним напрямом удосконалення інформаційного забезпечення ДПС є розроблення та запровадження архітектури єдиної розподілено ...
... ійна система (Microsoft Access). 2. Характеристика автоматизованої системи обробки економічної інформації, яка використовується на підприємстві На підприємстві АТВТ “ Продукт-Сервіс” створена своя облікова система (використан Microsoft Access). Теоретичні аспекти. Позамашинне інформаційне забезпечення включає позамашинну інформаційну базу і засоби її ведення. Інформаційна база об'єднує ...
0 комментариев