Egin MySQL-ek birbidalitako TCP ataka erabil dezan
Saihestu Unix socket lokal bat hautatzea MySQL bezero batek SSH TCP birbidalketa bidez konektatu behar duenean.
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.