Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ Π² MySQL: ротация Π½Π° Master Key

Π’ Π½Π°Π²Π΅Ρ‡Π΅Ρ€ΠΈΠ΅Ρ‚ΠΎ Π½Π° старта Π½Π° новия Π½Π°Π±ΠΎΡ€ курс «Бази Π΄Π°Π½Π½ΠΈΒ»Β ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ с ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сСрия статии Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π² MySQL.

Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия ΠΎΡ‚ Ρ‚Π°Π·ΠΈ сСрия ΠΎΠ±ΡΡŠΠ΄ΠΈΡ…ΠΌΠ΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ с главния ΠΊΠ»ΡŽΡ‡ (Master Key). ДнСс, основавайки сС Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ знания, Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ротацията Π½Π° Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅.

Ротацията Π½Π° Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ сС ΡΡŠΡΡ‚ΠΎΠΈ Π² Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡ ΠΈ с Π½Π΅Π³ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ сС ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Ρ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ (ΠΊΠΎΠΈΡ‚ΠΎ са ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π² заглавията Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅).

НСка си ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°:

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ Π² MySQL: ротация Π½Π° Master Key

ΠžΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΏΡ€ΠΈ стартиранС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π° заглавията Π½Π° всички ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΈ запомня Π½Π°ΠΉ-голямото KEY ID. НапримСр, Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ с KEYID = 3 ΠΈ Π΅Π΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° с KEYID = 4, Ρ‚ΠΎ максималният ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠ»ΡŽΡ‡Π° Ρ‰Π΅ Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° 4. НСка Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ²Π° KEY ID β€” MAX KEY ID.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ ротацията Π½Π° главния ΠΊΠ»ΡŽΡ‡

1. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ALTER INNODB MASTER KEY.

2. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π°ΠΏΠΈΡ‚Π²Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ (keyring) Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡ с UUID Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ KEYID, Ρ€Π°Π²Π΅Π½ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ с Π΅Π΄Π½ΠΎ MAXKEYID. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° главния ΠΊΠ»ΡŽΡ‡, Ρ€Π°Π²Π΅Π½ Π½Π° INNODBKEY-UUID- (MAXKEYID + 1). ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Π° гСнСрация Π½Π° главния ΠΊΠ»ΡŽΡ‡, MAX KEY ID сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° с Π΅Π΄Π½ΠΎ (Ρ‚.Π΅. MAXKEYID = MAXKEYID + 1).

3. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π° всички Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ с главния ΠΊΠ»ΡŽΡ‡, ΠΈ Π·Π° всяка Ρ‚Π°Π±Π»ΠΈΡ†Π°:

  • ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с новия Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡;

  • обновява ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° новия MAXKEYID;

  • Π°ΠΊΠΎ UUID сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ UUID Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‚ΠΎ обновява UUID Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

ΠšΠ°ΠΊΡ‚ΠΎ Π·Π½Π°Π΅ΠΌ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° главния ΠΊΠ»ΡŽΡ‡ (Master Key ID), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π΅ ΡΡŠΡΡ‚Π°Π²Π΅Π½ ΠΎΡ‚ UUID ΠΈ KEY ID, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π΅ Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ Ρ‚Π°Π·ΠΈ информация Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° правилния Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡.

Ако ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ мСста, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Π»Π°Π²Π½ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅. Всички Ρ‚Π΅Π·ΠΈ Π³Π»Π°Π²Π½ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Ρ‰Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈ стартиранС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±Π°Π²ΠΈ стартиранСто Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, особСно Π°ΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ротация Π½Π° главния ΠΊΠ»ΡŽΡ‡ Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°ΠΌΠ΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ с Π΅Π΄ΠΈΠ½ Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡, ΡΡŠΡ‰ΠΈΡΡ‚ Π·Π° всички Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Π‘Π΅Π³Π° ΠΏΡ€ΠΈ стартиранС ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ само Π΅Π΄ΠΈΠ½ Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡.

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ само приятСн страничСн Π΅Ρ„Π΅ΠΊΡ‚. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π½Π° ротацията Π½Π° Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ нашия ΡΡŠΡ€Π²ΡŠΡ€ ΠΏΠΎ-сигурСн. Π’ случай Ρ‡Π΅ главният ΠΊΠ»ΡŽΡ‡ Π΅ ΠΎΡ‚ΠΊΡ€Π°Π΄Π½Π°Ρ‚ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ Vault Server), ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°ΠΌΠ΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ откраднатия ΠΊΠ»ΡŽΡ‡ Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½. НиС смС Π² бСзопасност... ΠΏΠΎΡ‡Ρ‚ΠΈ.

Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия Π³ΠΎΠ²ΠΎΡ€ΠΈΡ… Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ слСд ΠΊΡ€Π°ΠΆΠ±Π° Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Ρ‚Ρ€Π΅Ρ‚Π° страна ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠŸΡ€ΠΈ условиС, Ρ‡Π΅ ΠΈΠΌΠ° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ нашия диск. Π’ случай Π½Π° ΠΊΡ€Π°ΠΆΠ±Π° Π½Π° главния ΠΊΠ»ΡŽΡ‡ ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° откраднатият Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠšΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ротацията Π½Π° главния ΠΊΠ»ΡŽΡ‡ Π² Ρ‚ΠΎΠ·ΠΈ случай Π½Π΅ ΠΏΠΎΠΌΠ°Π³Π°. НиС ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°ΠΌΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΡŽΡ‡, Π½ΠΎ дСйствитСлният ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ / Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, остава ΡΡŠΡ‰ΠΈΡΡ‚. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ "Ρ…Π°ΠΊΠ΅Ρ€ΡŠΡ‚" ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. По-Ρ€Π°Π½ΠΎ Π½Π°ΠΌΠ΅ΠΊΠ½Π°Ρ…, Ρ‡Π΅ Percona Server for MySQL ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° истинско ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, Π° Π½Π΅ просто простото ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. Π’Π°Π·ΠΈ функция сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π½Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π΅ (encryption threads). Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚Π°Π·ΠΈ функционалност всС ΠΎΡ‰Π΅ Π΅ СкспСримСнтална.

Ротацията Π½Π° главния ΠΊΠ»ΡŽΡ‡ Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ главният ΠΊΠ»ΡŽΡ‡ Π΅ ΠΎΡ‚ΠΊΡ€Π°Π΄Π½Π°Ρ‚, Π½ΠΎ атакуващият няма Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅.

Π—Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ сС Π·Π° Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π΄Π΅ΠΌΠΎ-ΡƒΡ€ΠΎΠΊ.

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΎΡ‰Π΅:

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster