Бузулган веб-шлюз дагы эмнеге жетиши мүмкүн?
Веб-шлюз конокчу эмнени ачканын чектейт, бузулган хост эмнеге туташа аларын эмес. Эки кароо, ыйгарым укук таблицасы жана жетүүнү өлчөө буйруктары.
Шлюз хостунүн сертификаты дагы жарактуу кезинде ал бузулду дейли. Конокчу кайсы барактарды сурай аларын жөнгө салган ар бир эреже күчүндө калат жана бул эрежелердин эч бири чабуулчунун азыр ошол хосттон маалымат базасынын ички тармагына карай ачкан байланышын чектебейт. Ушул боштук гана веб-кирүү пункту сегменттелген тармак менен бирдей эмес экенин көрсөтөт. Эки билдирүү тең ар башка баштапкы пункттардан өзүнчө кароолорду талап кылат, алардын бирин дагы чынчылдык менен айтууга болбойт.
Эки билдирүү, жана алардын бирөө гана конокчудан башталат
Биринчи билдирүү адам жөнүндө: браузери жана жарактуу сессиясы бар конокчу бир колдонмону ача алат, башка эч нерсе эмес. Веб-кирүү пункту гана бул билдирүүгө жакшы жооп берет, анткени конокчу маршрут эмес, барак алат. Бул жооптун баасы бар, жана бул көп диаграммалар жаза турган жалгыз билдирүү да.
Экинчи билдирүү компонент жөнүндө: шлюз же анын артындагы колдонмо процесси башка бирөөнүн көзөмөлүндө деп болжолдонот. Ушул божомолдон суроо кайсы URL уруксат берилгенинен процесс дагы кайсы максаттарга жана идентификаторлорго жете аларына өтөт.
Эки билдирүүнүн ээлери ар башка, алар ар башка далилдерди беришет жана көз карандысыз ийгиликсиз болушат. Идентификация тобу биринчисин сессия сыноосу менен көрсөтө алат; экинчисине тармактык саясат, кызматтык эсепти кароо жана хостту көзөмөлдөө керек. Конокчунун жарымын гана жаза турган долбоор кароо слайдында толук, окуя учурунда жука көрүнөт, анткени бузулуудан кийин маанилүү көзөмөлдөр эч качан камтууда болгон эмес. Ар бир көзөмөл кайсы билдирүүнү колдой турганын атаңыз, болбосо бир шлюз эрежеси экөөнө тең эсептелет.
Иштелген чыгым кызматы жана анын утулушунун эки жолу
Чыгым кызматын алалы: 10.60.4.10 дарегиндеги ачык шлюз кызматкерлерди аутентификациялайт жана бекитилген сурамдарды 8443 портундагы колдонмо угуучусуна жөнөтөт, ал эми бул колдонмо expenses_app ролу катары 10.60.4.20:5432 дарегиндеги бир PostgreSQL угуучусуна жетет. Кызматкерлерге жалпы ички жетүү берилбеши керек. Кадимки иштөөдө долбоор чын эле маалымат базасынын угуучусун эч жерде жарыялабастан колдонмого тиешелүү кирүүнү берет. Даректер маанилүү, анткени бул макаладагы ар бир кийинки текшерүү аларды атайт.
Эми шлюзди ишенимдүү топтомдон чыгарыңыз. 10.60.4.10 процесси чабуулчуга таандык болгондон кийин кайсы максаттарга жете алат? Конокчуларды чектеген URL чыпкасы шлюз хостунүн маалымат базасынын ички тармагына карай ачкан байланышы жөнүндө эч нерсе айтпайт.
Анын ордуна колдонмо процессин чыгарыңыз, жана ыйгарым укук формасын өзгөртөт: expenses_app ролу, ошол сервер жете ала турган кызматтар жана ошол эсеп окуй ала турган файлдар. Эки учурда тең алдыңкы эшик веб гана бойдон кала алат, ал эми backend чек арасы жок. Ошондуктан алдыңкы эшиктеги белги эки суроонун эч бирине жооп эмес.
Ар бир тараптын иш жүзүндөгү ыйгарым укугун картага түшүрүңүз
Максаттуу уруксаттар катары жазылган келишим долбоорду сизге кайталайт. Аны кармалган ыйгарым укук, ашыкчаны жокко чыгаруучу текшерүү жана ошол текшерүүнүн ээси катары жазыңыз, ошондо ар бир сап текшериле турган болот. Бул таблица жогорку мисалга сунуш, продукт билдирүүсү эмес:
| Component | Authority it actually holds | Check that proves the denial | Owner of the check |
|---|---|---|---|
| Identity provider | Issues assertions and session cookies, and holds no network path of its own | A request to the application URL without a session is redirected to the login page | Identity team |
| Public gateway host | TCP reachability to whatever its routing table and egress rules permit | An egress rule drops 10.60.4.20:5432 and the probe reports the port filtered | Network platform team |
| Application role | SQL privileges granted to expenses_app inside the expenses database | A privilege query shows no ownership or create right on any other schema | Application team |
| Database listener | Accepts connections only from the source ranges named in its host-based rules | A connection from an unlisted address is refused before authentication | Database administrator |
| Management path | Administrative access reserved for patching, monitoring and recovery | A staff workstation cannot reach the administrative port or jump through it | Platform owner |
Менчик ыйгарым укукту ээрчийт. Идентификация тобу билдирүүлөргө, тармактык платформа тобу маршруттарга, колдонмо тобу маалымат базасынын ролуна, маалымат базасынын администратору угуучуга жана анын хостко негизделген эрежелерине, ал эми платформа ээси башкаруу тегиздигине ээ. Ээсиз баш тартуу документтеги сүйлөм, көзөмөл эмес.
Бөлүү кош эсепти да болтурбайт. Порт чектөөсү таблица артыкчылыгын билдире албайт, ал эми маалымат базасынын ролу хосттун байланышсыз ички тармакка сокет ачуусуна тоскоол боло албайт.
Шлюз эмнеге жете аларын билдирүүнүн ордуна санаңыз
Чек ара билдирүүсү анын артындагы саноо канчалык жакшы болсо, ошончолук жакшы. Шлюз хостунда үч буйрук маршрут тандоону, тирүү сыноону жана чыгуу саясатын камтыйт:
ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter outputЧыгарылышты ошол тартипте окуңуз. Маршрут 10.60.4.20 ошол хосттон таптакыр тандалабы, аны айтат; сыноо угуучу жооп береби, аны айтат; эрежелер тизмеси саясат пакетти токтотобу же анын жолунда эч качан эч нерсе болгон эмесби, көрсөтөт.
Саноону колдонмо хостунен кайталаңыз. Ал жактан маалымат базасынын тарабы колдонмо ролу катары аткарылган бир сурам:
psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'Башка схеманы окуй албаган ролдун астындагы ийгиликтүү байланыш ээ ролунун астындагы ийгиликтүү байланыштан башка натыйжа. Экинчиси гана табылга.
Баш тартууларды жазып алыңыз, андан кийин кароого күн коюңуз
Кабыл алуу ниет эмес, натыйжа катары жазылат: кызматкердин сессиясы угуучуга жете албайт, шлюз хост байланышсыз ички тармакка жете албайт, ал эми колдонмо ролу маалымат базасын түзө албайт. Ар бири аталган ээси жана күнү бар өзүнчө текшерүү.
Мониторингди, патчтоону жана калыбына келтирүүнү алар үчүн жасалган башкаруу жолу аркылуу жеткиликтүү кармаңыз. Өз ээсин да бөгөттөгөн чек ара токтоп калууга айланат, жана ошол токтоп калууга кадимки биринчи жооп эрежени кайра кеңейтүү болуп саналат. CISA периметрдик нускамасы кирүү жана чыгуу жетүүсүн негизделген порттор жана протоколдор менен чектөөнү талап кылат, анын ичинде ички тармактардын ортосундагы трафик, б.а. көп диаграммалар калтырган backend баштаган багыт.
Кароого күн коюңуз жана анын ээсин атаңыз. Шлюз сүрөтүнө, маршруттоо таблицасына же колдонмо ролуна ар кандай өзгөртүүдөн кийин саноону жана артыкчылык сурамын кайра иштетиңиз.