Shorewall зоне за две путање OpenVPN пакета
Одвојте шифровани OpenVPN транспорт од дешифрованог клијентског саобраћаја, дајте тунелу сопствену зону и дозволите само ону једну услугу која је клијенту потребна.
Два тока пакета пролазе кроз Shorewall пролаз који завршава OpenVPN, и само један од њих је шифрован. Први је транспорт клијента до 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-у је почетна скица, а не готова политика. Запишите дозвољени извор клијента, стварну адресу услуге, протокол и порт. Затим прочитајте правила изнад њега и подразумевану вредност зоне, јер уски додатак не поништава широко дозвољење које се већ поклапа. Саобраћај ка домаћину пролаза је одвојен однос од саобраћаја који се прослеђује кроз њега.
Саобраћај између клијената захтева сопствену одлуку. client-to-client у OpenVPN-у и routeback у Shorewall-у оба утичу на то да ли клијенти могу да достигну једни друге, и ниједно не треба укључити само да би једна LAN апликација радила. Одлучите где се изолација спроводи пре него што је тестирате.
Држите путању одговора у истом плану. Услуга или њен рутер мора да зна како да врати саобраћај у опсег тунела, или пројекат мора намерно да преведе извор и то у оквиру предвиђеног обухвата.
Проверите, затим докажите обе путање
Проверите конфигурацију пре него што било шта поново покренете и држите отворену независну административну сесију у случају да је нова политика погрешна.
shorewall check
После чисте провере примените конфигурацију и прочитајте шта је Shorewall учитао. Ова читања описују политику која ради, а не оно што изгледа да датотека каже.
shorewall show zones
ip route get 192.168.10.20
Тестирајте један нови дозвољени захтев и један намерно одбијени захтев од истог клијента. Успешно руковање OpenVPN-а доказује само спољашњу размену; дозвољена услуга и одбијени ресурс доказују унутрашњу политику коју сте намеравали. Затим поново повежите клијента и поновите, јер име и адреса тунелског интерфејса могу да се промене између сесија. Ако се резултат разликује, поправите обухват зоне уместо да проширите правило.