PostgreSQL VPN аркылуу: pg_hba кайсы булак дарегин көрөт
Угуучу, firewall жана биринчи дал келген HBA эрежеси — үч чечим. Префиксти тандоодон мурун PostgreSQL чындап кабыл алган булакты текшериңиз.
PostgreSQL кардардын VPNде экенин эч качан билбейт. Ал бир даректен TCP туташуусун жана ырастоочу маалыматтардын топтомун алып, алар менен эмне кылууну чечет. Ошондуктан кирүүнү туннелге көз каранды кылуу — үч өзүнчө чечимди өз ара шайкеш келтирип жайгаштыруу, анан диаграммага тарткан даректин ордуна сервер чындап көргөн жалгыз даректи текшерүү дегенди билдирет.
Бириктирүүгө болбой турган үч чечим
Сервердин кайда угуусу — биринчи чечим. Кайсы трафик ошол дарекке жете алаары — экинчиси, аны хосттун firewallы жана анын алдындагы ар кандай тармактык чек аныктайт. Кайсы маалымат базасынын инсандыгы кайсы булактан аутентификациялана алаары — үчүнчүсү, ал pg_hba.conf ичинде кабыл алынат.
Ар бирин өзүнчө компонент аткарат жана ар бири өзүнчө билдирүү менен ишке ашпайт. Аларды талкууда бириктирүү — адамдардын firewall маселесин оңдоо үчүн HBA файлын оңдоп башташына алып келет. Аларды тартипте кармаңыз: байланбаган угуучуга жетүү мүмкүн эмес, чыпкаланган портко туташуу мүмкүн эмес, ал эми HBA эрежеси туташуу пайда болгондон кийин эмне болорун гана чечет. Өзгөртүү таасир бербесе, үч катмардын кайсынысын чындап өзгөрткөнүңүздү аныктаңыз.
Сервер кайда угулат
Интерфейс атына эмес, машинага чындап ыйгарылган дарекке байланыңыз:
listen_addresses = '10.20.0.30'Маалымат базасы өзүнүн туннель интерфейси жок VPN дарбазасынын артында турушу мүмкүн, ошондуктан даректи атоо туура. Бул параметрди өзгөртүү толук кайра иштетүүнү талап кылат; кайра жүктөө жетишсиз.
Андан кийин портту, адатта 5432ни, хостто жана анын алдындагы ар бир чекте чыпкалаңыз. Жеке дарекке байлануу коомдук баш тартуунун далили эмес, анткени портту багыттоо же булут дарегин салыштыруу пакеттерди ошол жеке угуучуга жеткире алат.
HBA чындап көргөн дарек
Маршрутталган кирүүдө сервер ар бир кардардын ички туннель дарегин көрөт. Булакты которууда ал ордуна дарбазанын которулган дарегин көрөт жана ар бир кардар ошол бир мааниге топтолот. Уруксат бериле турган префиксти тандоодон мурун булакты сервердин өзүнүн туташуу далилдери аркылуу текшериңиз.
TLS жана SCRAMды мурунтан колдонгон жайгаштыруу үчүн атайын тар аралыктан кирүү мисалы мындай көрүнөт:
hostssl appdb app_login 10.8.0.0/24 scram-sha-256
host all all 0.0.0.0/0 reject
host all all ::/0 rejectБул көрсөтүлгөн пулдан TLS аркылуу бир роль жана бир маалымат базасына уруксат берип, андан кийин башка аралыктан TCP кирүүсүн четке кагат. Бул толук HBA файлынын ордун баспайт: жергиликтүү башкарууну, репликацияны жана башка уруксат берилген кызматтарды сактап, тар эрежелерди кененирээк уруксаттардын алдына коюңуз.
Которуу иштеп турганда HBA кардарларды баштапкы даректери боюнча ажырата албайт. Тармактык кабыл алууну катуу кармап, чыныгы маалымат базасынын ыйгарым укуктарын талап кылыңыз жана trust аутентификациясын чыныгы аккаунт менен эч качан алмаштырбаңыз.
Биринчи дал келүү жеңет, камдык жол жок
PostgreSQL файлды жогорудан төмөн окуп, туташууга дал келген биринчи жазууну колдонот. Эгер ошол жазуунун аутентификациясы ишке ашпаса, экинчи аракет жок, ошондуктан эртерек кең уруксат кийинки баш тартууну үнсүз жеңет.
Ушул тартип эрежеси кылдат жазылган баш тартуунун эч качан күчүнө кирбешинин эң көп кездешүүчү себеби. Так эрежелерди биринчи, кенендерин акыркы кылып коюңуз, анан файлды топтом катары эмес, ырааттуулук катары окуңуз. Төмөнгө кошкон эреже саясат эмес, ал комментарий. Файл этибарга алынбай жатат деген тыянакка келүүдөн мурун аны жогору жылдырып, кайра жүктөңүз.
HBA шилтемеси тартипти да, host жана hostssl жазууларынын айырмасын да аныктайт, бул эреженин максаты туташуунун шифрлениши болгондо маанилүү.
Кайра жүктөө, кайра иштетүү жана баш тартылган учур
HBA өзгөртүүлөрү кайра жүктөө менен колдонулат, ал эми pg_hba_file_rules көрүнүшү талдоо каталарын табууга жардам берет. Бул көрүнүш файлдын учурдагы мазмунун сүрөттөйт, иштеп жаткан сервер аларды ийгиликтүү жүктөгөнүн эмес, ошондуктан таза тизме жаңы эрежелердин күчүндө экенинин далили эмес.
Угуучунун өзгөртүүлөрү өзүнүн кайра иштетилишин талап кылат, ал эми өзгөртүү таасирсиз көрүнгөндө эки операцияны чаташтыруу оңой.
Жаңы сессиялар менен сынаңыз: көздөлгөн аккаунту бар уруксат берилген кардар туташат, ошол эле аккаунт уруксат берилбеген жолдон туташпайт, ал эми уруксат берилбеген маалымат базасынын инсандыгы VPNдин ичинен да ишке ашпайт. Бул үч натыйжа тармактык чекти маалымат базасынын авторизациясынан бөлөт, бул чечимдерди өзүнчө кармоонун бүткүл мааниси.