Жергілікті дерекқор клиенті және жеке RDS: қосылым неге уақыт шегінен асады
Жергілікті клиент жеке RDS данасына үш бөлек себеппен жете алмайды. Бірдеңені өзгертуден бұрын бөлінген DNS, маршрут және қауіпсіздік тобының дәлелдерін тексеріңіз.
Әзірлеушінің ноутбугі жеке RDS соңғы нүктесіне қосылғанда уақыт шегінен асады, ал сол тіркелгі деректері бастион хостынан жұмыс істейді. Ештеңе құлаған жоқ. Сол ноутбук пен дерекқор арасындағы жолға үш нәрсенің біреуі жетіспейді: шешілетін ат, трафикті таситын маршрут немесе дерекқор шынымен көретін көзге рұқсат беретін қауіпсіздік тобының ережесі. Қалған екеуін өзгертуден бұрын қайсысы жетіспейтінін анықтаңыз.
Сәтсіздікті дұрыс қабатта оқыңыз
Уақыт шегінен асу бір қате емес. Шешілмейтін ат пакет машинадан шықпас бұрын сәтсіз аяқталады. Маршруты жоқ мекенжай пакеттерді қара шұңқырға жібереді. Сүзілген порт қате хостқа дәл ұқсайтын күту тудырады. Қадамдарды ретімен орындаңыз және бірінші сәтсіз аяқталған қадамда тоқтаңыз.
dig +short db.internal.example
nc -vz db.internal.example 5432
Егер ат жария мекенжай қайтарса немесе ештеңе қайтармаса, туннель әзірге мәселе емес.
Егер ат шешіліп, порт сынағы ілініп қалса, шешкен мекенжайды дерекқор хабарлайтын мекенжаймен салыстырыңыз. Басқарылатын соңғы нүкте VPC ішінде жеке мекенжайға, оның сыртында ешқандай пайдалы нәрсеге шешілуі мүмкін, ал ескі іздеуден көшірілген мекенжай енді жауап бермейтін хостты көрсетеді.
Туннельді маршруттан ажыратыңыз
Клиенттік VPN қосу әрбір жеке ауқымды автоматты түрде маршруттамайды. Профиль қызмет итеретін маршруттарды тасиды, ал клиент олардың бір бөлігін ғана орнатуы мүмкін. Клиенттің шынымен қандай ауқымдарды қосқанын және дерекқор мекенжайы солардың біріне кіретінін қараңыз.
ip route get 10.20.40.15
ip addr show tun0
Туннель интерфейсіне бағытталған маршрут қажет; бірақ жеткіліксіз, өйткені қарсы жақ трафикті әлі де қабылдауы керек.
Бөлінген туннель профильдері осы жартылай сәтсіздіктің әдеттегі көзі. Олар профиль жасалған қолданба үшін жұмыс істейді және дерекқор ауқымын туннельден тыс қалдырады, бұл брандмауэр жасайтын уақыт шегінің дәл өзін тудырады.
Қауіпсіздік тобын нақты көзге сәйкестендіріңіз
RDS қауіпсіздік тобы адамдарға емес, көздерге рұқсат береді. Архитектураға қарай көз VPN клиенттер пулы, бастионның жеке мекенжайы немесе трафик аударылатын NAT мекенжайы болуы мүмкін. Ережені және пакеттің нақты көзін бірге оқыңыз.
aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 \
--query 'SecurityGroups[].IpPermissions'
Бір ноутбуктің үй мекенжайына арналған ереже қатынас жобасы емес, қызмет көрсету мәселесі.
Жолда клиенттік VPN немесе NAT шлюзі болса, дерекқор әзірлеушінің туннель мекенжайының орнына аудармашының мекенжайын көруі мүмкін. Сондықтан жұмыс істейтін бастион конфигурациясынан көшірілген ереже ноутбук үшін сәтсіз болуы мүмкін: екі жол әртүрлі көздерден келеді, екеуі де ішкі болып көрінсе де.
Кең жолдан тар жолды таңдаңыз
Бір әзірлеушіге бір дерекқор қажет болса, сессияға негізделген қайта бағыттау толық желілік туннельге қарағанда жиі арзан болып келеді. Жергілікті клиент қайта бағытталған портқа қосылады, ал қашықтағы компонент дерекқор байланысын желінің ішінен жасайды.
ssh -N -L 5432:db.internal.example:5432 bastion.internal.example
Сол жобада TLS тексеруін бұзылмаған күйде ұстаңыз. Клиент сервер сертификатын күткен атымен салыстырып тексеруі керек; жергілікті қайта бағытталған порт тексеруді өшіруге себеп емес, ал оны өшіру ұстауға тұрарлық сәйкестік мәселесін дәл жасырады.
Толық туннель мен тар қайта бағыттаудың арасындағы таңдау қауіпсіздік театры емес, ауқым туралы шешім.
Артыңда қайталанатын жол қалдырыңыз
Шешілген мекенжайдың орнына соңғы нүктенің атын, қауіпсіздік тобы рұқсат беретін көз ауқымын және әзірлеуші пайдаланатын дерекқор рөлін құжаттаңыз. Осы үш дерек келешектегі қателердің көбін қоңыраусыз түсіндіреді. Клиент профилінің нұсқасын да қосыңыз, өйткені профиль өзгерісі ескісі тасыған маршрутты алып тастауы мүмкін.
Содан кейін теріс жағдайды бір рет тексеріңіз: мақұлданған көзден тыс клиент әлі де қабылданбауы керек.
Тек өзін баптаған адамға ғана жұмыс істейтін жеке дерекқор жеке қолжетімділік емес; ол қайта ашылуды күтіп тұрған құжатталмаған ерекшелік. Жолды жазып қойыңыз, сонда келесі әзірлеуші жұмбақтың орнына әдісті мұра етеді.