RDS ya faragha kutoka EC2: VPC hiyo hiyo, peering au kitu kingine?
Chagua njia kabla ya kikundi cha usalama: VPC hiyo hiyo, peering, VPC inayoshirikiwa au muunganisho wa faragha.
Laptopi ya msanidi programu inafikia mfano wa RDS wa faragha kupitia VPN ya wafanyakazi, lakini programu kwenye EC2 haiwezi kuunganisha kabisa. Hii si utekelezaji uliovunjika. Laptopi ina handaki ambayo mfano wa EC2 haurithi kamwe, na «faragha» katika RDS inamaanisha hifadhidata haina kituo cha mwisho cha umma, sio kwamba watumiaji wa kibinadamu wa VPN ndio wapigaji pekee wanaoruhusiwa. Programu inahitaji njia yake iliyoidhinishwa, uhusiano wake na kikundi cha usalama na utambulisho wake katika hifadhidata, na mpangilio ambao unachagua hivi vitatu unaokoa sehemu kubwa ya utatuzi. Amua njia kwanza, kisha ruhusa, kisha thibitisha kutoka mazingira yaliyowekwa badala ya kutoka kwenye dawati lako.
VPN ya laptopi sio njia ya programu
Chochote VPN ya wafanyakazi inachofanya kwa watu, haifanyi chochote kwa mfano isipokuwa mfano huo uwe sehemu ya wazi ya njia hiyo hiyo ya mtandao. Mfano wa EC2 katika subnet ya faragha unafikia RDS kupitia uelekezaji wa VPC, vikundi vya usalama na ACL za mtandao. Haurithi handaki ya mtu, kipindi cha mtu au vitambulisho vya mtu, na haipaswi: muunganisho wa programu usio na usimamizi na ufikiaji wa mbali wa wafanyakazi lazima uendeshwe kwa kujitegemea.
Uhuru huo ni sifa. VPN inapokuwa chini, programu inaendelea kufanya kazi. Programu inapotenda vibaya, hakuna anayepoteza ufikiaji wake wa mbali. Miundo inayounganisha vyote viwili katika njia moja kawaida hugunduliwa wakati wa tukio, katika wakati mbaya zaidi iwezekanavyo.
Uamuzi 1: VPC hiyo hiyo, njia ya moja kwa moja
Wakati programu na hifadhidata ziko katika VPC moja na uelekezaji wa moja kwa moja na hakuna kifaa cha ukaguzi kati yao, njia ni rahisi na rejeleo la kikundi cha usalama ndio chombo chenye nguvu zaidi kinachopatikana. Ipe programu kikundi chake, kisha ruhusu mlango wa hifadhidata kutoka kikundi hicho badala ya kutoka anuwai ya anwani:
aws ec2 authorize-security-group-ingress --group-id sg-0db123 --protocol tcp --port 5432 --source-group sg-0app456
aws rds describe-db-instances --db-instance-identifier prod-db --query 'DBInstances[0].{Endpoint:Endpoint.Address,Port:Endpoint.Port,Public:PubliclyAccessible,Groups:VpcSecurityGroups}'
Mlango ni mfano na lazima ulingane na injini. Rejeleo la kikundi linaidhinisha trafiki kutoka kwa mifano ya programu; haliiga sheria zao na haitengenezi kuingia kwa hifadhidata. Matatizo mawili tofauti, masuluhisho mawili tofauti.
Kisha angalia sehemu iliyobaki ya njia badala ya kusimama kwenye sheria uliyoongeza hivi punde. Sera ya kutoka ya programu, seti kamili ya vikundi vilivyounganishwa na hifadhidata, majedwali ya uelekezaji ya subnet na ACL zozote za mtandao lazima zikubaliane. Sheria za vikundi vya usalama zina hali, wakati ACL ya mtandao maalum lazima iruhusu ombi na trafiki ya kurudi katika sheria tofauti, ikiwa ni pamoja na milango ya muda mfupi. Sheria mpya nyembamba ya hifadhidata pia haibatilishi ruhusa pana ya zamani iliyokuwa imeunganishwa tayari.
Uamuzi 2: VPC nyingine au akaunti nyingine
Ikiwa programu iko katika VPC nyingine, wamiliki wa mtandao huchagua muunganisho wa faragha unaotumika: peering, muundo wa usafirishaji au mpangilio wa VPC inayoshirikiwa. Kisha pande zote mbili za uelekezaji lazima ziwepo, utengano wa majina lazima ufanye kazi kwa kituo cha mwisho cha RDS, na chanzo kinachotathminiwa na sera ya hifadhidata lazima kilingane na kile kinachofika kwa kweli. Majina ya akaunti yanayolingana au uhusiano wa bili unaoshirikiwa hautoi yoyote ya haya.
Rejeleo la kikundi cha usalama ni sehemu inayotofautiana. Inafanya kazi katika miundo kadhaa ya muunganisho wa faragha, lakini inaacha kufanya kazi wakati kifaa cha kati kinapoandika upya chanzo au kinapomaliza muunganisho, kwa sababu hifadhidata wakati huo inaona kifaa cha kati badala ya kikundi chako cha programu. Hali za VPC za RDS hutenganisha ufikiaji ndani ya VPC moja na mipangilio mingine, na inafaa kuangalia topolojia yako mahususi dhidi yao kabla ya kudhani kwamba mtindo wa sheria unahamishwa.
Usitatue njia inayokosekana kwa kufanya hifadhidata ifikiwe na umma. Hilo ni uamuzi mwingine wa ufichuzi na mmiliki mwingine, na kwa kawaida hupendekezwa na yule aliye mbali zaidi na matokeo.
Uamuzi 3: utambulisho gani hifadhidata inakubali
Ufikiaji wa mtandao na uthibitishaji wa hifadhidata ni tabaka tofauti, na kuzichanganya huzalisha makosa yanayopotosha zaidi. Jukumu la mfano ni utambulisho wa AWS wa kupiga simu API za AWS. Sio mtumiaji wa hifadhidata. Uthibitishaji wa hifadhidata wa IAM ni kipengele kinachotumika pale injini na usanidi vinavyoruhusu, na bado ni uchoraji ramani kwa mtumiaji wa hifadhidata, sio mbadala wake.
Tumia jina la kituo cha mwisho cha RDS katika usanidi wa programu badala ya anwani iliyonaswa kutoka utafutaji mmoja. Ubadilishaji wa Multi-AZ hubadilisha anwani nyuma ya jina hilo, na programu iliyobandikwa kwa IP itashindwa hasa wakati inahitajika. Acha uthibitishaji wa TLS wa injini ukiwa umewashwa badala ya kuuzima ili kosa litoweke, kwa sababu kushindwa kwa uthibitishaji kunakuambia kitu kuhusu kituo cha mwisho ulichofikia.
Kisha ipe akaunti ya hifadhidata kiwango cha chini kinachohitajika na programu, katika mpango ambao inatumia kwa kweli. Kazi hiyo ni ya kuchosha, inaweza kukaguliwa, na ndio sehemu ambayo mapitio ya tukio atauliza kuhusu.
Thibitisha kutoka mazingira yaliyowekwa
Jaribu kutoka kwa mfano au kutoka kwa kazi inayokimbia na kikundi, subnet na jukumu sawa. Kushindwa nne kunaonekana sawa kutoka kwa laptopi na ni rahisi kutofautisha kutoka hapo: jina lisilotatuliwa, muunganisho unaoisha muda, kushindwa kwa uthibitishaji wa TLS na kuingia kwa hifadhidata kulikokataliwa. Kila kimoja kinaelekeza kwenye mpaka tofauti, na kubadilisha ufichuzi wa hifadhidata kabla ya kujua unayo ipi ni kukisia.
psql "host=prod-db.abc123.eu-west-1.rds.amazonaws.com port=5432 dbname=app sslmode=verify-full" -c 'select 1'
Ikiwa muunganisho unafanikiwa kutoka kwa mfano na unashindwa kutoka kwenye dawati lako, njia ya programu ni sawa na ufikiaji wako ndio unahitaji kurekebishwa. Ikiwa unashindwa kutoka pande zote mbili, anza na ukaguzi wa kikundi na njia ulizo hapo juu badala ya vitambulisho. Ulinganisho huo mmoja huzuia sehemu kubwa ya usumbufu unaotokana na tiketi hizi.