Два потока от пакети пресичат шлюз на Shorewall, който терминира OpenVPN, и само единият от тях е шифрован. Първият е транспортът на клиента до слушателя на VPN на интерфейса, обърнат към интернет. Вторият е дешифрираната заявка, която излиза от тунелния интерфейс към офис сървър или услуга на шлюза. Начертайте и двата преди да редактирате политиката, защото правило, което удовлетворява първия, не прави нищо за втория.

Начертайте двата потока преди да редактирате политиката

Запишете потоците като редове с източник, дестинация, протокол и порт. По външния път източникът е публичният адрес на клиента, а дестинацията е портът на слушателя на шлюза; Shorewall третира това като трафик от интернет към защитната стена. По вътрешния път източникът е диапазонът от адреси на тунела, а дестинацията е одобрената услуга. Двата реда имат различни собственици, дори когато един администратор поддържа и двата.

FlowZone relationshipWhat to constrain
Encrypted OpenVPN transportInternet to the firewall hostThe listener's actual protocol and port
Decrypted request to a LAN serviceVPN clients to the LAN zoneOne approved server and service
Decrypted request to the gatewayVPN clients to the firewall hostOnly the local services required
Request to another VPN clientVPN clients to VPN clientsDenied 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 доказва само външния обмен; разрешената услуга и отказаният ресурс доказват вътрешната политика, която сте имали предвид. След това свържете клиента отново и повторете, защото името и адресът на тунелния интерфейс могат да се променят между сесиите. Ако резултатът се различава, поправете обхвата на зоната, вместо да разширявате правилото.

Подобни статии