OpenVPN-ийн хоёр багцын замд зориулсан Shorewall бүсүүд
Шифрлэгдсэн OpenVPN тээврийг тайлагдсан клиентийн урсгалаас тусгаарлаж, туннельд өөрийн бүсийг өгч, клиентэд хэрэгтэй ганц үйлчилгээг л зөвшөөрнө үү.
Хоёр багцын урсгал OpenVPN-г дуусгадаг Shorewall гарцаар дамждаг бөгөөд зөвхөн нэг нь шифрлэгдсэн байна. Эхнийх нь интернэт рүү харсан интерфейс дээрх VPN сонсогч руу клиентийн тээвэр юм. Хоёр дахь нь туннелийн интерфейсээс гарч буй тайлагдсан хүсэлт бөгөөд оффисын сервер эсвэл гарц дээрх үйлчилгээ рүү явна. Бодлогыг засахын өмнө хоёуланг нь зур, учир нь эхнийхийг хангах дүрэм хоёр дахьд юу ч хийдэггүй.
Бодлогыг засахын өмнө хоёр урсгалыг зур
Урсгалуудыг эх сурвалж, очих газар, протокол, порттой мөрүүд болгон бич. Гадаад замд эх сурвалж нь клиентийн нийтийн хаяг, очих газар нь гарцын сонсох порт; Shorewall үүнийг интернэтээс галт хана руу чиглэсэн урсгал гэж үздэг. Дотоод замд эх сурвалж нь туннелийн хаягийн хүрээ, очих газар нь зөвшөөрөгдсөн үйлчилгээ. Нэг администратор хоёуланг нь хариуцсан ч хоёр мөрийн эзэд өөр.
| Flow | Zone relationship | What to constrain |
|---|---|---|
| Encrypted OpenVPN transport | Internet to the firewall host | The listener's actual protocol and port |
| Decrypted request to a LAN service | VPN clients to the LAN zone | One approved server and service |
| Decrypted request to the gateway | VPN clients to the firewall host | Only the local services required |
| Request to another VPN client | VPN clients to VPN clients | Denied unless deliberately required |
Хүсэлт гарц дээр өөрөө дуусах үед л мөр нэм, жишээ нь шийдэгч эсвэл удирдлагын хандалт. Хост дээрх үйлчилгээ нь дамжуулсан замыг биш, хостийн оролтын бодлогыг дагана. Энэ хоёрыг холих нь нарийн туннелийн дүрэм удирдлагын интерфейсийг ил гаргах шалтгаан юм.
Туннелийн бүс ба интерфейсийн хүрээг томил
Аялагчийн бүсийг /etc/shorewall/zones файлд зарлаж, туннелийн интерфейсийг /etc/shorewall/interfaces файлд холбож, гадаад холболтыг /etc/shorewall/tunnels файлд тодорхойлно. Суулгасан хувилбарын синтаксст тохир, учир нь баганын дараалал, сонголтын нэр гол хувилбаруудын хооронд өөрчлөгдсөн. Гарын авлагын жишээ порт нь демон бодитоор сонсдог портоос өөр порт зөвшөөрөх үндэслэл биш. Тоонууд таарч байгаа учраас л TCP ба UDP-г сольж болохгүй.
Гарын авлага интерфейсүүдийг tun+-аар бүлэглэдэг. Нэгээс олон туннель бүхий хост дээр энэ тэмдэгт өөр итгэлийн түвшний хоёр дахь VPN-г ижил бүсэд байрлуулж болно. Хүрээг бодитоор байгаа интерфейстэй харьцуулж хянаж, интерфейсийн нэрийг гараар засахын оронд нэрлэлтийг холболтын менежерийн амьдралын мөчлөгт байлга.
Түүхэн гарын авлагад хамаагүй хуучин OpenVPN тохиргооны жишээнүүд байдаг бөгөөд түүний шифрлэлтийн зөвлөгөөг одоогийн байршуулалтад хуулж болохгүй. Оронд нь бүс ба урсгалын загварыг зээл. Шифрлэлтийн суурийг гарцын хадгалагддаг OpenVPN бодлогоос ав.
Зөвхөн өөрийн ангилсан замыг зөвшөөр
VPN бүсээс LAN руу өргөн зөвшөөрөл нь эхлэлийн схем бөгөөд дууссан бодлого биш. Зөвшөөрөгдсөн клиентийн эх сурвалж, үйлчилгээний бодит хаяг, протокол, портыг бич. Дараа нь түүний дээрх дүрмүүд болон бүсийн өгөгдмөл утгыг унш, учир нь нарийн нэмэлт аль хэдийн тохирч буй өргөн зөвшөөрлийг цуцалдаггүй. Гарцын хост руу чиглэсэн урсгал түүгээр дамжин өнгөрөх урсгалаас тусдаа харилцаа.
Клиент хоорондын урсгал өөрийн шийдвэрийг шаарддаг. OpenVPN-ийн client-to-client ба Shorewall-ийн routeback хоёулаа клиентүүд бие биедээ хүрч чадах эсэхэд нөлөөлдөг бөгөөд нэг LAN програмыг ажиллуулахын тулд аль нэгийг нь ч идэвхжүүлж болохгүй. Туршихаас өмнө тусгаарлалт хаана хэрэгжихийг шийд.
Хариултын замыг ижил төлөвлөгөөнд байлга. Үйлчилгээ эсвэл түүний чиглүүлэгч урсгалыг туннелийн хүрээ рүү хэрхэн буцаахыг мэдэх ёстой, эсвэл загвар нь эх сурвалжийг санаатайгаар, төлөвлөсөн хүрээнд хөрвүүлэх ёстой.
Баталгаажуул, дараа нь хоёр замыг нотол
Ямар нэг зүйлийг дахин эхлүүлэхийн өмнө тохиргоог баталгаажуулж, шинэ бодлого буруу байх тохиолдолд бие даасан административ сессийг нээлттэй үлдээ.
shorewall check
Цэвэр шалгалтын дараа тохиргоог хэрэглэж, Shorewall юу ачаалсныг дахин унш. Эдгээр уншилт нь файл хэлж байгаа мэт харагдахыг биш, ажиллаж буй бодлогыг дүрсэлдэг.
shorewall show zones
ip route get 192.168.10.20
Нэг клиентээс шинээр зөвшөөрөгдсөн нэг хүсэлт, санаатайгаар татгалзсан нэг хүсэлтийг турш. Амжилттай OpenVPN гар барилт нь зөвхөн гадаад солилцоог нотолно; зөвшөөрөгдсөн үйлчилгээ, татгалзсан нөөц нь таны зорьсон дотоод бодлогыг нотолно. Дараа нь клиентийг дахин холбож давт, учир нь туннелийн интерфейсийн нэр, хаяг сессийн хооронд өөрчлөгдөж болно. Үр дүн өөр бол дүрмийг өргөтгөхийн оронд бүсийн хүрээг зас.