как да защитя базата данни на Firebird?

Всеки администратор на база данни е изправен пред задачата да осигури базата данни от неоторизиран достъп, повреда или кражба.

Защитата на базата данни в Firebird, както и повечето други сървъри на бази данни, зависи главно от сложността на паролата на потребителя и правата за достъп до данните на този потребител, както и от достъпа до файловете на самата база данни.

Пароли за достъп до база данни

  • Променете потребителската парола на SYSDBA от стандартна masterkey на по-сложна.
  • За да ограничите достъпа до данни, използвайте потребители (роли) с подходящи права за четене/запис на таблици.
  • Не използвайте SYSDBA за достъп до базата данни от приложението.

Настройка на сървъра

Въпреки мита в интернет, че е необходимо да се даде достъп (споделяне) на потребителите до файловете на базата данни на СУБД Firebird - направете това не е задължително в никакъв случай. Самият сървър обработва клиентски заявки и освен отворен порт няма нужда да отваряте достъп. За да не посочите пътя към базата данни при свързване, можете да използвате псевдоними, така че само администраторът ще знае точното местоположение на самата база данни на сървъра.

  • Затворете локалното влизане в сървъра за всички потребители с изключение на един (администратор).
  • В мрежата на домейн сървърът на СУБД Firebird не трябва да бъде член на домейна, така че дори администраторът на домейна няма достъп до сървъра.
  • В настройките на защитната стена, за да работи СУБД Firebird, е необходимо да отворите порт 3050 чрез TCP/IP, всички останали (включително RDP) трябва да бъдат затворени.

Firebird не поддържа криптиране на трафика. Ако firebird се използва в локалната мрежа на предприятие, няма проблем. Едва ли някой във вашата мрежа ще може да прихваща нешифрован трафик. Но какво, ако някои потребители се свържат с базата данни от Интернет? За да разрешите този проблем, можете да използвате продукт на трета страна като ZeBeDee, програма, която предоставя криптиран и компресиран "тунел" за TCP или UDP данни, предадени между две системи. Можете да прочетете подробно как да прикачите криптиране към СУБД Firebird в тази статия.

СУБД Firebird не поддържа криптиране на данни и като копирате базата данни на вашия сървър, можете да получите неограничен достъп до нея (на нашия сървър ще знаем паролата на SYSDBA). Използването на крипто-контейнери може да реши този проблем. Например добре познатият TrueCrypt, който може не само да криптира дял на реален диск, но и да създаде виртуален контейнер ( виртуален криптиран диск ) за поставяне на базата данни. Вярно е, че трябва да се разбере, че най-малката неизправност може да направи базата данни неработоспособна и скоростта на работа с такъв контейнер може да бъде забележимо по-ниска, отколкото при истински диск. Затова използвайте този режим с изключително внимание. Но за съхраняване на резервни копия на бази данни, крипто контейнерът е идеален.

В заключение бих искал да добавя, че всяка защита може да бъде заобиколена. Въпросът е само дали тези усилия (финансови и времеви) струват ли вашите данни? Не се изпадайте в параноя от затварянето на всичко и всички във вашата малка мрежа и опитите да контролирате всеки IP пакет. Не трябва обаче да отваряте папката с базата данни за обществен достъп за по-голямо удобство. Всичко се нуждае от баланс и разумен подход.

UPD: Можете също така да изчистите описанията на таблици (полета и т.н.) и източниците на задействания и изгледи в системните таблици, което ще усложни анализа на базата данни.

UPD2: Като алтернатива, използвайте нестандартен FB порт, ако е достъпен от Интернет