VPN'ден VLAN'га кирүү: адегенде матрицаны, анан эрежелерди түзүңүз
Бир тарапта ролдор, экинчи тарапта кызматтар. Беш текшерүү VPN'ден VLAN'га кирүүнүн бүдөмүк долбоорун брандмауэр ээси ишке ашыра ала турган таблицага айландырат.
Брандмауэр синтаксисинен эмес, матрицадан баштаңыз. Бир тарапта ролдор, экинчи тарапта кызматтар бар таблицаны колдонмо ээси карап чыга алат, коопсуздук ээси талкуулай алат, ал эми шлюзду кармаган адам ишке ашыра алат. Бул кароо эч ким макулдашпаган эрежелерди оңдоодон арзаныраак.
Аны жазууга кеткен бир саат кийин бир жумалык эрежелер археологиясын үнөмдөйт. Долбоор ким кайсы кызматка жетээрин айтат, ал эми кайра номерлөөдөн кийин ошол бөлүк калат.
1-кадам: ролдорду тармактардан мурун атаңыз
Адамдардан баштаңыз, коммутатордон эмес. Алыстан туташкан ар бир топту жана ошол топ эмне кылаарын сүрөттөгөн бир сүйлөмдү жазыңыз, мисалы кампадагылардын деңгээлин окуган кампа кызматкерлери же бир интеграцияны тейлеген мердигер. Эгер эки топ бирдей кирүү алса, бул максат үчүн алар бир роль.
Эгер роль уюштуруу схемасына байланыштуу гана болсо, ушул жерден токтоңуз. Өзүнүн өзгөчө кызмат муктаждыгы жок роль бирдей уячалардын катарына айланат, ал эми бирдей катарлар бирөөнү кийин ыңгайлуулук үчүн бүткүл кошумча тармакты берүүгө азгырат. Адамдар эмне кылаары боюнча бөлүңүз, алардын чыгымдарына ким кол койгону боюнча эмес. Кичинекей кеңсе үчүн алты роль адатта көп, ал эми үчөө көп учурда туура.
2-кадам: ар бир уячаны кызмат билдирүүсүнө айландырыңыз
«Колдонмолор» деп жазылган уячаны текшерүүгө болбойт. «443 портундагы ERP хостко HTTPS, кызматкерлер пулунан» деп жазылган уячаны текшерүүгө болот. Ар бир тармак атын бараан жер, протокол жана порт менен алмаштырыңыз, анан кызмат ансыз иштебеген көз карандылыкты кошуңуз, мисалы ички чечүүчү же инсандык провайдери.
| Check | Passes when | Stop if |
|---|---|---|
| Destination named | Host and port appear in the cell | Cell names a VLAN or a subnet |
| Direction stated | Initiator and responder are both clear | Cell implies two-way access |
| Dependency listed | DNS or identity path is explicit | Whole infrastructure range is granted |
| Negative case written | At least one denied pair is recorded | Only allow rules exist |
Багыт мамычасы эң кымбат каталарды кармайт. Кызматкерлерге колдонмо ачууга уруксат колдонмо серверлерине кызматкерлердин ноутбуктарына кайра туташуу ачууга уруксат дегенди билдирбейт, ал эми биринчи багытка уруксат берген абалдуу эреже көп учурда экинчисине да уруксат катары окулат.
3-кадам: инсандык кайсы жерде саясатка айланарын чечиңиз
Бирөө аутентификацияланган сессияны шлюз колдона алган рольга айландырышы керек. Колдоого алынган варианттарга аутентификация backend'и берген топтук саясат, ишенимдүү сессия атрибуттары же ар бир роль үчүн өзүнчө дарек пулдары кирет. Үчөө тең иштейт; кардар жиберген белги иштебейт. Шлюзүңүз документтеген механизмди тандаңыз, форум билдирүүсү сүрөттөгөндү эмес.
VLAN'га таандык болуп гана көрүнгөн даректи берүү — башка кийимдеги ошол эле жоопсуздук. OpenVPN брандмауэр эрежелери тууралуу Netgate жетекчилиги бул ажыратууну ачык кылат: туннелдин көтөрүлүшүнө жол берүү анын ичинен трафиктин өтүшүнө жол берүүдөн башка чечим.
Кайсы механизмди тандаганыңызды жана анын кайда конфигурацияланганын жазыңыз. Роль өзгөргөндө, ошол эскертүү бир түзөтүү менен үч интерфейстен издөөнүн ортосундагы айырма. Ал аудиторго да адегенде кайда кароону айтат.
4-кадам: бараан жер көргөн булак дарегин байкаңыз
Жөнөтүү саясаты чек арада чыныгы булакка дал келиши керек. Эгер шлюз VPN кардарларын өз дарегине которсо, төмөнкү ар бир брандмауэр бир булакты көрөт жана роль боюнча чечим кабыл алуу жөндөмүнөн ажырайт. Эгер кардардын дарегин сактаса, ошол пул үчүн кайтуу жолу болушу керек.
Акыркы эрежелерди жазганга чейин эки багытты тең текшериңиз, анан байкалган булакты ар бир уячанын жанына жазыңыз. Ошол эле текшерүүнү эки башка рольдон иштетип, натыйжаны салыштырыңыз. Эгер экөө тең шлюздун дарегин көрсөтсө, ролдордун айырмасы мурунтан эле жоголгон. Шлюз булакты которуп жатканда сакталган даректерди болжолдогон матрица биринчи төмөнкү ACL'де ийгиликсиз болот.
5-кадам: чыгарганга чейин ар бир уячаны текшериңиз
Ар бир уруксат берилген уячаны бир өкүлдүк операцияга, ал эми ар бир тыюу салынган уячаны терс учурга айландырыңыз. Экөөнү тең чыныгы рольдеги кардардан иштетиңиз, шлюз консолунан эмес, анткени консоль сиз текшерген жолду айланып өтөт.
# allowed: staff role reaches the ERP endpoint
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://erp.internal.example/health
# denied: the same role must not reach a management host
nc -vz -w 3 10.30.5.11 22
# observed source address at the destination
sudo tcpdump -ni any 'tcp port 443 and host 10.30.20.15'
Туташкан терс учур — бул табылган кемчилик, кокустук эмес, жана эреже оңдолгонго чейин матрицада ийгиликсиз уяча болуп турат. Тест буйруктарын таблицанын жанында кармаңыз, кийинки текшерүүчү ой жүгүртүүнү кайра куруунун ордуна аларды кайра иштетсин.
Бүткөн таблица жазылган шлюзден узак жашайт. Эрежелер firmware жана жеткирүүчү менен өзгөрөт, ал эми мердигер бир долбоор кызматына жетет деген сап ошол иш өзгөргөнгө чейин туура бойдон калат.