ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ°ΡΠ° «Π΄ΡΡΠΆΠ±Π°» Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄. Π― ΠΏΡΠΈΡΠ΅Π» Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΡΠ°Π±ΠΎΡΡ, Π³Π΄Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π°Π΄ΠΌΠΈΠ½ Π½Π΅ΠΏΡΠΈΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈΠ» ΠΌΠ½Π΅ Π² Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΡΠΈΠ½Ρ. Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°ΠΉΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΎΡΡ. ΠΠ°ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ, Π΅ΡΠ»ΠΈ Π·Π°Π³ΡΠ³Π»ΠΈΡΡ «rudder» ΡΠΎ Π² 99% ΡΠ»ΡΡΠ°Π΅Π² Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ: ΡΡΡΡΠ²Π°Π»Ρ ΠΊΠΎΡΠ°Π±Π»Π΅ΠΉ ΠΈ ΠΊΠ²Π°Π΄ΡΠΎΠΊΠΎΠΏΡΠ΅ΡΡ. ΠΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π½ΠΈΡΡΠΎΠΆΠ½ΠΎ ΠΌΠ°Π», Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΈ Π³ΡΠ°Π±Π»ΡΠΌΠΈ. ΠΡΠΌΠ°Ρ ΠΊΠΎΠΌΡ-ΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΡΠ°ΠΊ, Rudder
Rudder — ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½Π° ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°Π³Π΅Π½ΡΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π§Π΅ΡΠ΅Π· ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΈΠΆΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Ρ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Rudder.
-
ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²: ./ssh/authorized_keys ; /etc/hosts ; iptables ; (Π° Π΄Π°Π»ΡΡΠ΅ ΠΊΡΠ΄Π° ΡΠ°Π½ΡΠ°Π·ΠΈΡ Π·Π°Π²Π΅Π΄Π΅Ρ)
-
ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²: zabbix.agent ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ° Π΄Π½ΡΡ
ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ Ρ 5 Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎ 6.1, Π²ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΠΈΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Deban/Ubuntu Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°:
Π‘ΠΏΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π² ΡΠΏΠΎΠΉΠ»Π΅ΡΡ, ΡΡΠΎΠ±Ρ Π²Π°Ρ Π½Π΅ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡ.
Spoiler
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΠ»Ρ rudder-server ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Java RE ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 8 Π²Π΅ΡΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π»ΠΈ ΠΎΠ½Π°
java -version
Π΅ΡΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄
-bash: java: command not found
ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ
apt install default-jre
Π‘Π΅ΡΠ²Π΅Ρ
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»ΡΡ
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
ΠΠΎΡ ΡΠ°ΠΌ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π½Π΅Ρ ΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ
apt update
apt install rudder-server-root
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ·Π΅ΡΠ° admin
rudder server create-user -u admin -p "ΠΠ°Ρ ΠΠ°ΡΠΎΠ»Ρ"
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³
ΠΡΡ, cΠ΅ΡΠ²Π΅Ρ Π³ΠΎΡΠΎΠ².
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π°Π³Π΅Π½Ρ ΡΡΠ΄Π΄Π΅ΡΠ° ip Π°Π΄ΡΠ΅ΡΠ° Π°Π³Π΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Settings —> General
Π ΠΏΠΎΠ»Π΅ «Add a network» ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ ΠΈ ΠΌΠ°ΡΠΊΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ x.x.x.x/xx . ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ± ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎ Π²ΡΠ΅Ρ Π°Π΄ΡΠ΅ΡΠΎΠ² Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ (ΠΡΠ»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΡΠΎ ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΡΠ΅ΡΡ ΠΈ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π·Π° NAT) Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ : 0.0.0.0/0
ΠΠ°ΠΆΠ½ΠΎ — ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ip address Π½Π΅ Π·Π°Π±ΡΡΡ Π½Π°ΠΆΠ°ΡΡ Save changes, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡ.
ΠΠΎΡΡΡ
ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΡ
-
443 — tcp
-
5309 — tcp
-
514 — udp
Π‘ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΠ³Π΅Π½ΡΠ°
Spoiler
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ»ΡΡ
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
ΠΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΊΠ»ΡΡΠ°
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π°Π³Π΅Π½Ρ
apt update
apt install rudder-agent
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π°Π³Π΅Π½ΡΠ°
Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π°Π³Π΅Π½ΡΡ ip address ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊ
rudder agent policy-server <rudder server ip or hostname> #ΠΠ΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ
ΠΠ°ΠΏΡΡΡΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π³Π΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½ΠΎΠ²ΡΡ Π°Π³Π΅Π½ΡΠΎΠ², ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΎΠ±ΡΡΡΠ½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅
rudder agent inventory
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π°Π³Π΅Π½Ρ ΠΈ ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ
rudder agent run
ΠΠ°Ρ Π°Π³Π΅Π½Ρ Π½Π°ΡΡΡΠΎΠ΅Π½, ΠΈΠ΄Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΠΎΠ²
ΠΠΎΠ³ΠΈΠ½ΠΈΠΌΡΡ
https://127.0.0.1/rudder/index.html
Π ΡΠ°Π·Π΄Π΅Π»Π΅ «Accept new nodes» ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²Π°Ρ Π°Π³Π΅Π½Ρ, ΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Accept
ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³ΡΡΠΏΠΏΡ (ΡΠΎ Π΅ΡΠ΅ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅), Π±Π΅Π· ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎΠ»Ρ Π³Π΅ΠΌΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏ, Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΡΠ», ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ Π½ΠΈΠΊΠ°ΠΊ. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ°Π·Π΄Π΅Π» Node management -> Groups ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Create, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π³ΡΡΠΏΠΏΡ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
Π€ΠΈΠ»ΡΡΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΠΎΡΠΎΠ±ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ip address, ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ
ΠΡΡΠΏΠΏΠ° Π½Π°ΡΡΡΠΎΠ΅Π½Π°.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ»
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Configuration policy β Rules , ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π³ΡΡΠΏΠΏΡ (ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅)
Π ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π² .ssh/authorized_keys. Π― ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΡ ΠΎΠ΄Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°, ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π²ΡΠΏΠΈΠ»ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΠΉ ΠΊΠ»ΡΡ.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Configuration policy β Directives ΡΠ»Π΅Π²Π° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ «Directive library» ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ «Remote access β SSH authorised keys», ΡΠΏΡΠ°Π²Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Create Directive
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ·Π΅ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠ»ΡΡ. ΠΠ°Π»Π΅Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
-
Global — ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
-
Enforce — ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
-
Audit — ΠΡΠΎΠ²Π΅Π΄Π΅Ρ Π°ΡΠ΄ΠΈΡ ΠΈ ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π° ΠΊΠ°ΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ Π΅ΡΡΡ ΠΊΠ»ΡΡ
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ
ΠΠ»ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
ΠΠ»ΡΡΠΊΠΈ
ΠΠ³Π΅Π½Ρ ΠΎΡΠ΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π‘ΠΏΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΎΡΠΊΡΡΡΡΡ ΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π½ΠΈΠΆΠ΅
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° linux Π½ΠΎ ΠΈ Π½Π° windows, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ», Π½Π΅ Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ..
ΠΡ Π°Π²ΡΠΎΡΠ°
ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, Π²Ρ ΡΠΏΡΠΎΡΠΈΡΠ΅, Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄, Π΅ΡΠ»ΠΈ Π΄Π°Π²Π½ΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Ρ ansible ΠΈ puppet?
ΠΡΠ²Π΅ΡΠ°Ρ: Π£ ΠΠ½ΡΠΈΠ±Π»Π° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΡ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³, ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡ role ΠΈΠ»ΠΈ playbook ΠΈ ΠΏΠΎΠ»Π΅ΡΠ΅Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎ ΠΊΡΠ°ΡΠ΅, ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ Π»Π΅Π·ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΡΠ΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ. Π Ρ puppet Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»..
ΠΡΡΡ Π»ΠΈ ΠΌΠΈΠ½ΡΡΡ Ρ Rudder-a? ΠΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ .. ΠΠ°ΡΠΈΠ½Π°Ρ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΠ²Π°Π»ΠΈΠ²Π°ΡΡΡΡ Π°Π³Π΅Π½ΡΡ ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠ½ΡΡΠ°Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rudder reset. (Π½ΠΎ ΠΊΡΡΠ°ΡΠΈ Π² Π²Π΅ΡΡΠΈΠΈ 6 Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π»), Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΈ Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
ΠΡΡΡ Π»ΠΈ ΠΏΠ»ΡΡΡ? Π ΠΏΠ»ΡΡΠΎΠ² ΡΠΎΠΆΠ΅ ΠΌΠ°ΡΡΠ°: Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ansible ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ»Π°Π΅Π½Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ — ΡΠΎΡΡΠ°Ρ Π»ΠΈ ΠΏΠΎΡΡΡ Π² ΠΌΠΈΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ firewall, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π»ΠΈ Π°Π³Π΅Π½ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ±Π»ΡΠ΄Ρ.
ΠΠ°Π½Π½ΡΠΉ ΡΠΎΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ, ΠΈ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ» Π·Π°ΡΠ²Π΅ΡΠΈΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΌ, ΡΠΎ ΡΡΠΎ ΠΏΠΎΠ²ΠΎΠ΄ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°ΠΊ Ρ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠ» 2 Π³ΠΎΠ΄Π° ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Rudder, ΠΈ Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΠΈΡΡ, ΡΠΎ ΠΆΠΈΠ·Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΡΡΡΠ΅. Π‘Π°ΠΌΠΎΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅, ΡΠΎ ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΠ» Π»ΠΈ Π΄ΠΆΡΠ½ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π°Π³Π΅Π½ΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π½Π° Π½Π°ΡΡΡΠΎΠΈΠ» iptables , rudder ΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ Π²ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ½, Π·Π½Π°ΡΠΈΡ Π²ΠΎΠΎΡΡΠΆΠ΅Π½! )
P.S. ΠΡΡΠ»ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π», Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΠ±Ρ ΡΠΎ Π½Π°ΠΏΠΈΡΡ Π²ΡΠΎΡΡΡ ΡΠ°ΡΡΡ.
P.S.S Π‘ΡΠ°ΡΡΡ Π½Π΅ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ, ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΎΡΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΠΈΠ½ΡΡ. ΠΠΎΠΆΠ΅Ρ-Π±ΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π₯ΠΎΡΠΎΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ Π΄ΡΡΠ·ΡΡ )
ΠΠ° ΠΏΡΠ°Π²Π°Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΡ
ΠΠΏΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ — ΡΡΠΎ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com