Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ сС Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Π°Π· ΠΏΠΎ профСсия съм администратор Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми ΠΈ ΠΌΡ€Π΅ΠΆΠΈ (ΠΏΠΎ-ΠΊΡ€Π°Ρ‚ΠΊΠΎ: систСмСн администратор) ΠΈ ΠΈΠΌΠ°ΠΌ Π½Π°Π΄ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ профСсионалСн ΠΎΠΏΠΈΡ‚ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π°, ΠΊΠΎΠΈΡ‚ΠΎ изискват [ΠΏΠΎ|Π·Π°]вишСни ΠΌΠ΅Ρ€ΠΊΠΈ Π·Π° бСзопасност. ОсвСн Ρ‚ΠΎΠ²Π°, няколко мСсСца Π½Π°Π·Π°Π΄ ΠΎΡ‚ΠΊΡ€ΠΈΡ… Π² сСбС си интСрСс към Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½, ΠΈ Π½Π΅ само Ρ‡Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…, Π½ΠΎ ΠΈ стартирах няколко ΠΌΠΈΠΊΡ€ΠΎ-сСрвиза, Π·Π° Π΄Π° Π½Π°ΡƒΡ‡Π° ΠΊΠ°ΠΊ Π΄Π° работя самостоятСлно с Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° (всС ΠΏΠ°ΠΊ Ρ‚ΠΎΠΉ Π΅ p2p) ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (Ρ€Π°Π·Π±ΠΈΡ€Π° сС, нямам Ρ‚Π°ΠΊΠΈΠ²Π° умСния) dev, просто ΠΌΠΈΠ½Π°Π²Π°Ρ… ΠΏΠΎΠΊΡ€Π°ΠΉ Π½Π΅Π³ΠΎ). Но Π½Π΅ става Π΄ΡƒΠΌΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π° Π·Π° бСзопасна ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° срСда Π·Π° прилоТСния.

ЀинансовитС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (fintech) Π²ΡŠΡ€Π²ΡΡ‚ Ρ€ΡŠΠΊΠ° Π·Π° Ρ€ΡŠΠΊΠ° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° бСзопасност (infosec) ΠΈ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ Π±Π΅Π· Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ Π½Π΅ Π·Π° дълго. Π—Π°Ρ‚ΠΎΠ²Π° искам Π΄Π° сподСля своя ΠΎΠΏΠΈΡ‚ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ fintech, Ρ‚Π°ΠΊΠ° ΠΈ infosec, ΠΈ Ρ‚ΠΎ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΈ Π² ΠΏΠΎ-ΡˆΠΈΡ€ΠΎΠΊ ΠΈΠ»ΠΈ напълно Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ контСкст. Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° инфраструктура Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Сксплоатация Π½Π° финансови (ΠΈ Π½Π΅ само) услуги β€” с Π΅Π΄Π½Π° Π΄ΡƒΠΌΠ°, Π½Π° Ρ‚Π΅Π·ΠΈ услуги, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ β€žΠ‘β€œ ΠΈΠΌΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ»Π°Π³Π° сС ΠΊΠ°ΠΊΡ‚ΠΎ към Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ борса, Ρ‚Π°ΠΊΠ° ΠΈ към типичния ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π΅Π½ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊ ΠΎΡ‚ услуги Π½Π° ΠΌΠ°Π»ΠΊΠ° компания, която ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ Π½Π΅ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½.

Искам Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ съм ΠΏΡ€ΠΈΠ²ΡŠΡ€ΠΆΠ΅Π½ΠΈΠΊ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ β€žkeep it stupid simpleβ€œ ΠΈ β€žless is moreβ€œ, Π·Π°Ρ‚ΠΎΠ²Π° ΠΈ статията, ΠΈ описаното Π² нСя Ρ‰Π΅ ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π°Ρ‚ Eigenschaften, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ.

Π’ΡŠΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ сцСнарий: НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ всичко Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ. Π Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° стартирамС ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Ρ€ΡƒΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°Ρ€ΠΈ ΠΈ Π΅Π²Ρ€ΠΎ Π·Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΈ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ ΠΏΠ°Ρ€ΠΈ ΠΊΠ°Ρ‚ΠΎ Qiwi ΠΈ WebMoney, Ρ‚.Π΅. всички ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ са ΡƒΡ€Π΅Π΄Π΅Π½ΠΈ. ИмамС Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ слуТи Π·Π° ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅Π½ шлюз Π·Π° Ρ€ΡƒΠ±Π»ΠΈ, Π΄ΠΎΠ»Π°Ρ€ΠΈ ΠΈ Π΅Π²Ρ€ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΠΈ систСми. Π’ΠΎ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с Π½Π°ΡˆΠΈΡ‚Π΅ Π±Π°Π½ΠΊΠΎΠ²ΠΈ смСтки ΠΈ ΠΈΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ API Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΡ€Π°ΠΉΠ½ΠΈ прилоТСния. ИмамС ΠΈ ΡƒΠ΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Π΅ ролята Π½Π° ΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ Π½Π° Qiwi ΠΈΠ»ΠΈ WebMoney – рСгистрация Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚, добавянС Π½Π° ΠΊΠ°Ρ€Ρ‚Π° ΠΈ Ρ‚.Π½. Π’ΠΎ ΠΎΠ±Ρ‰ΡƒΠ²Π° с Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-шлюз, вСроятно Ρ‡Ρ€Π΅Π· REST API Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°. И Ρ‚Π°ΠΊΠ°, Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ ΠΈ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ инфраструктурата, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всичко ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²Π΅Π½ΠΎ Π² Π±ΡŠΡ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ боксовС ΠΏΠΎΠ΄ Π±ΡŽΡ€ΠΎΡ‚ΠΎ Π² офиса... Π‘Π°ΠΉΡ‚ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π° Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° сС притСснявамС Π·Π° uptime ΠΈ производитСлност.

И Ρ‚Π°ΠΊΠ°, Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с основното – ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€. Въй ΠΊΠ°Ρ‚ΠΎ Π±ΠΈΠ·Π½Π΅ΡΡŠΡ‚ Π² нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ малък ΠΈ Π½ΠΈΠ΅ вярвамС Π½Π° хостСра (OVH), Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС инсталира систСма ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΎΠ±Ρ€Π°Π· .iso, Π½ΠΎ Π½Π΅ Π΅ Π±Π΅Π΄Π°, ΠΎΡ‚Π΄Π΅Π»ΡŠΡ‚ Π·Π° ИВ-сигурност Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‰Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Π°Π½Π°Π»ΠΈΠ· Π½Π° инсталирания ΠΎΠ±Ρ€Π°Π·. А ΠΊΠΎΠ³Π°Ρ‚ΠΎ пораснСм, Ρ‰Π΅ Π½Π°Π΅ΠΌΠ΅ΠΌ собствСн ΡˆΠΊΠ°Ρ„ с ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ физичСски Π΄ΠΎΡΡ‚ΡŠΠΏ, ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Ρ‰Π΅ построим собствСн Π΄Π°Ρ‚Π° Ρ†Π΅Π½Ρ‚ΡŠΡ€. Π’ΡŠΠ² всСки случай, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ ΠΏΡ€ΠΈ Π½Π°Π΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΈ инсталиранСто Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΈ, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° риск Π² систСмата Π΄Π° останС β€žΡ‚Ρ€ΠΎΡΠ½Π΅Ρ† ΠΎΡ‚ Ρ…ΠΎΡΡ‚Π΅Ρ€Π°β€œ, ΠΊΠΎΠΉΡ‚ΠΎ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° Π²ΠΈ слСди, Π° Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΈ инструмСнти Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°

Π’ΡƒΠΊ всичко Π΅ просто. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ отговаря Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΎΠ±Ρ€Π°Π· FreeBSD. Или сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ (Π² случай Π½Π° Π΄Ρ€ΡƒΠ³ хостСр ΠΈ собствСно ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅) ΠΏΠΎ IPMI ΠΈΠ»ΠΈ с ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΎΠ±Ρ€Π°Π·Π° Π½Π° FreeBSD .iso. Π—Π° оркСстрирано инсталиранС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Ansible ΠΈ mfsbsd. ЕдинствСното, Π² нашия случай с Kimsufi, ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ пСрсонализирана инсталация Π·Π° Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄Π²Π°Ρ‚Π° диска Π² ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ β€žΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈβ€œ само Π·Π° boot ΠΈ /home дяловСтС, Π° останалата част ΠΎΡ‚ диска Ρ‰Π΅ бъдС ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π°, Π½ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ²Π° ΠΏΠΎ-късно.

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡΡ‚Π° Π½Π° систСмата сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠΎ стандартСн Π½Π°Ρ‡ΠΈΠ½, няма Π΄Π° сС спирам Π½Π° Ρ‚ΠΎΠ²Π°, само Ρ‰Π΅ ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Π½Π΅ Π½Π° Сксплоатацията Π΅ Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡƒΠΊΡ€Π΅ΠΏΠ²Π°Π½Π΅ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° bsdinstaller Π² края Π½Π° инсталацията (Π°ΠΊΠΎ сами инсталиратС систСмата):

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Има Π΄ΠΎΠ±ΡŠΡ€ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ°, Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ‚ΡƒΠΊ Ρ‰Π΅ Π³ΠΎ повторя.

Π’ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° горСпосочСнитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π΅ възмоТно ΠΈ Π½Π° Π²Π΅Ρ‡Π΅ инсталирана систСма. Π—Π° Ρ†Π΅Π»Ρ‚Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π° Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‡Π° ΠΈ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ядрСнитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. *ee β€” Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π² BSD

# ee /etc/rc.conf

...
#sec hard
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"

# ee /etc/sysctl.conf

...
#sec hard
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=$(jot -r 1 9999)
security.bsd.stack_guard_page=1

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ инсталирана послСдната вСрсия Π½Π° систСмата ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ всички Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ΠΈ. Π’ нашия случай, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ Π΄ΠΎ послСдната вСрсия, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ прСдустановСнитС ΠΎΠ±Ρ€Π°Π·ΠΈ изостават с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π³ΠΎΠ΄ΠΈΠ½Π°-Π³ΠΎΠ΄ΠΈΠ½Π°. И Ρ‚Π°ΠΌ смСнямС SSH ΠΏΠΎΡ€Ρ‚Π° Π½Π° Π½Π΅Ρ‰ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ стандартното, добавямС удостовСряванС с ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ удостовСряванСто ΠΏΠΎ ΠΏΠ°Ρ€ΠΎΠ»Π°.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° настройвамС aide, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° систСмата. По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ.

pkg install aide

ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ нашия ΠΊΡ€ΠΎΠ½Ρ‚Π°Π±

crontab -e

06 01 * * 0-6 /root/chkaide.sh

#! /bin/sh
#chkaide.sh
MYDATE=`date +%Y-%m-%d`
MYFILENAME="Aide-"$MYDATE.txt
/bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME
/usr/local/bin/aide --check > /tmp/myAide.txt
/bin/cat /tmp/myAide.txt|/usr/bin/grep -v failed >> /tmp/$MYFILENAME
/bin/echo "**************************************" >> /tmp/$MYFILENAME
/usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME
/bin/echo "****************DONE******************" >> /tmp/$MYFILENAME

Π’ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ систСмно ΠΎΠ΄ΠΈΡ‚ΠΈΡ€Π°Π½Π΅

sysrc auditd_enable=YES

# service auditd start

Как Π΄Π° администриратС Ρ‚ΠΎΠ²Π° Π΅ описано ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π² Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΡ‚ΠΎ.

Π‘Π΅Π³Π° рСстартирамС ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ със софтуСра Π²ΡŠΡ€Ρ…Ρƒ ΡΡŠΡ€Π²Π΅Ρ€Π°. ВсСки ΡΡŠΡ€Π²ΡŠΡ€ прСдставлява Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ пълни Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини. Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° VT-x ΠΈ EPT, Π°ΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ пълна виртуализация.

ΠšΠ°Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ cbsd ΠΎΡ‚ olevole, ΠΏΠΎΠΆΠ΅Π»Π°Π²Π°ΠΌ ΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π΄Ρ€Π°Π²Π΅ ΠΈ благоприятства Π·Π° Ρ‚ΠΎΠ·ΠΈ прСкрасСн инструмСнт!

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ? ΠžΡ‚Π½ΠΎΠ²ΠΎ Π»ΠΈ Docker?

А Π΅Ρ‚ΠΎ ΠΈ Π½Π΅. FreeBSD Jails β€” Ρ‚ΠΎΠ²Π° Π΅ чудСсСн инструмСнт Π·Π° контСйнСризация, Π° спомСнатият cbsd Π·Π° оркСстрация Π½Π° Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ.

ΠšΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° инфраструктура Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π΅Π»ΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° пълна изолация Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ услуги ΠΈΠ»ΠΈ процСси. Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠ»ΠΎΠ½ Π½Π° хост систСмата, Π½ΠΎ Π½Π΅ изисква пълна виртуализация Π½Π° β€žΠΆΠ΅Π»Π΅Π·ΠΎΡ‚ΠΎβ€œ. РСсурситС слСдоватСлно Π½Π΅ сС Ρ…Π°Ρ€Ρ‡Π°Ρ‚ Π·Π° β€žΠ³ΠΎΡΡ‚ΡƒΠ²Π°Ρ‰Π° ΠžΠ‘β€œ, Π° само Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Π½ΡƒΠΆΠ΄ΠΈ, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° рСсурситС – мноТСство ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½ физичСски ΡΡŠΡ€Π²ΡŠΡ€ ΠΌΠΎΠ³Π°Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ цСлия рСсурс Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΏΡ€ΠΈ нСобходимост. ΠšΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ подсСрвиси изискват Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ рСсурси Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ максимална производитСлност ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΡΡŠΡ€Π²ΡŠΡ€, Π°ΠΊΠΎ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈ сС разпрСдСлят ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅. ΠŸΡ€ΠΈ нСобходимост, Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Π»ΠΎΠΆΠΈ ΠΈ ограничСния Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ рСсурси.

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

А ΠΊΠ°ΠΊΠ²ΠΎ става с ΠΏΡŠΠ»Π½Π°Ρ‚Π° виртуализация?

Насколько ΠΌΠΈ Π΅ извСстно, cbsd ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° bhyve ΠΈ XEN Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΈ. Никога Π½Π΅ съм ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» втория, Π½ΠΎ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π΅ сравнитСлно ΠΌΠ»Π°Π΄ Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΎΡ‚ FreeBSD. Π©Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ bhyve Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ.

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ ΠΈ настройка Π½Π° хост срСда

НиС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ FS ZFS. Π’ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΡ‰Π΅Π½ инструмСнт Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° пространството Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ZFS ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ дисковСтС Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ масиви с Π½Π°ΠΉ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ β€žΠ½Π° Π³ΠΎΡ€Π΅Ρ‰ΠΎβ€œ Π΄Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°ΠΌΠ΅ пространството, Π΄Π° смСнямС ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈ дисковС, Π΄Π° управлявамС ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° опишСм Π² цяла сСрия статии. Π’ΡŠΡ€Π½Π΅Ρ‚Π΅ сС ΠΏΡ€ΠΈ нашия ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ дисковС. Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° инсталацията оставихмС свободно пространство Π½Π° дисковСтС Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ дяловС. Π—Π°Ρ‰ΠΎ Ρ‚Π°ΠΊΠ°? Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ систСмата Π΄Π° сС стартира Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΈ Π΄Π° ΡΠ»ΡƒΡˆΠ° ΠΏΠΎ SSH.

gpart add -t freebsd-zfs /dev/ada0

/dev/ada0p4 added!

добавямС партиция Π½Π° оставащото място

geli init /dev/ada0p4

Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΠ°Ρ€ΠΎΠ»Π° Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅

geli attach /dev/ada0p4

ΠΎΡ‚Π½ΠΎΠ²ΠΎ въвСТдамС ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ устройството /dev/ada0p4.eli β€” Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΎ пространство. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° повтарямС ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π·Π° /dev/ada1 ΠΈ останалитС дисковС Π² масива. И създавамС Π½ΠΎΠ² ZFS pool.

zpool create vms mirror /dev/ada0p4.eli /dev/ada1p4.eli /dev/ada3p4.eli β€” Π΅Ρ‚ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ Π³ΠΎΡ‚ΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π±ΠΎΠ΅Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚. Π—Π΅Ρ€ΠΊΠ°Π»Π΅Π½ масив ΠΎΡ‚ дисковС Π² случай Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ‚Ρ€ΠΈΡ‚Π΅.

БъздавамС датасСт Π½Π° новия "ΠΏΡƒΠ»"

zfs create vms/jails

pkg install cbsd β€” стартирахмС ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈ инсталирамС ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ cbsd Π΅ инсталиран, трябва Π΄Π° Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅:

# env workdir="/vms/jails" /usr/local/cbsd/sudoexec/initenv

ΠΈ отговарямС Π½Π° ΠΊΡƒΠΏ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, основно с ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.

*Ако ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡŠΡ‚ cbsdd Π΄Π° Π½Π΅ стартира Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Ρ‚Π΅ дисковСтС Ρ€ΡŠΡ‡Π½ΠΎ ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ (Π² нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈ zabbix)

**Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ NAT ΠΎΡ‚ cbsd, Π° Π³ΠΎ настройвам сам Π² pf.

# sysrc pf_enable=YES

# ee /etc/pf.conf

IF_PUBLIC="em0"
IP_PUBLIC="1.23.34.56"
JAIL_IP_POOL="192.168.0.0/24"

#WHITE_CL="{ 127.0.0.1 }"

icmp_types="echoreq"

set limit { states 20000, frags 20000, src-nodes 20000 }
set skip on lo0
scrub in all

#NAT Π·Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

## ΠŸΠΎΡ€Ρ‚ Π·Π° прСнасочванС Π½Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°
IP_JAIL="192.168.0.1"
PORT_JAIL="{8333}"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# service pf start

# pfctl -f /etc/pf.conf

Настройката Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Π° Π΅ ΡΡŠΡ‰ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π° Ρ‚Π΅ΠΌΠ°, Π·Π°Ρ‚ΠΎΠ²Π° няма Π΄Π° задълбавам Π² настройкитС Π½Π° BLOCK ALL ΠΈ Π±Π΅Π»ΠΈΡ‚Π΅ ΡΠΏΠΈΡΡŠΡ†ΠΈ, Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΠΊΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° докумСнтация ΠΈΠ»ΠΈ която ΠΈ Π΄Π° Π΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ статии, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² Π³ΡƒΠ³ΡŠΠ».

Π•, ΠΈΠΌΠ°ΠΌΠ΅ инсталиран cbsd, Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° създадСм Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ срСдство β€” Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π΄Π΅ΠΌΠΎΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°!

cbsd jconstruct-tui

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π’ΡƒΠΊ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π·Π° създавнС Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ всички стойности, създавамС!

ΠŸΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°, трябва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ основа Π·Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅. Аз ΠΈΠ·Π±ΠΈΡ€Π°ΠΌ дистрибуция ΠΎΡ‚ рСпозитория FreeBSD с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° repo. Π’ΠΎΠ·ΠΈ ΠΈΠ·Π±ΠΎΡ€ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° само ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ‚Π° вСрсия (ΠΌΠΎΠΆΠ΅ Π΄Π° хостватС ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π½Π° всякакви вСрсии, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎ-стари ΠΎΡ‚ вСрсията Π½Π° хоста).

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ всичко Π΅ инсталирано β€” стартирамС ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°!

# cbsd jstart bitcoind

Но трябва Π΄Π° инсталирамС софтуСра Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°.

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind

jexec bitcoind Π·Π° Π΄Π° Π²Π»Π΅Π·Π΅ΠΌ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°

ΠΈ Π²Π΅Ρ‡Π΅ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° инсталирамС софтуСра с зависимоститС ΠΌΡƒ (Π½Π°ΡˆΠ°Ρ‚Π° хост систСма остава чиста)

bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils

bitcoind:/@[15:30] # sysrc bitcoind_enable=YES

bitcoind:/@[15:30] # service bitcoind start

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½, Π½ΠΎ Π½ΠΈ трябва анонимност, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ искамС Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ с някои ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ВОР. И Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π² ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π½ΠΈ Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ с ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ софтуСр Π΄Π° работят само ΠΏΡ€Π΅Π· прокси. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° pf ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ NAT Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ IP адрСси Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° ΠΈ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ NAT само Π·Π° нашия TOR възСл. Π’Π°ΠΊΠ° Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ софтуСр ΠΏΠΎΠΏΠ°Π΄Π½Π΅ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°, ΠΏΠΎ-вСроятно Π΅ Π΄Π° Π½Π΅ сС ΡΠ²ΡŠΡ€ΠΆΠ΅ с външния свят, Π° Π°ΠΊΠΎ Ρ‚ΠΎΠ²Π° сС случи, Ρ‚ΠΎ няма Π΄Π° Ρ€Π°Π·ΠΊΡ€ΠΈΠ΅ IP адрСса Π½Π° нашия ΡΡŠΡ€Π²ΡŠΡ€. Π—Π°Ρ‚ΠΎΠ²Π° създавамС ΠΎΡ‰Π΅ Π΅Π΄Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π·Π° β€žΠΏΡ€ΠΎΠ±ΠΈΠ²β€œ Π½Π° услуги ΠΊΠ°Ρ‚ΠΎ β€ž.onionβ€œ-услуга ΠΈ Π·Π° прокси Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ.

# cbsd jsconstruct-tui

# cbsd jstart tor

# jexec tor

tor:/@[15:38] # pkg install tor

tor:/@[15:38] # sysrc tor_enable=YES

tor:/@[15:38] # ee /usr/local/etc/tor/torrc

НастройвамС Π΄Π° ΡΠ»ΡƒΡˆΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ адрСс (Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° всички ΠΊΠ»Π΅Ρ‚ΠΊΠΈ)

SOCKSPort 192.168.0.2:9050

Какво Π½ΠΈ липсва Π·Π° пълно щастиС? Π”Π°, Π½ΡƒΠΆΠ΅Π½ Π½ΠΈ Π΅ сСрвис Π·Π° нашия Π²Π΅Π±, ΠΌΠΎΠΆΠ΅ ΠΈ Π½Π΅ Π΅Π΄ΠΈΠ½. Π©Π΅ стартирамС nginx, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ изпълнява ролята Π½Π° reverse-proxy ΠΈ Ρ‰Π΅ сС Π³Ρ€ΠΈΠΆΠΈ Π·Π° ΡƒΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сСртификатитС Let’s Encrypt.

# cbsd jsconstruct-tui

# cbsd jstart nginx-rev

# jexec nginx-rev

nginx-rev:/@[15:47] # pkg install nginx py36-certbot

Π•Ρ‚ΠΎ ΠΈ 150 ΠœΠ‘ зависимости, ΠΊΠΎΠΈΡ‚ΠΎ помСстихмС Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°. А Ρ…ΠΎΡΡ‚ΡŠΡ‚ остава чист.

Π©Π΅ сС Π²ΡŠΡ€Π½Π΅ΠΌ към настройката Π½Π° nginx ΠΏΠΎ-късно, трябва Π΄Π° ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ΠΌ ΠΎΡ‰Π΅ Π΄Π²Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π·Π° нашия ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅Π½ шлюз Π½Π° nodejs ΠΈ rust ΠΈ ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎ някакви ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΅ Π½Π° apache ΠΈ php, Π° Π·Π° послСдното Π½ΠΈ трябва MySQL Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

# cbsd jsconstruct-tui

# cbsd jstart paygw

# jexec paygw

paygw:/@[15:55] # pkg install git node npm

paygw:/@[15:55] # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

… ΠΈ ΠΎΡ‰Π΅ 380 ΠœΠ‘ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½ΠΈ с git ΠΈ Ρ‰Π΅ Π³ΠΎ стартирамС.

# cbsd jsconstruct-tui

# cbsd jstart webapp

# jexec webapp

webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql

450 ΠœΠ‘ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°.

Π’ΡƒΠΊ Π΄Π°Π²Π°ΠΌΠ΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΏΠΎ SSH ΠΏΡ€Π°Π²ΠΎ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°, Ρ‚Π΅ сами Ρ‰Π΅ ΡΠ²ΡŠΡ€ΡˆΠ°Ρ‚ всичко:

webapp:/@[16:02] # ee /etc/ssh/sshd_config

Port 2267 β€” промСнямС ΠΏΠΎΡ€Ρ‚Π° Π½Π° SSH ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½

webapp:/@[16:02] # sysrc sshd_enable=YES

webapp:/@[16:02] # service sshd start

Π•Ρ‚ΠΎ, услугата Π΅ стартирана, остава Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² pf firewall

НСка Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ IP адрСси ΠΈΠΌΠ°Ρ‚ ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π°ΡˆΠ°Ρ‚Π° β€žΠ»ΠΎΠΊΠ°Π»ΠΊΠ°β€œ

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp

ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ

# ee /etc/pf.conf

## SSH for web-Devs
IP_JAIL="192.168.0.5"
PORT_JAIL="{ 2267 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

Π½Ρƒ ΠΈ Ρ€Π°Π· ΡƒΠΆ ΠΌΡ‹ Ρ‚ΡƒΡ‚, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π° Π½Π° reverse-proxy:

## web-ports for nginx-rev
IP_JAIL="192.168.0.3"
PORT_JAIL="{ 80, 443 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# pfctl -f /etc/pf.conf

А сСга ΠΌΠ°Π»ΠΊΠΎ Π·Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈΡ‚Π΅

Какво ΠΈΠΌΠ°ΠΌΠ΅ β€” ΠΈΠΌΠ°ΠΌΠ΅ ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ ΠΎΡ‚Π²ΡŠΠ½ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΎΠ±Ρ‰ΡƒΠ²Π° с нашия ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅Π½ шлюз. Π‘Π΅Π³Π° трябва Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π½Π° срСда Π·Π° взаимодСйствиС с ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ β€” Π½ΠΎΠ΄Π° bitcoind Ρ‚ΠΎΠ²Π° Π΅ просто Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½. Π’ΠΎΠ·ΠΈ Π΄Π΅ΠΌΠΎΠ½ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с RPC ΠΈ функционалност Π½Π° ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»Π°, Π½ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прилоТСния ΠΈΠΌΠ° ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΈ "ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ". ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° инсталирамС electrum β€” Ρ‚ΠΎΠ²Π° Π΅ CLI ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ». Π’ΠΎΠ·ΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ нас ΠΊΠ°Ρ‚ΠΎ "студСн склад" Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ β€” ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚Π΅Π·ΠΈ Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ трябва Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ "извън" систСмата, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈ наистина Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ всички. Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с GUI, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°
Π»Π°ΠΏΡ‚ΠΎΠΏΠΈΡ‚Π΅ Π½ΠΈ. Π—Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π»Π΅ΠΊΡ‚Ρ€ΡƒΠΌ с ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π° ΠΏΠΎ-късно Π² ΠΎΡ‰Π΅ Π΅Π΄Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° Ρ‰Π΅ стартирамС ElectrumX, Π·Π° Π΄Π° зависим напълно ΠΎΡ‚ Π½ΠΈΠΊΠΎΠ³ΠΎ.

# cbsd jsconstruct-tui

# cbsd jstart electrum

# jexec electrum

electrum:⁄@[8:45] # pkg install py36-electrum

ΠΎΡ‰Π΅ 700 ΠœΠ‘ софтуСр ΠΈΠΌΠ°ΠΌΠ΅ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°

electrum:⁄@[8:53] # adduser

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: wallet
Пълно имС: 
Uid (оставСтС ΠΏΡ€Π°Π·Π½ΠΎ Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅): 
Login group [wallet]: 
Login group Π΅ wallet. Π”Π° ΠΏΠΎΠΊΠ°Π½ΠΈΠΌ wallet Π² Π΄Ρ€ΡƒΠ³ΠΈ Π³Ρ€ΡƒΠΏΠΈ? []: 
Login class [default]: 
Π§Π΅Ρ€ΡƒΠΏΠΊΠ° (sh csh tcsh nologin) [sh]: tcsh
Π”ΠΎΠΌΠ°ΡˆΠ½Π° дирСктория [⁄home⁄wallet]: 
ΠŸΡ€Π°Π²Π° Π½Π° Π΄ΠΎΠΌΠ°ΡˆΠ½Π°Ρ‚Π° дирСктория (оставСтС ΠΏΡ€Π°Π·Π½ΠΎ Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅): 
Π”Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π»ΠΈ удостовСряванС с ΠΏΠ°Ρ€ΠΎΠ»Π°? [Π΄Π°]: Π½Π΅
Π”Π° сС Π±Π»ΠΎΠΊΠΈΡ€Π° Π»ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° слСд създаванС? [Π½Π΅]: 
ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: wallet
ΠŸΠ°Ρ€ΠΎΠ»Π°: <disabled>
Пълно имС: 
Uid: 1001
Клас: 
Π“Ρ€ΡƒΠΏΠΈ: wallet 
Π”ΠΎΠΌ: ⁄home⁄wallet
Π Π΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΎΠΌΠ°ΡˆΠ½Π°Ρ‚Π° дирСктория: 
Π§Π΅Ρ€ΡƒΠΏΠΊΠ°: ⁄bin⁄tcsh
Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½: Π½Π΅
Π”ΠΎΠ±Ρ€Π΅? (Π΄Π°/Π½Π΅): Π΄Π°
adduser: ИНЀО: УспСшно Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ (wallet) Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅.
Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π»ΠΈ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»? (Π΄Π°/Π½Π΅): Π½Π΅
Π”ΠΎΠ²ΠΈΠΆΠ΄Π°Π½Π΅!
electrum:⁄@[8:53] # su wallet

electrum:⁄@[8:53] # su wallet

wallet@electrum:⁄ % electrum-3.6 create

{
    "msg": "Моля, Π·Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ сСмСната си Π½Π° бСзопасно място; Π°ΠΊΠΎ Π³ΠΈ ΠΈΠ·Π³ΡƒΠ±ΠΈΡ‚Π΅, няма Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»Π° си.",
    "path": "⁄usr⁄home⁄wallet⁄.electrum⁄wallets⁄default_wallet",
    "seed": "jealous win pig material ribbon young punch visual okay cactus random bird"
}

Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ създадСн ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ».

wallet@electrum:⁄ % electrum-3.6 listaddresses

[
    "18WEhbjvMLGRMfwudzUrUd25U5C7uZYkzE",
    "14XHSejhxsZNDRtk4eFbqAX3L8rftzwQQU",
    "1KQXaN8RXiCN1ne9iYngUWAr6KJ6d4pPas",
    ...
    "1KeVcAwEYhk29qEyAfPwcBgF5mMMoy4qjw",
    "18VaUuSeBr6T2GwpSHYF3XyNgLyLCt1SWk"
]

wallet@electrum:⁄ % electrum-3.6 help

К нашия on-chain ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π° само ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΊΡ€ΡŠΠ³ Π»ΠΈΡ†Π°. Π—Π° Π΄Π° Π½Π΅ отварямС Π΄ΠΎΡΡ‚ΡŠΠΏ извън Ρ‚Π°Π·ΠΈ ΠΊΠ»Π΅Ρ‚ΠΊΠ°, ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° ΠΏΠΎ SSH Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Ρ‡Ρ€Π΅Π· ВОР (Ρ‚Π°ΠΊΡŠΠ² Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° VPN). Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° SSH, Π½ΠΎ Π½Π΅ докосвамС нашия pf.conf Π½Π° хоста.

electrum:⁄@[9:00] # sysrc sshd_enable=YES

electrum:⁄@[9:00] # service sshd start

Π‘Π΅Π³Π° Ρ‰Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° с ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»Π° ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π©Π΅ ΠΉ Π·Π°Π΄Π°Π΄Π΅ΠΌ IP адрСс ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎ подпространство, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ сС NAT-Π²Π°. ΠŸΡŠΡ€Π²ΠΎ Ρ‰Π΅ смСним /etc/pf.conf Π½Π° хоста

# ee /etc/pf.conf

JAIL_IP_POOL="192.168.0.0⁄24" смСнямС Π½Π° JAIL_IP_POOL="192.168.0.0⁄25", ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ всички адрСси 192.168.0.126-255 няма Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. НСщо ΠΊΠ°Ρ‚ΠΎ софтуСрСн β€žair-gapβ€œ ΠΌΡ€Π΅ΠΆΠ°. И ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ Π·Π° NAT остава ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ бСшС.

nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

ΠŸΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°

# pfctl -f /etc/pf.conf

Π‘Π΅Π³Π° сС Π·Π°Π΅ΠΌΠ°ΠΌΠ΅ с Π½Π°ΡˆΠ°Ρ‚Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°

# cbsd jconfig jname=electrum

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

jset mode=quiet jname=electrum ip4_addr="192.168.0.200"
ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° стария IP: /sbin/ifconfig em0 inet 192.168.0.6 -alias
Настройка Π½Π° новия IP: /sbin/ifconfig em0 inet 192.168.0.200 alias
ip4_addr: 192.168.0.200

Π₯ΠΌ, Π½ΠΎ сСга ΠΈ самата систСма Ρ‰Π΅ спрС Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ систСмСн прокси. Но ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ "Π½ΠΎ", Π½Π° TOR Π΅ SOCKS5 прокси, Π° Π·Π° удобство Π½ΠΈ трябва ΠΈ HTTP прокси.

# cbsd jsconstruct-tui

# cbsd jstart polipo

# jexec polipo

polipo:/@[9:28] # pkg install polipo

polipo:/@[9:28] # ee /usr/local/etc/polipo/config

socksParentProxy = "192.168.0.2:9050"
socksProxyType = socks5

polipo:/@[9:42] # sysrc polipo_enable=YES

polipo:/@[9:43] # service polipo start

Π•Ρ‚ΠΎ Π³ΠΎ, сСга Π² Π½Π°ΡˆΠ°Ρ‚Π° систСма ΠΈΠΌΠ° Π΄Π²Π° прокси ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΈ Π΄Π²Π°Ρ‚Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Ρ‡Ρ€Π΅Π· TOR: socks5://192.168.0.2:9050 ΠΈ http://192.168.0.6:8123

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° настроим срСдата Π½Π° нашия ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»

# jexec electrum

electrum:/@[9:45] # su wallet

wallet@electrum:/ % ee ~/cshrc

#in the end of file proxy config
setenv http_proxy http://192.168.0.6:8123
setenv https_proxy http://192.168.0.6:8123

Π•Ρ‚ΠΎ, сСга ΡˆΠ΅Π»ΡŠΡ‚ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ΄ прокси. Ако искамС Π΄Π° инсталирамС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π΅ Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² /usr/local/etc/pkg.conf ΠΎΡ‚ Ρ€ΡƒΡ‚ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π°

pkg_env: {
               http_proxy: "http://my_proxy_ip:8123",
           }

Π‘Π΅Π³Π° Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ TOR hidden service ΠΊΠ°Ρ‚ΠΎ адрСс Π½Π° нашия SSH сСрвиз Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»Π°.

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/electrum/
HiddenServicePort 22 192.168.0.200:22

tor:/@[10:01] # mkdir /var/db/tor/electrum

tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/electrum

tor:/@[10:01] # chmod 700 /var/db/tor/electrum

tor:/@[10:03] # service tor restart

tor:/@[10:04] # cat /var/db/tor/electrum/hostname

mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion

Π’ΠΎΠ²Π° Π΅ Π½Π°ΡˆΠΈΡΡ‚ адрСс Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅. НСка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»Π½Π° машина. Но ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ нашия SSH ΠΊΠ»ΡŽΡ‡:

wallet@electrum:/ % mkdir ~/.ssh

wallet@electrum:/ % ee ~/.ssh/authorized_keys

ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAG9Fk2Lqi4GQ8EXZrsH3EgSrVIQPQaAlS38MmJLBabihv9KHIDGXH7r018hxqLNNGbaJWO/wrWk7sG4T0yLHAbdQAFsMYof9kjoyuG56z0XZ8qaD/X/AjrhLMsIoBbUNj0AzxjKNlPJL4NbHsFwbmxGulKS0PdAD5oLcTQi/VnNdU7iFw== user@local

А с клиСнтската Linux машина

user@local ~$ nano ~/.ssh/config

#remote electrum wallet
Host remotebtc
        User wallet
        Port 22
        Hostname mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion
        ProxyCommand /bin/ncat --proxy localhost:9050 --proxy-type socks5 %h %p

Π‘Π²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ сС (Π—Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΠ²Π°, Π½ΡƒΠΆΠ΅Π½ Π΅ Π»ΠΎΠΊΠ°Π»Π΅Π½ TOR Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ ΡΠ»ΡƒΡˆΠ° Π½Π° 9050)

user@local ~$ ssh remotebtc

АвтСнтичността Π½Π° хоста 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion (<no hostip for proxy command>)' Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС установСна.
ECDSA ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡΡ‚ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΡŠΠΊ Π΅ SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Π‘ΠΈΠ³ΡƒΡ€Π½ΠΈ Π»ΠΈ стС, Ρ‡Π΅ искатС Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅ със ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ (Π΄Π°/Π½Π΅/[ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΡŠΠΊ])? Π΄Π°
ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½ 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) към списъка Π½Π° извСстни хостовС.
FreeBSD 12.1-RELEASE-p1 GENERIC 
Π—Π° Π΄Π° спСститС дисково пространство Π² Π΄ΠΎΠΌΠ°ΡˆΠ½Π°Ρ‚Π° си дирСктория, компрСсирайтС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ рядко ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ с "gzip filename".
        -- Dru <genesis@istar.ca>
wallet@electrum:~ % logout

УспСх!

Π—Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΈ ΠΈ ΠΌΠΈΠΊΡ€ΠΎ плащания Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΈ Π½ΠΎΠ΄Π° Lightning Network, Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС Π½Π°ΡˆΠΈΡΡ‚ основСн Ρ€Π°Π±ΠΎΡ‚Π΅Π½ инструмСнт с Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½. Π£ *c-lightning, ΠΊΠΎΠΉΡ‚ΠΎ смятамС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ Π΄Π΅ΠΌΠΎΠ½, ΠΈΠΌΠ° плъгин Sparko, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ напълно Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Ρ‰ HTTP (REST) интСрфСйс ΠΈ позволява Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°ΠΊΡ‚ΠΎ с off-chain Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ с on-chain Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. c-lightning Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ Π½ΡƒΠΆΠ½Π° bitcoind Π½ΠΎΠ΄.

*ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ЯП Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Lightning Network. ΠžΡ‚ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ тСствахмС, c-lightning (написан Π½Π° C) сС ΠΎΠΊΠ°Π·Π° Π½Π°ΠΉ-стабилСн ΠΈ рСсурсно Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½.

# cbsd jsconstruct-tui

# cbsd jstart cln

# jexec cln

lightning: /@[10:23] # adduser

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅: lightning
...

lightning: /@[10:24] # pkg install git

lightning: /@[10:23] # su lightning

cd ~ && git clone https://github.com/ElementsProject/lightning

lightning@lightning:~ % exit

lightning: /@[10:30] # cd /home/lightning/lightning/

lightning: /home/lightning/lightning@[10:31] # pkg install autoconf automake gettext git gmp gmake libtool python python3 sqlite3 libsodium py36-mako bash bitcoin-utils

lightning: /home/lightning/lightning@[10:34] # ./configure && gmake && gmake install

Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΈ инсталирамС всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‰Π΅ създадСм RPC ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π·Π° lightningd Π² bitcoind

# jexec bitcoind

bitcoind: /@[10:36] # ee /usr/local/etc/bitcoin.conf

rpcbind=192.168.0.1
rpcuser=test
rpcpassword=test
# Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ само c-lightning
rpcallowip=192.168.0.7/32

bitcoind: /@[10:39] # service bitcoind restart

ΠœΠΎΠ΅Ρ‚ΠΎ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ Π½Π΅ сС ΠΎΠΊΠ°Π·Π²Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ, Π°ΠΊΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° tmux, която позволява Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° сСсия Π΄Π° създавамС мноТСство ΠΏΠΎΠ΄-сСсии Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΈ. Аналог: screen

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π’Π°ΠΊΠ° Ρ‡Π΅, Π½Π΅ искамС Π΄Π° Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°ΠΌΠ΅ рСалния IP адрСс Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π½ΠΎΠ΄Π° ΠΈ искамС Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ всички финансови ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Ρ€Π΅Π· ВОР. Π—Π°Ρ‚ΠΎΠ²Π° Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ .onion.

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/cln/
HiddenServicePort 9735 192.168.0.7:9735

tor: /@[10:01] # mkdir /var/db/tor/cln

tor: /@[10:01] # chown -R _tor:_tor /var/db/tor/cln

tor: /@[10:01] # chmod 700 /var/db/tor/cln

tor:/@[10:03] # service tor restart

tor: /@[10:04] # cat /var/db/tor/cln/hostname

en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion

сСга Ρ‰Π΅ създадСм конфигурация Π·Π° c-lightning

lightning: /home/lightning/lightning@[10:31] # su lightning

lightning@lightning:~ % mkdir .lightning

lightning@lightning:~ % ee .lightning/config

alias=My-LN-Node
bind-addr=192.168.0.7:9735
rgb=ff0000
announce-addr=en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion:9735
network=bitcoin
log-level=info
fee-base=0
fee-per-satoshi=1
proxy=192.168.0.2:9050
log-file=/home/lightning/.lightning/c-lightning.log
min-capacity-sat=200000

# sparko плъгин
# https://github.com/fiatjaf/lightningd-gjson-rpc/tree/master/cmd/sparko

sparko-host=192.168.0.7
sparko-port=9737

sparko-tls-path=sparko-tls

#sparko-login=mywalletusername:mywalletpassword

#sparko-keys=masterkey;secretread:+listchannels,+listnodes;secretwrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
sparko-keys=masterkey;secretread:+listchannels,+listnodes;ultrawrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
# Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Π»ΠΎΠ³Π° (смСсСни с Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° lightningd) трябва Π΄Π° ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ

lightning@lightning:~ % mkdir .lightning/plugins

lightning@lightning:~ % cd .lightning/plugins/

lightning@lightning:~/.lightning/plugins:% fetch https://github.com/fiatjaf/sparko/releases/download/v0.2.1/sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mkdir ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % cd ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % openssl genrsa -out key.pem 2048

lightning@lightning:~/.lightning/sparko-tls % openssl req -new -x509 -sha256 -key key.pem -out cert.pem -days 3650

lightning@lightning:~/.lightning/plugins % chmod +x sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mv sparko_full_freebsd_amd64 sparko

lightning@lightning:~/.lightning/plugins % cd ~

Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для bitcoin-cli, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, которая взаимодСйствуСт с bitcoind

lightning@lightning:~ % mkdir .bitcoin

lightning@lightning:~ % ee .bitcoin/bitcoin.conf

rpcconnect=192.168.0.1
rpcuser=test
rpcpassword=test

провСряСм

lightning@lightning:~ % bitcoin-cli echo "test"

[
  "test"
]

стартируСмС lightningd

lightning@lightning:~ % lightningd --daemon

Бамият lightningd ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ lightning-cli, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

lightning-cli newaddr ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс для Π½ΠΎΠ²ΠΎΠ³ΠΎ входящСго ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ°

{
   "address": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv",
   "bech32": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv"
}

lightning-cli withdraw bc1jufcxahfrnfhruwjgx3cq2n2ffq3lplhme878pv all ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° адрСс всС дСньги кошСлька (всСх ΠΎΠ½-Ρ‡Π΅ΠΉΠ½ адрСсов)

Π’Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для off-chain ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ lightning-cli invoice, lightning-cli listinvoices, lightning-cli pay ΠΈ Π΄Ρ€.

А для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ REST Api

curl -k https://192.168.0.7:9737/rpc -d '{"method": "pay", "params": ["lnbc..."]}' -H 'X-Access masterkey'

НСка ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp
     7  192.168.0.200   electrum.space.com            /zroot/jails/jails/electrum
     8  192.168.0.6     polipo.space.com              /zroot/jails/jails/polipo
     9  192.168.0.7     lightning.space.com           /zroot/jails/jails/cln

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π£ нас имССтся Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ со своим ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ доступа ΠΊΠ°ΠΊ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ.

# zfs list

NAME                    USED  AVAIL  REFER  MOUNTPOINT
zroot                   279G  1.48T    88K  /zroot
zroot/ROOT             1.89G  1.48T    88K  none
zroot/ROOT/default     1.89G  17.6G  1.89G  
zroot/home               88K  1.48T    88K  /home
zroot/jails             277G  1.48T   404M  /zroot/jails
zroot/jails/bitcoind    190G  1.48T   190G  /zroot/jails/jails-data/bitcoind-data
zroot/jails/cln         653M  1.48T   653M  /zroot/jails/jails-data/cln-data
zroot/jails/electrum    703M  1.48T   703M  /zroot/jails/jails-data/electrum-data
zroot/jails/nginx-rev   190M  1.48T   190M  /zroot/jails/jails-data/nginx-rev-data
zroot/jails/paygw      82.4G  1.48T  82.4G  /zroot/jails/jails-data/paygw-data
zroot/jails/polipo     57.6M  1.48T  57.6M  /zroot/jails/jails-data/polipo-data
zroot/jails/tor        81.5M  1.48T  81.5M  /zroot/jails/jails-data/tor-data
zroot/jails/webapp      360M  1.48T   360M  /zroot/jails/jails-data/webapp-data

Как Π²ΠΈΠ΄Π½ΠΎ, bitcoind Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всС 190 Π“Π‘ пространства. А Ρ‡Ρ‚ΠΎ Ссли Π½Π°ΠΌ понадобится Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Π½ΠΎΠ΄Π° для тСстов? Π’ΡƒΡ‚ ZFS ΠΊΠ°ΠΊ Π½ΠΈΠΊΠ°ΠΊ кстати. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ snapshots ΠΈ Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ Π½ΠΎΠ²Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° с Ρ‚ΠΎΠ·ΠΈ snapshot. Новата ΠΊΠ»Π΅Ρ‚ΠΊΠ° Ρ‰Π΅ ΠΈΠΌΠ° напълно собствСно пространство, Π½ΠΎ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Ρ‰Π΅ сС ΠΎΡ‚Ρ‡ΠΈΡ‚Π° само Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° (Ρ‰Π΅ спСстим ΠΏΠΎΠ½Π΅ 190 GB).

Всяка ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π΅ свой собствСн ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ZFS ΠΈ Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ZFS ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° позволява Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ интСрСсни Π½Π΅Ρ‰Π°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° snapshots ΠΏΠΎ SSH. Няма Π΄Π° Π³ΠΎ описвамС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π²Π΅Ρ‡Π΅ Π΅ доста.

Π’Π°ΠΆΠ½ΠΎ Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ нСобходимостта ΠΎΡ‚ дистанционно наблюдСниС Π½Π° хоста, Π·Π° ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Zabbix.

Π‘ β€” бСзопасност

Π©ΠΎ сС отнася Π΄ΠΎ бСзопасността, Π½Π΅ΠΊΠ° Π΄Π° ΠΈΠ·Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚ основнитС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ Π² контСкста Π½Π° инфраструктурата:

ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎΡΡ‚ β€” Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΈΡ‚Π΅ инструмСнти Π½Π° UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ систСми осигуряват ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. ЛогичСски раздСлямС Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ всСки логичСски ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π° систСмата β€” ΠΊΠ»Π΅Ρ‚ΠΊΠ°. Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· стандартна потрСбитСлска аутСнтификация с Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅. Цялата комуникация ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈ Π΄ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΈΡ‚Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ Π²ΠΈΠ΄. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° дисковСтС, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π΅ сС притСснявамС Π·Π° сигурността Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ смяна Π½Π° диск ΠΈΠ»ΠΈ миграция Π½Π° Π΄Ρ€ΡƒΠ³ ΡΡŠΡ€Π²ΡŠΡ€. ЕдинствСният ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ хост-систСмата, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°ΠΊΡŠΠ² Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ осигурява Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ β€” Π˜Π·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ става Π½Π° няколко Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½ΠΈΠ²Π°. ΠŸΡŠΡ€Π²ΠΎ, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π² случая с сСрвСрно ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, ECC ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ZFS Π²Π΅Ρ‡Π΅ "извън Ρ€Π°Π·ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°" сС Π³Ρ€ΠΈΠΆΠΈ Π·Π° цСлостта Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π±ΠΈΡ‚ΠΎΠ²Π΅ информация. МгновСн snapshots позволява Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΠΎ всяко Π²Ρ€Π΅ΠΌΠ΅, Π½Π° Π»Π΅Ρ‚ΠΈΡ‰Π°. Π£Π΄ΠΎΠ±Π½ΠΈΡ‚Π΅ инструмСнти Π·Π° СкспортиранС ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ правят Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ просто.

Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ β€” Π’ΡƒΠΊ всичко Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ. Зависимостта Π΅ ΠΎΡ‚ стСпСнта Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° извСстност ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²Ρ€Π°Π³ΠΎΠ²Π΅. Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ осигурихмС Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»Π° СдинствСно ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π° TOR. ΠŸΡ€ΠΈ нСобходимост ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°ΠΌΠ΅ всичко Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π½Π°Ρ‚Π° стСна ΠΈ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌ Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π° СдинствСно ΠΏΡ€Π΅Π· Ρ‚ΡƒΠ½Π΅Π»ΠΈ (TOR ΠΈΠ»ΠΈ VPN Π΅ Π΄Ρ€ΡƒΠ³ Π²ΡŠΠΏΡ€ΠΎΡ). Π’Π°ΠΊΠ° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Ρ‰Π΅ бъдС отрязан ΠΎΡ‚ външния свят ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ възмоТно, Π° влияниСто Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΊΠ°ΠΆΠ΅ΠΌ само Π½ΠΈΠ΅.

ΠΠ΅Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΎΡ‚ΠΊΠ°Π· β€” Π’ΠΎΠ²Π° зависи ΠΎΡ‚ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½Π°Ρ‚Π° Сксплоатация ΠΈ спазванСто Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π·Π° потрСбитСлски ΠΏΡ€Π°Π²Π°, Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΈ Ρ‚.Π½. Но ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, всички дСйствия Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ сС ΠΎΠ΄ΠΈΡ‚ΠΈΡ€Π°Ρ‚, Π° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° криптографскитС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ възмоТно нСдвусмислСно Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° ΠΊΠΎΠΉ ΠΈ ΠΊΠΎΠ³Π° Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π» ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ дСйствия.

Π Π°Π·Π±ΠΈΡ€Π° сС, описаната конфигурация Π½Π΅ Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ трябва Π΄Π° бъдС Π²ΠΈΠ½Π°Π³ΠΈ, Π° ΠΏΠΎ-скоро Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ гъвкави Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° скалиранС ΠΈ кастомизация.

А ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π° ΠΏΡŠΠ»Π½Π°Ρ‚Π° виртуализация?

Π—Π° ΠΏΡŠΠ»Π½Π°Ρ‚Π° виртуализация с инструмСнти cbsd ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‰Π΅ добавя, Ρ‡Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° bhyve трябва Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ някои ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ядрото.

# cat /etc/rc.conf

...
kld_list="vmm if_tap if_bridge nmdm"
...

# cat /boot/loader.conf

...
vmm_load="YES"
...

Π’Π°ΠΊΠ° Ρ‡Π΅, Π°ΠΊΠΎ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° стартиратС Docker, просто Π²Π΄ΠΈΠ³Π½Π΅Ρ‚Π΅ някакъв Debian ΠΈ Π½Π°ΠΏΡ€Π΅Π΄!

Π‘ΠΈΡ‚ΠΊΠΎΠΉΠ½ Π² ΠΊΠ»Π΅Ρ‚ΠΊΠ°?

Π•Ρ‚ΠΎ ΠΈ всичко.

ВСроятно Ρ‚ΠΎΠ²Π° Π΅ всичко, с ΠΊΠΎΠ΅Ρ‚ΠΎ исках Π΄Π° сподСля. Ако статията Π²ΠΈ Π΅ харСсала, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΌΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ β€” bc1qu7lhf45xw83ddll5mnzte6ahju8ktkeu6qhttc. Ако искатС Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ ΠΊΠ»Π΅Ρ‚ΠΊΠΈΡ‚Π΅ Π² дСйствиС ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посСтитС моя pet-project.

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

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