ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ Bastille 0.14.20250420, ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ , ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° FreeBSD Jail. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Shell, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD.
ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ bastille, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ FreeBSD, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊ/ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΡΠ±ΠΎΡΠΊΠ°, ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠΌΠΏΠΎΡΡ/ΡΠΊΡΠΏΠΎΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ c Linux (Ubuntu ΠΈ Debian), Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Linuxulator. ΠΠ· ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π·Π°ΠΏΡΡΠΊ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΠΎΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ , Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΡΠ½Π°ΠΏΡΠΎΡΡ ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°Π·Π΄Π΅Π» Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΊΠ°ΠΊ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΠ°Ρ Raspberry Pi, ΡΠ°ΠΊ ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ AWS EC2, Vultr ΠΈ DigitalOcean.
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 80 ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠΈΠΏΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt ΠΈ Ρ.ΠΏ.), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (gitea, gitlab, jenkins jenkins, python, php, perl, ruby, rust, go, node.js, openjdk) ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (firefox, Ρhromium). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π±Π»ΠΎΠ½ Π² Π΄ΡΡΠ³ΠΎΠΌ.
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-cΒ» (Β«βconfigΒ») ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ BASTILLE_CONFIG Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ auto-mode (Β«-aΒ», Β«βautoΒ») Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ debug-mode (Β«-xΒ», Β«βdebugΒ») Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ jail Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π‘Π£ΠΠ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ jail).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π»Π΅Π²ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«consoleΒ».
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«createΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ZFS ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ VLAN (Π΄Π»Ρ Jail Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ VNET).
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«destroyΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΡΡΠ° ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° jail Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ jail.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«limitsΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Β«clearΒ», Β«resetΒ», Β«statsΒ», Β«showΒ», Β«addΒ» ΠΈ Β«removeΒ».
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«listΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«networkΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² jail.
- ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΎΠΏΡΠΈΡ Β«rcorderΒ», Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Β«boot=on/offΒ» ΠΈ Β«priority=NΒ».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru