SSH birbidalketak 13306 ataka lokalean entzuten du, baina mysql oraindik datu-base lokalera konektatzen da—edo bere socket lokala falta dela jakinarazten du. Unix-en, localhost ematen zaion MySQL bezero batek Unix socket bat hauta dezake TCPren ordez. Ataka bat emateak ez du nahitaez aukera hori aldatzen.

Dagoeneko onartutako TCP birbidalketa baterako, egin protokoloa esplizitu:

mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
  --user=dbuser --password

Erabiltzaile-izena adibidezkoa da; pasahitzaren aukerak elkarrekintzako sarrera eskatzen du. Komandoa TCP entzule lokalera konektatzen da, Unix socket batera beharrean.

Eduki bi saio-hasierak bereizita

SSH ibilbide finko batek forma hau izan dezake:

ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]

Pasabidearen SSH zerbitzariak db.internal:3306 heltzen du. Gero MySQLek datu-baseko kontua byte-korronte horren bidez autentifikatzen du. Onartutako SSH gako batek ez du datu-baseko saio-hasiera ematen, eta datu-basearen iturri-murrizketek konexioa ibilbidearen alde horretatik iristen ikusten dute.

Hau TCP egokitzaile finko bat da, ez mysql-ek kontsumitzen duen SOCKS ezarpen bat. Aplikazioak ez du SOCKS negoziaziorik behar, birbidalketaren amaierako puntuak aldez aurretik zehaztutako helburu bat baitu.

Mantendu datu-basearen TLS identitate eta ziurtagiri-politika aurreikusitakoa erabiltzen diren lekuetan. Socket-a loopback-era konektatzeak ez du datu-baseko ziurtagiria baliozko bihurtzen zerbitzu-izen desberdin baterako. TCP konexio lokal arrakastatsu batek garraioaren aukera erabakitzen du, ez geroagoko datu-basearen autentifikazioa ezta TLS egiaztapenak ere.

Erlazionatutako artikuluak