Cassandra VPN арқылы: клиенттер мен түйіндерге бөлек қатынау
Бір Cassandra кластері үш аудиторияны жасырады. Клиенттердің, тең түйіндердің және операторлардың оған қалай жететінін бөлек шешіңіз және сәйкестікті VPN жолының ішінде ұстаңыз.
Cassandra орналастыруында бір әмбебап дерекқор желісі болмайды. Қосымшалар клиент қызметімен сөйлеседі, кластер мүшелері бір-бірімен сөйлеседі, ал операторлар әкімшілік интерфейстерді пайдаланады, және бұл үш аудитория бір-бірінің қолжетімділігін мұрагерлікке алмауы керек. VPN тәрізді жеке жол жақсы бастапқы нүкте, бірақ ол дерекқордың пайдаланушы сәйкестігі емес және оның шифрлау саясаты емес. Байланыс туралы шешім мен рұқсат беру туралы шешімді екі бөлек қаралым ретінде қарастырыңыз.
Үш аудиторияның әрқайсысы өз жауабын алады, ал төмендегі бөлімдер оларды әсер ету тәртібімен қарастырады.
Үш аудитория, үш шешім
Кез келген ережеге қол тигізбес бұрын әр топқа шынымен не қажет екенін анықтаңыз. Клиенттерге клиент тыңдаушысы және оларға берілуі мүмкін әр түйінге жету үшін жеткілікті ақпарат қажет, тең түйіндерге түйінаралық портта бір-бірі қажет, ал операторларға runbook шынымен талап ететін нәрсе үшін басқару интерфейсі қажет. Үш тізім, үш аудитория, сенімнің үш деңгейі.
Жиі кездесетін қате — бір тегіс жеке сегмент құрып, VPN шекарасы қалғанын істейді деп болжау. Оның ішінде клиент портына жететін қосымша әдетте түйінаралық портқа да жетеді, ал оператордың әкімшілік құралдары көбіне қосымшамен бір секіру хостында тұрады. Оларды бірге тегістеу бұзылған қосымша сәйкестігінің өз сұрауларынан үлкен қамтуға әлдеқашан ие екенін білдіреді. Дизайн құжатында үш аудиторияны үш жол ретінде сызыңыз, әрқайсысының жанында оған рұқсат беретін ереже болсын, сонда олқылықтар біреу оларды салмай тұрып көрінеді.
Клиенттерге не қажет, одан артық емес
Орналастырылған нұсқа үшін мақсатты қосымша көздеріне клиенттің соңғы нүктелеріне жетуге рұқсат етіңіз, ал байланысы жоқ кластерлік және басқару қызметтерін бұл қамтудан тыс ұстаңыз. Содан кейін драйвер түйіндерді қалай табатынын тексеріңіз. Қолжетімді бастапқы байланыс нүктесі драйвер кейін таңдайтын әр түйін мекенжайының сол клиент контекстінен қолжетімді екенін дәлелдемейді, өйткені драйвер кластерден теңдестерді сұрайды да, кластер жариялаған мекенжайларға қосылады.
Сондықтан жеке мекенжайдың бір сәйкессіздігі таныс үлгіні тудырады: сәтті бірінші қосылым, содан кейін уақыттың бітуі. Жарияланған мекенжайлар мен клиент маршрутизациясын әдейі конфигурациялаңыз; бір сәйкессіздікті түзету үшін бүкіл кластерді интернетке жариялау маршрутизация қатесін кері қайтаруға болмайтын әшкерелеумен алмастырады.
Қосымшаның дерекқор аутентификациясы мен рөл рұқсаттарын да орнында ұстаңыз. Ортақ аударылған VPN мекенжайы көптеген пайдаланушыларды немесе қызметтерді білдіруі мүмкін, сондықтан ол ешқашан бөлек дерекқор сәйкестіктерін алмастырмайды.
Клиент-түйінге және түйінаралық байланысты бөлек шифрлаңыз
Apache қауіпсіздік құжаттамасы клиент-түйінге және түйінаралық шифрлауды бөлек конфигурациялар ретінде қарастырады, және біреуін қосу екіншісін қоспайды. Бұл айырмашылық VPN ішінде де қолданылады, өйткені туннель өз сегментін қорғайды және қосымша процесінен дерекқор процесіне немесе кластер мүшелерінің әр жұбының арасына автоматты түрде таралмайды.
Екеуін де анық қосатын, үлгінің әдепкі мәнін мұрагерлікке алудың орнына, конфигурация шамамен былай көрінеді:
client_encryption_options:
enabled: true
optional: false
server_encryption_options:
internode_encryption: allҚосымша клиент шифрлауына рұқсат беретін сервер конфигурацияларында TLS қабылдау шифрланбаған қосылымдарды қабылдаумен қатар өмір сүруі мүмкін, сондықтан ниетті емес, нақты саясатты оқыңыз. Әр клиент шынымен байланысатын соңғы нүктелер үшін сертификат атауларын, сенімді бөлуді және жаңартуды жоспарлаңыз; хост атауын IP мекенжайымен алмастыру клиенттің сәйкестігін тексеруді өзгертеді, тек оның маршрутын емес.
Әкімшілікті өз жолында ұстаңыз
Түйінаралық трафикке рұқсат етілген теңдестер жиыны мен өз қорғау саясаты қажет. Әкімшілік қатынауға, қолданылатын жерде JMX қоса, бөлек аудитория мен өз аутентификациясы қажет. Қарапайым сұраулар жіберуге рұқсаты бар қосымша бұған байланысты басқарудың барлық мүмкіндігін қажет етпейді, ал керісінше нашар: қосымша сегментіне ашық әкімшілік жол қатеден қайта құруға дейінгі ең қысқа жол. Осы екі аудиторияны бөлек жазыңыз және олардың иелерін атаңыз, өйткені әдетте бұл ережелері кездейсоқ біріктірілген түрлі командалар.
Нақты бұлт ережелерін, хост ережелерін және тыңдаушы конфигурациясын келісілген күйде ұстаңыз. Жеке тыңдаушы әлі де кездейсоқ аударма немесе прокси арқылы ашық болуы мүмкін, ал кең жалпыға ортақ ереже тар VPN ережесінің қасында біреу екеуін бірге тексермейінше тыныш тұра алады.
Операторларға шынымен басқару жолы қажет болса, оған аталған ие және қосымшадан қысқа тіркелгі деректерінің өмірі беріңіз. Бұл келесі адам кластерді мұрагерлікке алғанда өкілеттіктің көрінуін сақтайды.
Дизайн нені уәде етеді
Барлық үш уәдені тек байланыс сынақтарымен емес, нақты рөлдермен тексеріңіз. Мақұлданған қосымша өзіне рұқсат етілген жұмысты аяқтауы керек, одан артық емес, шығарылған көз клиент кіреберісінде сәтсіз болуы керек, ал қосымша сәйкестігіне сақталған әкімшілік жолдарда бас тартылуы керек. Клиенттің қайта қосылуы мен түйінді таңдауды сол орналастыру сынағына қосыңыз, өйткені анықтау қателері дәл сонда бет алдырады.
Дизайн құжатында үш сөйлеммен аяқтаңыз: қандай клиенттер сұрау жасай алады, қандай түйіндер байланыса алады және қандай операторлар басқара алады. VPN артында болу пайдалы топологиялық ақпарат, бірақ ол осы үш сұрақтың ешқайсысына жауап емес.