Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π‘Π£Π‘Π”: ΠΎ Ρ‡Ρ‘ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, подбирая срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π‘Π£Π‘Π”: ΠΎ Ρ‡Ρ‘ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, подбирая срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹

МСня Π·ΠΎΠ²ΡƒΡ‚ ДСнис Π ΠΎΠΆΠΊΠΎΠ², я Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ «ГазинформсСрвис», Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Jatoba. Π—Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ трСбования ΠΊ бСзопасности хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Никто Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈ Π»ΠΈΡ†Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ доступ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, поэтому для любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы: идСнтификация ΠΈ аутСнтификация, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступами ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, обСспСчСниС цСлостности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² систСмС, рСгистрация событий бСзопасности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… интСрСсных ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ бСзопасности Π‘Π£Π‘Π”.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡŽ Π½Π° @Databases Meetup, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Mail.ru Cloud Solutions. Если Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ:


Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΠΈ части:

  • Как Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°ΡƒΠ΄ΠΈΡ‚ дСйствий ΠΈ ΠΊΠ°ΠΊ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит со стороны Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΉ.
  • Как Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² самой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ для этого Π΅ΡΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π‘Π£Π‘Π”: ΠΎ Ρ‡Ρ‘ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, подбирая срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹
Π’Ρ€ΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… бСзопасности Π‘Π£Π‘Π”: Π·Π°Ρ‰ΠΈΡ‚Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π°ΡƒΠ΄ΠΈΡ‚ дСйствий ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π°Ρ‰ΠΈΡ‚Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ опосрСдованно Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-прилоТСния. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ со стороны бизнСса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π‘Π£Π‘Π”, взаимодСйствуСт с Π½Π΅ΠΉ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ соСдинСний, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π²Π°ΠΆΠ½Ρ‹Π΅ вопросы, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит, ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ мСроприятия бСзопасности:

  • эквивалСнтСн Π»ΠΈ ΠΎΠ΄ΠΈΠ½ бизнСс-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π‘Π£Π‘Π”;
  • обСспСчиваСтся Π»ΠΈ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π‘Π£Π‘Π” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, Π»ΠΈΠ±ΠΎ Π΅ΡΡ‚ΡŒ доступ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ;
  • Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π»ΠΈ Π‘Π£Π‘Π” Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ сСгмСнт, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌ взаимодСйствуСт;
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ pooling/proxy ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ слои, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ выстроСно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ:

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ класса database firewall. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, повысит ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² Π‘Π£Π‘Π”, ΠΊΠ°ΠΊ максимум β€” Π²Ρ‹ смоТСтС ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ. Π˜Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ выстроСна ваша Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π’ любом случаС β€” ΠΎΠ΄Π½ΠΎΠ³ΠΎ пароля Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π²Π΅Π±-прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π‘Π£Π‘Π”, ΠΌΠ°Π»ΠΎ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹. Π•ΡΡ‚ΡŒ ряд инструмСнтов Π‘Π£Π‘Π”, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

    ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ здСсь, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΎ MS SQL Vulnerability Assessmen ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.Β 

  3. ΠžΠ±ΠΎΠ³Π°Ρ‰Π°ΠΉΡ‚Π΅ контСкст сСссии Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Если сСссия нСпрозрачная, Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΡ‚ΠΎ Π² Π΅Π΅ Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π‘Π£Π‘Π”, ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… выполняСмой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚. Π­Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π°ΡƒΠ΄ΠΈΡ‚Π΅.
  4. НастраивайтС SSL, Ссли Ρƒ вас Π½Π΅Ρ‚ сСтСвого разграничСния Π‘Π£Π‘Π” ΠΎΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½Π° Π½Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ VLAN. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ самой Π‘Π£Π‘Π”. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΅ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС ΠΈ срСди open source.

Как это повлияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π‘Π£Π‘Π”?

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 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

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования:

Β 
NO SSL
SSL

УстанавливаСтся соСдинСниС ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

latency average
171.915 ms
187.695 ms

tpsΒ  including connections establishing
58.168112
53.278062

tps excluding connections establishing
64.084546
58.725846

CPU
24%
28%

ВсС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎ соСдинСниС

latency average
6.722 ms
6.342 ms

tps including connections establishing
1587.657278
1576.792883

tps excluding connections establishing
1588.380574
1577.694766

CPU
17%
21%

ΠŸΡ€ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… влияниС SSL сопоставимо с ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒΡŽ измСрСния. Если объСм ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ большой, ситуация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ другая. Если ΠΌΡ‹ устанавливаСм ΠΎΠ΄Π½ΠΎ соСдинСниС Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (это Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π΄ΠΊΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ соСдинСниС дСлят ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ), Ρƒ вас большоС количСство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, влияниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ большС. Π’ΠΎ Π΅ΡΡ‚ΡŒ риски сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ€Π°Π·Π½ΠΈΡ†Π° Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ большая, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β€” сильноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π΅ΡΡ‚ΡŒ, Ссли ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ сСссии Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ понятно: Π½Π° созданиС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ соСдинСния тратятся рСсурсы.

Π£ нас Π±Ρ‹Π» кСйс, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈ Zabbix Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ trust, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ md5 Π½Π΅ провСряли, Π² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ нСобходимости. ΠŸΠΎΡ‚ΠΎΠΌ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ попросил Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ md5-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π΄Π°Π»ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ просСла. Π‘Ρ‚Π°Π»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Одно ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСтСвоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Π‘Π£Π‘Π” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ VLAN, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ настройки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ понятно, ΠΊΡ‚ΠΎ ΠΈ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ эти Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй сСрвСров (ΠΆΠ΅Π»Π΅Π·Π°) для Π‘Π£Π‘Π”.

Π’Ρ‹Π²ΠΎΠ΄: Π² рядС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π΄Π°ΠΆΠ΅ нСбольшиС Π½ΡŽΠ°Π½ΡΡ‹ Π½Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ сильно ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ, ΠΊΠΎΠ³Π΄Π° это становится понятно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ².

Аудит дСйствий

Аудит ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π‘Π£Π‘Π”. Аудит β€” это ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСгмСнтах. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ database firewall, ΠΈ опСрационная систСма, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ строится Π‘Π£Π‘Π”.

Π’ коммСрчСских Π‘Π£Π‘Π” уровня Enterprise с Π°ΡƒΠ΄ΠΈΡ‚ΠΎΠΌ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π² open source β€” Π½Π΅ всСгда. Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² PostgreSQL:

  • default log β€” встроСнноС Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  • extensions: pgaudit β€” Ссли Π²Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ логирования, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ настройками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄ΠΎΠΊΠ»Π°Π΄Ρƒ Π² Π²ΠΈΠ΄Π΅ΠΎ:

«Базовая рСгистрация ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ обСспСчСна стандартным срСдством вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° с log_statement = all.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² использования, Π½ΠΎ Π½Π΅ обСспСчиваСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Π°ΡƒΠ΄ΠΈΡ‚Π°.

НСдостаточно ΠΈΠΌΠ΅Ρ‚ΡŒ список всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, выполняСмых с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ утвСрТдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ интСрСс для Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€Π°.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ срСдство вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ запросил ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ pgAudit фокусируСтся Π½Π° дСталях Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… выполняла запрос.

НапримСр, Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ конкрСтная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Ρ‹Π»Π° создана Π² Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ обслуТивания.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈ grep, Π½ΠΎ Ρ‡Ρ‚ΠΎ, Ссли Π²Π°ΠΌ прСдставится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого (Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ³ΠΎ) ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

DO $$
BEGIN
EXECUTE ‘CREATE TABLE import’ || ‘ant_table (id INT)’;
END $$;

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° даст Π²Π°ΠΌ это:

LOG:Β  statement: DO $$
BEGIN
EXECUTE ‘CREATE TABLE import’ || ‘ant_table (id INT)’;
END $$;

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ для поиска ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ динамичСски.

Π­Ρ‚ΠΎ Π½Π΅ идСально, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ просто ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π’ΠΎΡ‚ Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ pgAudit.

Для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого Π²Π²ΠΎΠ΄Π° ΠΎΠ½ выдаст этот Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅:

AUDIT: SESSION,33,1,FUNCTION,DO,,,Β«DO $$
BEGIN
EXECUTE ‘CREATE TABLE import’ || ‘ant_table (id INT)’;
END $$;"
AUDIT: SESSION,33,2,DDL,CREATE TABLE,TABLE,public.important_table,CREATE TABLE important_table (id INT)

РСгистрируСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΎΠΊ DO, Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ тСкст CREATE TABLE с Ρ‚ΠΈΠΏΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ‚ΠΈΠΏΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ поиск.

ΠŸΡ€ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² SELECT ΠΈ DML pgAudit ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для рСгистрации ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ записи для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅ΡΡ‚ΡŒ ссылка Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅.

НС трСбуСтся синтаксичСский Π°Π½Π°Π»ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹(*)Β».

Как это повлияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π‘Π£Π‘Π”?

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ тСсты с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ PostgreSQL. Π’ΠΊΠ»ΡŽΡ‡ΠΈΠΌ максимальноС Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π” ΠΏΠΎ всСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ.

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняСм, ΠΈΠ· Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ debug5, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ максимум ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

postgresql.conf

log_destination = ‘stderr’
logging_collector = on
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_messages = debug5
log_min_error_statement = debug5
log_min_duration_statement = 0
debug_print_parse = on
debug_print_rewritten = on
debug_print_plan = on
debug_pretty_print = on
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_hostname = on
log_lock_waits = on
log_replication_commands = on
log_temp_files = 0
log_timezone = ‘Europe/Moscow’

На Π‘Π£Π‘Π” PostgreSQL с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ 1 CPU, 2,8 Π“Π“Ρ†, 2 Π“Π± ΠžΠ—Π£, 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 сСк

ΠžΠ—Π£
24%
40%

CPU
72%
91%

ВСст 1 (50 ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ²)

Кол-Π²ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π·Π° 10 ΠΌΠΈΠ½
74169
32445

Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ/сСк
123
54

БрСдняя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
405 мс
925 мс

ВСст 2 (150 ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ 100 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…)

Кол-Π²ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π·Π° 10 ΠΌΠΈΠ½
81727
31429

Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ/сСк
136
52

БрСдняя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°
550 мс
1432 мс

ΠŸΡ€ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π Π°Π·ΠΌΠ΅Ρ€ Π‘Π”
2251 ΠœΠ‘
2262 ΠœΠ‘

Π Π°Π·ΠΌΠ΅Ρ€ Π»ΠΎΠ³ΠΎΠ² Π‘Π”
0 Мб
4587 Мб

Π’ ΠΈΡ‚ΠΎΠ³Π΅: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ β€” это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π”Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π°ΡƒΠ΄ΠΈΡ‚Π° получится ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Ρ… Π² самой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚ΠΎ ΠΈ большС. Π’Π°ΠΊΠΎΠΉ объСм Турналирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ гСнСрится ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π‘Π£Π‘Π”, β€” обычная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сильно Π½Π΅ мСняСтся: Π±Π΅Π· логирования β€” 43,74 сСк, с Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ β€” 53,23 сСк.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠžΠ—Π£ ΠΈ CPU Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠ΅Π΄Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с Π°ΡƒΠ΄ΠΈΡ‚ΠΎΠΌ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅.

ΠŸΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ числа ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ², СстСствСнно, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Ρ‚ΡŒΡΡ.

Π’ корпорациях с Π°ΡƒΠ΄ΠΈΡ‚ΠΎΠΌ Π΅Ρ‰Π΅ слоТнСС:

  • Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ;
  • Π°ΡƒΠ΄ΠΈΡ‚ Π½ΡƒΠΆΠ΅Π½ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· syslog Π² SIEM, Π½ΠΎ ΠΈ Π² Ρ„Π°ΠΉΠ»Ρ‹: Π²Π΄Ρ€ΡƒΠ³ с syslog Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Π±Π°Π·Π΅ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сохранятся Π΄Π°Π½Π½Ρ‹Π΅;
  • для Π°ΡƒΠ΄ΠΈΡ‚Π° Π½ΡƒΠΆΠ½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ»ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡΠ΅ΡΡ‚ΡŒ ΠΏΠΎ I/O дисков, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста;
  • Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сотрудникам Π˜Π‘ Π½ΡƒΠΆΠ½Ρ‹ Π²Π΅Π·Π΄Π΅ Π“ΠžΠ‘Π’Ρ‹, ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π³ΠΎΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ доступа ΠΊ Π½ΠΈΠΌ Π² коммСрчСских Π‘Π£Π‘Π” ΠΈ open source.

Π§Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

  1. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ обфускация ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Wrapping) β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°ΡŽΡ‚ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ. ΠŸΡ€Π°Π²Π΄Π°, ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ нСльзя Π½ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ, Π½ΠΈ Π·Π°Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° сторонС Π‘Π£Π‘Π” β€” Π»ΠΎΠ³ΠΈΠΊΠ° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  2. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ видимости Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ строкам (RLS) β€” это ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ видят ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΉ состав строк Π² Π½Π΅ΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСльзя ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ строк.
  3. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Masking) β€” это ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ видят ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ информация Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°. ВСхнология опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ уровня доступа.
  4. Π Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа Security DBA/Application DBA/DBA β€” это, скорСС, ΠΏΡ€ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ самой Π‘Π£Π‘Π”, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сотрудников Π˜Π‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚ database-администраторов ΠΈ application-администраторов. Π’ open source Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π² коммСрчСских Π‘Π£Π‘Π” ΠΈΡ… Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. Они Π½ΡƒΠΆΠ½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с доступом ΠΊ самим сСрвСрам.
  5. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. МоТно Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π°, ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ доступа ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ администратор ΠΏΠΎΠ»ΡƒΡ‡Π°Π» доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.
  6. ΠœΠ°Π½Π΄Π°Ρ‚Π½Ρ‹ΠΉ доступ ΠΈ очистка памяти β€” эти Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π΅Π΄ΠΊΠΎ.
  7. End-to-end encryption нСпосрСдствСнно Π‘Π£Π‘Π” β€” это client-side ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Π½Π° сСрвСрной сторонС.
  8. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π±Π°Π·Ρ‹.

Как это влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π‘Π£Π‘Π”?

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² PostgreSQL. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pgcrypto, ΠΎΠ½ позволяСт Π² Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ поля. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π΅ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡, сСрвСр Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΊΠ»ΡŽΡ‡Π° с вашими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ смоТСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ тСст c pgcrypto. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. НиТС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для создания Ρ‚Π°Π±Π»ΠΈΡ†, Π² самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС полСзная ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” созданиС самого extension с рСгистрациСй Π‘Π£Π‘Π”:

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Β  | text1 | text2
——+——-+——-
1 | 1 Β  Β  | 1
2 | 2 Β  Β  | 2
3 | 3 Β  Β  | 3
…
997 | 997 Β  | 997
998 | 998 Β  | 998
999 | 999 Β  | 999
1000 | 1000Β  | 1000
(1000 строк)

ВрСмя: 1,386 мс

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ:

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Β  |Β  decrypt Β  |Β  decrypt
——+—————+————
1 | x31 Β  | x31
2 | x32 Β  | x32
3 | x33 | x33
…
999 | x393939 Β  | x393939
1000 | x31303030 | x31303030
(1000 строк)

ВрСмя: 50,203 мс

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования:

Β 
Π‘Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
Pgcrypto (decrypt)

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° 1000 строк
1,386 мс
50,203 мс

CPU
15%
35%

ΠžΠ—Π£
Β 
+5%

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ сильно влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ вырос Ρ‚Π°ΠΉΠΌΠΈΠ½Π³, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Π° Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅Ρ‰Π΅ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Π° Π² Π²Π°ΡˆΡƒ Π»ΠΎΠ³ΠΈΠΊΡƒ) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. Π’ΠΎ Π΅ΡΡ‚ΡŒ идСя Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, содСрТащиС ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ€Π΅Π²Π°Ρ‚Π° сниТСниСм ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΈ этом ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ сСрСбряная пуля, Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π°Ρ всС вопросы. Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠ»ΡŽΡ‡ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² процСссС Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… находятся Π½Π° сСрвСрС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Ρ‹ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ сСрвСру Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ систСмным администратором.

Когда Π½Π° всю ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡŽΡ‡ (Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ для всСх, Π° для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°), β€” это Π½Π΅ всСгда Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ИмСнно поэтому Π½Π°Ρ‡Π°Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ end-to-end ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π² Π‘Π£Π‘Π” стали Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… со стороны ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра, появились Ρ‚Π΅ самыС key-vault Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Π½Π° сторонС Π‘Π£Π‘Π”.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π‘Π£Π‘Π”: ΠΎ Ρ‡Ρ‘ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, подбирая срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² MongoDB

БрСдства бСзопасности Π² коммСрчСских ΠΈ open source Π‘Π£Π‘Π”

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Π’ΠΈΠΏ
Password Policy
Audit
Π—Π°Ρ‰ΠΈΡ‚Π° исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
RLS
Encryption

Oracle
ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠ°Ρ
+
+
+
+
+

MsSql
ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠ°Ρ
+
+
+
+
+

Jatoba
ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠ°Ρ
+
+
+
+
extensions

PostgreSQL
Free
extensions
extensions

+
extensions

MongoDb
Free

+


Available in MongoDB Enterprise only

Π’Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ полная, Π½ΠΎ ситуация такая: Π² коммСрчСских ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Π·Π°Π΄Π°Ρ‡ΠΈ бСзопасности Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π΄Π°Π²Π½ΠΎ, Π² open source, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, для бСзопасности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ надстройки, ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, ΠΈΠ½ΠΎΠ³Π΄Π° приходится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. НапримСр, ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ β€” Π² PostgreSQL ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ (1, 2, 3, 4, 5), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, Π½ΠΎ всС потрСбности отСчСствСнного ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСгмСнта, Π½Π° ΠΌΠΎΠΉ взгляд, Π½ΠΈ ΠΎΠ΄Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ? НапримСр, хочСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π‘Π£Π‘Π”, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ.

Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π‘Π£Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠšΡ€ΠΈΠΏΡ‚ΠΎ Π‘Π”Β» ΠΈΠ»ΠΈ Β«Π“Π°Ρ€Π΄Π° Π‘Π”Β». Если Ρ€Π΅Ρ‡ΡŒ ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΈΠ· отСчСствСнного сСгмСнта, Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΏΡ€ΠΎ Π“ΠžΠ‘Π’Ρ‹ Π·Π½Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² open source.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠŸΡ€Π°Π²Π΄Π°, с Π“ΠžΠ‘Π’ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС. Но Π² Ρ†Π΅Π»ΠΎΠΌ β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ, ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² Π‘Π£Π‘Π”, ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, прямо Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ application. ΠŸΡ€ΠΈ этом сразу Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ эти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° application Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ. На наш взгляд, это Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС.

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π°Π» Π½Π° @Databases Meetup by Mail.ru Cloud Solutions. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… выступлСний ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° анонсы мСроприятий Π² Telegram Π’ΠΎΠΊΡ€ΡƒΠ³ Kubernetes Π² Mail.ru Group.

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅:

  1. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ Ceph: Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΠ±Π»Π°ΠΊΠ° MCS.
  2. Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ снова.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com