Mga Shorewall zone para sa dalawang landas ng packet ng OpenVPN
Ihiwalay ang naka-encrypt na transport ng OpenVPN mula sa na-decrypt na trapiko ng kliyente, bigyan ang tunnel ng sariling zone, at payagan lamang ang nag-iisang serbisyo na kailangan ng kliyente.
Dalawang daloy ng packet ang tumatawid sa isang Shorewall gateway na nagtatapos ng OpenVPN, at isa lamang sa kanila ang naka-encrypt. Ang una ay ang transport ng kliyente patungo sa VPN listener sa interface na nakaharap sa internet. Ang pangalawa ay ang na-decrypt na kahilingan na lumalabas sa interface ng tunnel patungo sa isang office server o serbisyo sa gateway. Iguhit ang dalawa bago i-edit ang patakaran, dahil ang tuntuning umaayon sa una ay walang ginagawa para sa pangalawa.
Iguhit ang dalawang daloy bago i-edit ang patakaran
Isulat ang mga daloy bilang mga hilera na may source, destinasyon, protocol at port. Sa panlabas na landas, ang source ay ang pampublikong address ng kliyente at ang destinasyon ay ang listening port ng gateway; itinuturing ito ng Shorewall na trapiko mula sa internet patungo sa firewall. Sa panloob na landas, ang source ay ang hanay ng address ng tunnel at ang destinasyon ay ang aprubadong serbisyo. Magkaiba ang may-ari ng dalawang hilera kahit isang administrador ang nagpapanatili sa dalawa.
| 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 |
Magdagdag ng hilera lamang kung nagtatapos ang kahilingan sa gateway mismo, tulad ng pag-access sa resolver o administrasyon. Ang serbisyo sa host ay sumusunod sa patakaran ng input ng host, hindi sa ipinasa na landas. Ang paghahalo ng dalawa ang dahilan kung bakit ang makitid na tuntunin ng tunnel ay naglalantad ng isang administration interface.
Itakda ang zone ng tunnel at saklaw ng interface
Ang zone ng manlalakbay ay idineklara sa /etc/shorewall/zones, ang interface ng tunnel ay ikinakabit sa /etc/shorewall/interfaces, at ang panlabas na koneksyon ay inilalarawan sa /etc/shorewall/tunnels. Umbagin sa syntax ng naka-install na release, dahil nagbago ang ayos ng column at mga pangalan ng option sa pagitan ng mga major version. Ang halimbawang port sa gabay ay hindi dahilan upang payagan ang ibang port kaysa sa aktwal na pinakikinggan ng daemon. Ang TCP at UDP ay hindi mapagpapalit dahil lang magkatugma ang mga numero.
Ginugrupo ng gabay ang mga interface gamit ang tun+. Sa isang host na may higit sa isang tunnel, maaaring ilagay ng wildcard na iyon ang pangalawang VPN na may ibang antas ng pagtitiwala sa parehong zone. Suriin ang saklaw laban sa mga interface na aktwal na umiiral, at panatilihin ang pagpapangalan sa ilalim ng lifecycle ng connection manager sa halip na i-edit ang mga pangalan ng interface nang manu-mano.
Ang makasaysayang gabay ay naglalaman ng mas lumang mga halimbawa ng configuration ng OpenVPN, at ang payo nito sa cryptography ay hindi dapat kopyahin sa kasalukuyang deployment. Hiramin sa halip ang modelo ng zone at daloy. Kunin ang cryptographic na batayan mula sa pinapanatiling patakaran ng OpenVPN ng gateway.
Payagan lamang ang landas na iyong inuri
Ang malawak na pagtanggap mula sa zone ng VPN patungo sa LAN ay panimulang sketch, hindi tapos na patakaran. Isulat ang pinapayagang source ng kliyente, ang aktwal na address ng serbisyo, ang protocol at port. Pagkatapos basahin ang mga tuntunin sa itaas nito at ang default ng zone, dahil ang makitid na dagdag ay hindi nagkakansela ng malawak na permit na tumutugma na. Ang trapiko patungo sa host ng gateway ay hiwalay na relasyon mula sa trapikong ipinapasa sa pamamagitan nito.
Ang trapiko sa pagitan ng mga kliyente ay nangangailangan ng sariling desisyon. Ang client-to-client ng OpenVPN at ang routeback ng Shorewall ay parehong nakakaapekto kung maaaring maabot ng mga kliyente ang isa’t isa, at wala sa kanila ang dapat i-enable para lamang gumana ang isang aplikasyon sa LAN. Magpasya kung saan ipinapatupad ang paghihiwalay bago mo ito subukan.
Panatilihin ang landas ng sagot sa parehong plano. Dapat malaman ng serbisyo o ng router nito kung paano ibabalik ang trapiko sa hanay ng tunnel, o dapat sadyang isalin ng disenyo ang source at sa loob ng inilaan na saklaw.
I-validate, pagkatapos patunayan ang dalawang landas
I-validate ang configuration bago i-restart ang anuman, at panatilihing bukas ang isang independiyenteng administrative session kung sakaling mali ang bagong patakaran.
shorewall check
Pagkatapos ng malinis na pagsusuri, ilapat ang configuration at basahin muli ang nilo-load ng Shorewall. Inilalarawan ng mga pagbabasang ito ang tumatakbong patakaran at hindi ang mukhang sinasabi ng isang file.
shorewall show zones
ip route get 192.168.10.20
Subukan ang isang bagong pinapayagang kahilingan at isang sadyang tinanggihang kahilingan mula sa parehong kliyente. Ang matagumpay na handshake ng OpenVPN ay nagpapatunay lamang ng panlabas na palitan; ang pinapayagang serbisyo at ang tinanggihang resource ang nagpapatunay ng panloob na patakarang nilalayon mo. Pagkatapos ay muling ikonekta ang kliyente at ulitin, dahil maaaring magbago ang pangalan at address ng interface ng tunnel sa pagitan ng mga session. Kung magkaiba ang resulta, itama ang saklaw ng zone sa halip na palawakin ang tuntunin.