PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Най-добри практики за сигурност на PostgreSQL

Най-добрите практики за сигурност на PostgreSQL могат да ви помогнат да защитите PostgreSQL база данни срещу уязвимости в сигурността. Това е известно още като PostgreSQL втвърдяване. Можете също да използвате тези най-добри практики като контролен списък за сигурност за PostgreSQL.


Най-добри практики за сигурност на PostgreSQL

Ето най-добрите практики за сигурност на PostgreSQL, които можете да приемете, за да защитите своята PostgreSQL база данни.


1. Използвайте удостоверяване без доверие

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

Важно е да редактирате вашия pg_hba.conf файл и да преминете към метод за удостоверяване без доверие като MD5.

Бонус за четене:Топ блогове с база данни, които да следвате


2. Деактивирайте отдалечения достъп

Актуализирайте файла pg_hba.conf, за да деактивирате отдалечения достъп до вашата база данни. Ако имате нужда от отдалечен достъп до базата данни PostgreSQL, използвайте SSH, за да влезете в сървъра, който хоства вашата база данни, и използвайте локална връзка с база данни от там нататък. Можете също така сигурно да се свържете с вашата база данни PostrgeSQL чрез SSH тунелиране.

Бонус четене:Как да увеличите максималния брой връзки в PostgreSQL


3. Използвайте еднопосочно криптиране

Някои стойности във вашата база данни, като пароли, не се нуждаят от декриптиране. За такива стойности използвайте криптиране, базирано на хеш, като MD5, което не може да бъде декриптирано, вместо да използвате алгоритми като AES, които са двупосочни. Това ще добави допълнителен защитен слой.

Бонус четене:Как да получите записи от последните 24 часа


4. Ограничете достъпа на ниво порт

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


5. Активиране на SSL връзка

По подразбиране PostgreSQL предава подробности за връзката, заявки и данни за резултатите като обикновен текст, който е уязвим за мрежови спуфинг. Протоколът за връзка SSL позволява на браузърите да се свързват сигурно със сървъра и гарантира, че данните остават криптирани. Така че активирайте SSL връзките в PostgreSQL, така че всички връзки, заявки и данни да се предават сигурно по мрежата.


6. Активиране на мониторинг

Инсталирайте pg_stat_statements разширение, за да активирате автоматизиран мониторинг на заявки за вашата база данни PostgreSQL. Това разширение следи и регистрира всички видове заявки като SELECT, UPDATE, DELETE, INSERT и създава одитна пътека за идентифициране на виновниците.


7. Активиране на регистриране

По подобен начин PostgreSQL поддържа широка гама от фини функции за регистриране по време на работа. Ето изчерпателния списък с опции за регистриране по време на изпълнение. Можете да го използвате за регистриране на връзки, прекъсвания, регистриране на текущи заявки, размер на временния файл и други. Той дори ви позволява да укажете какво да влезете, кога да влезете и къде да влезете.


8. Бъдете актуални

PostgreSQL редовно пуска критични актуализации и корекции за сигурност, които не само подобряват производителността на базата данни, но също така подобряват сигурността на базата данни. Затова, моля, актуализирайте редовно вашата база данни, за да сте сигурни, че тя остава защитена срещу най-новите уязвимости.


Надяваме се, че горните най-добри практики за сигурност на PostgreSQL ще ви помогнат да защитите вашата база данни срещу уязвимости.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да сортирате резултата от string_agg()

  2. Низ -> java.util.Date -> java.sql.Date (с времеви печат)

  3. С нетърпение очакваме PGConf India 2017

  4. Спрете (продължителното) изпълнение на SQL заявка в PostgreSQL, когато сесия или заявки вече не съществуват?

  5. Вземете записи, където ключът на колоната на json е нулев