máj 30

Külső MySQL elérés SSH kapcsolaton keresztül

Sziasztok!

A múltkori SSH-s poszt után gy gondoltam ezt a vonalat tovább lehetne fűzni. Most jöjjön egy kis biztonságos MySQL kapcsolat.

Sokan ahhoz, hogy elérjék a MySQL adatbázisukat kinyitják a külvilág felé az adatbázis szervert, így lehetőséget adva a hackereknek a gonoszkodásra.

Figyelem egy működő SSH usernek léteznie kell!

Első lépésként a mysql-t zárjuk vissza a úgy, hogy a bind address-t visszaállítjuk 127.0.0.1-re, ez a konfigban a következőképpen néz ki:

A konfig helye: “/etc/mysql/my.cnf”

bind-address = 127.0.0.1 

Ezután  újraindítjuk a mysql szerverünket a “/etc/init.d/mysql restart” paranccsal

Miután ez megvan, belépünk SSH-n keresztül a MySQL szerverünkre és minden olyan usert akinek nem “localhost” a hostneve átírjuk. (Esetleges hibákat kaphattok, ha van olyan user akinek volt localhostra és egyéb hostokra is külön joga.)

Ezt a következőképpen tehetjük meg:

# mysql -p
Enter password:<jelszó és enter>

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set host = ‘localhost’ where host <> ‘localhost’;

mysql> flush privileges;
Query OK, 0 rows affected (0.15 sec)

Most, hogy már kívülről nem lehet közvetlenül elérni a szerverünket, kerüljük meg egy SSH tunnel segítségével, a következő módon. A példa bemutatására a Navicat SQL kliens programot használom, de bármilyen jó lehet amivel lehet tunnelezni.

A lépések a következők:

1. Hozzunk létre egy új kapcsolatot, és kattintsunk az SSH fülre, majd az alábbi példa alapján töltsük ki:

  • Host: a szerver címe (géped IP címe v domain név)
  • Port: SSH szerver portja (alapértelmezetten 22)
  • User Name: SSH user neve (nem a mysql-é)
  • Authentication Method: lehet jelszavas vagy kulcsos. (Ha jelszavas választasz, akkor értelemszerűen jelszót kell beírni, ha SSH kulcsos akkor a kulcsod privát részét kell betallózni, esetleg a kulcsod jelszavát megadni amennyiben van).

Nekem jelszavas SSH kulcsom van így én azt adtam meg és persze kamu adatokat.

2. töltsük ki a General fül alatt a mysql felhasználónkat és jelszavunkat, a hostot nyugodtan hagyjuk localhoston.

 

Amennyiben mindent jól állítottatok be a teszt gombra nyomva a következő ablak ugrik elő:

Remélem hasznos volt a doksi, jó szórakozást hozzá.

 

 

Vélemény, hozzászólás?