De laptop fan in ûntwikkeler ferrint by it ferbinen mei it privee RDS-einpunt, wylst deselde oanmeldgegevens fan in bastion-host ôf wurkje. Der is neat del. It paad tusken dy laptop en de databank mist ien fan trije dingen: in namme dy’t oplost, in rûte dy’t it ferkear draacht, of in regel yn ’e befeiligingsgroep dy’t de boarne talit dy’t de databank echt sjocht. Fyn út hokker mist foardat jo de oare twa feroarje.

Lês de mislearring op ’e juste laach

In ferfelling is net ien flater. In namme dy’t net oplost, mislearret foardat in pakket de masine ferlit. In adres sûnder rûte stjoert pakketten yn in swart gat. In filtere poarte soarget foar in wachtsjen dat der krekt as in ferkearde host útsjocht. Fier de stappen yn folchoarder út en stopje by de earste dy’t mislearret.

dig +short db.internal.example
nc -vz db.internal.example 5432

As de namme in iepenbier adres weromjout, of neat weromjout, is de tunnel noch net it probleem.

As de namme oplost en de poartetest hinget, fergelykje dan it adres dat jo oplost hawwe mei it adres dat de databank rapportearret. In beheard einpunt kin oplosse nei in privee adres binnen de VPC en nei neat nuttich derbûten, en in adres dat fan in âlde syktocht kopiearre is, sil nei in host wize dat net mear antwurdet.

Skied de tunnel fan ’e rûte

In kliïnt-VPN ferbine rûtelet net automatysk elk privee berik. It profyl draacht de rûtes dy’t de tsjinst triuwt, en de kliïnt ynstallearret miskien mar in pear dêrfan. Sjoch hokker berikken de kliïnt echt tafoege hat en oft it databankadres binnen ien dêrfan falt.

ip route get 10.20.40.15
ip addr show tun0

In rûte dy’t nei de tunnelinterface wiist is needsaaklik; it is net genôch, om’t de oare kant it ferkear noch altyd akseptearje moat.

Split-tunnelprofilen binne de gewoane boarne fan dizze heale mislearring. Se wurkje foar de applikaasje dêr’t it profyl foar ûntwurpen is en litte it databankberik bûten de tunnel, wat krekt de ferfelling oplevert dy’t in firewall opleverje soe.

Koppelje de befeiligingsgroep oan ’e werklike boarne

De RDS-befeiligingsgroep lit boarnen ta, gjin minsken. Ofhinklik fan ’e arsjitektuer kin de boarne de VPN-kliïntpool wêze, it privee adres fan in bastion, of in NAT-adres dêr’t it ferkear nei oersetten wurdt. Lês de regel en de werklike pakketboarne tagelyk.

aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 \
  --query 'SecurityGroups[].IpPermissions'

In regel foar it thúsadres fan ien laptop is in ûnderhâldsprobleem yn stee fan in tagongsûntwerp.

As der in kliïnt-VPN of in NAT-gateway yn it paad sit, kin de databank it adres fan ’e oersetter sjen yn stee fan it tunneladres fan ’e ûntwikkeler. Dêrom kin in regel dy’t fan in wurkjende bastion-opset kopiearre is, foar in laptop mislearje: de twa paden komme fan ferskate boarnen, ek al lykje beide yntern.

Jou foarkar oan in smel paad boppe in breed

As ien ûntwikkeler ien databank nedich hat, is sesjebasearre trochstjoering faak goedkeaper te betsjinjen as in folsleine netwurktunnel. De lokale kliïnt ferbynt mei in trochstjoerde poarte, en it fiere komponint makket de databankferbining fan binnen it netwurk.

ssh -N -L 5432:db.internal.example:5432 bastion.internal.example

Hâld TLS-ferifikaasje yntakt yn dat ûntwerp. De kliïnt moat noch altyd it server-sertifikaat tsjin de namme falidearje dy’t er ferwachtet; in lokale trochstjoerde poarte is gjin reden om ferifikaasje út te skeakeljen, en it útskeakeljen derfan ferberget krekt it identiteitsprobleem dat it wurdich is om te fangen.

De kar tusken in folsleine tunnel en in smelle trochstjoering is in beslút oer omfang, net oer feilichheidsteater.

Lit in werhelber paad efter

Dokumintearje de einpuntnamme yn stee fan in oplost adres, it boarneberik dat de befeiligingsgroep talit, en de databankrol dy’t de ûntwikkeler brûkt. Dy trije feiten ferklearje de measte takomstige mislearrings sûnder in oprop. Foegje ek de ferzje fan it kliïntprofyl ta, want in profylferoaring kin in rûte fuorthelje dy’t de âlde droech.

Testje dan ien kear it negative gefal: in kliïnt bûten de goedkarde boarne moat noch altyd wegere wurde.

In privee databank dy’t allinnich wurket foar de persoan dy’t har opset hat, is gjin privee tagong; it is in ûndokumintearre útsûndering dy’t wachtet om werûntdutsen te wurden. Skriuw it paad op, en de folgjende ûntwikkeler erft in metoade yn stee fan in riedsel.

Relatearre artikelen