VPN услуга је доступна са сваког места на коме је њен сокет повезан и на коме њен заштитни зид дозвољава. То су две одвојене одлуке, а људи обично донесу само једну од њих. Читање стварног слушаоца траје десет секунди и решава питање које нагађање не може. Почните ту, а затим мењајте једну контролу по једну.

Све испод претпоставља да можете да извршавате команде на хосту са root или sudo.

Прочитајте сокете пре него што било шта промените

На Linux-у ss -lunp приказује UDP слушаоце са њиховом локалном адресом, портом и процесом, а ss -ltnp чини исто за TCP. Пронађите VPN порт и пажљиво прочитајте колону адресе. 0.0.0.0:51820 и [::]:51820 значе сваки интерфејс, док 10.0.0.5:51820 значи једну адресу на једном интерфејсу. ss приручник документује колоне ако вам је излаз непознат. Ако недостаје назив процеса, покрените исту команду са sudo, јер колона власника захтева привилегију.

Запишите адресу. То је чињеница од које зависи остатак овог приручника.

Вежите се за адресу, а не за жељу

OpenVPN својом директивом local везује слушаоца за одређену адресу, и то је подржани начин да га ограничите на нивоу процеса. Није свака имплементација понуда еквивалент, а протокол без опције везивања не може се сузити на овај начин. Ако ваша нема ниједну, заштитни зид је ваша једина контрола, и напомене о постављању то треба јасно да кажу. На хосту са више адреса вежите се за ону која гледа у тунел; везивање за адресу која лебди обично је грешка.

Услуга која мора да преживи промену адресе треба план за застарело везивање, а не само конфигурацијску линију.

Проверите породицу адреса одвојено

IPv4 и IPv6 су одвојени сокети. Процес везан за 0.0.0.0 још увек може прихватати IPv6 кроз dual-stack сокет, или не мора, зависно од опције сокета и подразумеваног понашања платформе. Читање само IPv4 линије насамарило је више од једне ревизије постављања. Наведите обе породице пре него што закључите да је слушалац узак.

Ако IPv6 није део дизајна, искључивање на нивоу сокета је чистије од наде да ће га заштитни зид покрити. То је одлука о политици, па је запишите уз остале изборе интерфејса.

Наслојите заштитни зид поврх везивања

Уско везивање не замењује правило заштитног зида, а правило заштитног зида не сужава wildcard везивање. Користите обоје: вежите се тамо где имплементација то подржава, а затим дозволите порт само са извора који би до њега требали доћи. Cloud безбедносне групе стоје испред заштитног зида хоста, па проверите обоје када пут прелази границу VPC-а. Ефективно правило је пресек двају, и сваки слој може само да одузме доступност.

Тестирајте са дозвољеног извора и са намерно искљученог. Веза са localhost-а не доказује ништа о јавној граници.

Запишите шта сте одабрали

Запишите везану адресу, интерфејс који је поседује, правило заштитног зида и његову сврху. Заменски NIC или додељена cloud адреса могу променити изложеност без икаквог уређивања профила. Датирајте напомену, јер се cloud адресе крећу између прегледа чешће него што људи очекују.

Та напомена чини следећи преглед поређењем уместо археолошког пројекта.

Повезани чланци