Yhdistysten vuosikokoukset poikkeustilan aikana -webinaari
Sisällysluettelo:
- MySQL-palvelimen määrittäminen
- Käyttäjälle käyttöoikeuden myöntäminen etäkoneelta
- Palomuurin määrittäminen
- iptables
- UFW
- FirewallD
- Muutosten tarkistaminen
- johtopäätös
Oletuksena MySQL-palvelin kuuntelee yhteyksiä vain localhostilta, mikä tarkoittaa, että sitä voivat käyttää vain samassa isäntäkoneessa toimivat sovellukset.
Joissakin tilanteissa on kuitenkin välttämätöntä käyttää MySQL-palvelinta etäältä. Esimerkiksi, kun haluat muodostaa yhteyden etä MySQL-palvelimeen paikallisesta järjestelmästä tai kun käytät monipalvelimen käyttöönottoa, jossa sovellus toimii toisella koneella kuin tietokantapalvelin. Yksi vaihtoehto olisi käyttää MySQL-palvelinta SSH-tunnelin kautta ja toinen on määrittää MySQL-palvelin hyväksymään etäyhteydet.
Tässä oppaassa käydään läpi vaiheet, jotka ovat tarpeen etäyhteyksien sallimiseksi MySQL-palvelimeen. Samat ohjeet koskevat myös MariaDB: tä.
MySQL-palvelimen määrittäminen
Ensimmäinen askel on asettaa MySQL-palvelin kuuntelemaan tiettyä IP-osoitetta tai kaikkia koneen IP-osoitteita.
Jos MySQL-palvelin ja asiakkaat voivat kommunikoida keskenään yksityisen verkon kautta, paras vaihtoehto on asettaa MySQL-palvelin kuuntelemaan vain yksityisellä IP: llä. Muussa tapauksessa, jos haluat muodostaa yhteyden palvelimeen julkisen verkon kautta, aseta MySQL-palvelin kuuntelemaan kaikkia koneen IP-osoitteita.
Sinun on muokattava MySQL-määritystiedostoa ja lisättävä tai muutettava
bind-address
asetuksen arvoa. Voit asettaa yhden IP-osoitteen ja IP-alueet. Jos osoite on
0.0.0.0
, MySQL-palvelin hyväksyy yhteydet kaikkiin isäntä IPv4-rajapintoihin. Jos järjestelmässäsi on määritetty IPv6, käytä
0.0.0.0
sijasta
::
.
MySQL-määritystiedoston sijainti vaihtelee jakelusta riippuen. Ubuntu- ja Debian-tiedostoissa tiedosto sijaitsee
/etc/mysql/mysql.conf.d/mysqld.cnf
, kun taas Red Hat -pohjaisissa jakeluissa, kuten CentOS, tiedosto sijaitsee
/etc/my.cnf
.
Avaa tiedosto tekstieditorilla:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Etsi rivi, joka alkaa
bind-address
ja aseta sen arvo IP-osoitteeseen, jota MySQL-palvelimen tulisi kuunnella.
Oletuksena arvoksi on asetettu
127.0.0.1
(kuuntelee vain localhostissa).
Tässä esimerkissä asetamme MySQL-palvelimen kuuntelemaan kaikkia IPv4-rajapintoja muuttamalla arvoksi
0.0.0.0
bind-address = 0.0.0.0 # skip-networking
Jos on rivi, joka sisältää
skip-networking
, poista se tai kommentoi sitä lisäämällä
#
rivin alkuun.
MySQL 8.0: ssa ja uudemmissa versioissa
bind-address
-direktiiviä ei ehkä ole. Lisää tässä tapauksessa se kohtaan
osiossa.
Kun olet valmis, käynnistä MySQL-palvelu uudelleen, jotta muutokset tulevat voimaan. Vain pääkäyttäjät tai käyttäjät, joilla on sudo-oikeudet, voivat käynnistää palvelut uudelleen.
Voit käynnistää MySQL-palvelun uudelleen Debianissa tai Ubuntussa kirjoittamalla:
sudo systemctl restart mysql
RedHat-pohjaisissa jakeluissa, kuten CentOS, palvelun käynnistämiseksi uudelleen:
Käyttäjälle käyttöoikeuden myöntäminen etäkoneelta
Seuraava vaihe on sallia pääsy tietokantaan etäkäyttäjälle.
Kirjaudu sisään MySQL-palvelimeen pääkäyttäjänä kirjoittamalla:
sudo mysql
mysql -uroot -p
Myönnä MySQL-kuoren sisällä
GRANT
käsky myöntääksesi pääsyn etäkäyttäjälle.
GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
Missä:
-
database_nameon sendatabase_namenimi, johon käyttäjä muodostaa yhteyden. käyttäjänimi on MySQL-käyttäjän nimi.ip_addresson IP-osoite, josta käyttäjä muodostaa yhteyden. Käytä%antaaksesi käyttäjän muodostaa yhteyden mistä tahansa IP-osoitteesta.user_passwordon käyttäjän salasana.
Jos esimerkiksi haluat myöntää käyttöoikeuden tietokannan
dbname
käyttäjälle nimeltä
foo
salasanalla
my_passwd
IP
10.8.0.5
, suoritat seuraavan:
GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
Palomuurin määrittäminen
Viimeinen vaihe on määrittää palomuuri sallimaan liikenne
3306
(MySQL-oletusportti) etäkoneista.
iptables
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
Salli pääsy tietyltä IP-osoitteelta:
sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
UFW
UFW on Ubuntun oletuspalomuurityökalu. Pääsyn salliminen mistä tahansa Internet-osoitteesta (erittäin epävarma) suoritetaan:
sudo ufw allow 3306/tcp
Salli pääsy tietyltä IP-osoitteelta:
sudo ufw allow from 10.8.0.5 to any port 3306
FirewallD
FirewallD on CentOS: n oletuspalomuurin hallintatyökalu. Voit sallia pääsyn mistä tahansa Internet-osoitteesta (erittäin epävarma):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
Jos haluat sallia pääsyn tietystä IP-osoitteesta tietyllä portilla, voit joko luoda uuden FirewallD-vyöhykkeen tai käyttää Rich-sääntöä. Luo uusi vyöhyke nimeltään
mysqlzone
:
sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
Muutosten tarkistaminen
Suorita seuraava komento varmistaaksesi, että etäkäyttäjä voi muodostaa yhteyden MySQL-palvelimeen:
mysql -u user_name -h mysql_server_ip -p
Missä käyttäjän_nimi on käyttäjän nimi, jolle olet myöntänyt käyttöoikeuden, ja
mysql_server_ip
on isäntäkoneen IP-osoite, jossa MySQL-palvelin toimii.
Jos kaikki on asetettu oikein, voit kirjautua sisään etä MySQL-palvelimeen.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
Alla oleva virhe ilmaisee, että sisään yritettävällä käyttäjällä ei ole oikeuksia päästä MySQL-etäpalvelimeen.
"ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server"
johtopäätös
MySQL, oletuksena suosituin avoimen lähdekoodin tietopalvelin, kuuntelee saapuvia yhteyksiä vain localhostissa.
Jotta etäyhteydet MySQL-palvelimeen, sinun on suoritettava seuraavat vaiheet:
- Määritä MySQL-palvelin kuuntelemaan kaikkia tai tiettyä käyttöliittymää. Anna käyttöoikeus etäkäyttäjälle.Avaa palomuurisi MySQL-portti.
Tietoturvavalvonta saattaa sallia maanlaajuisen rikkomuksen
FBI: n vakuutuspyynnöt tarjoavat paremman käsityksen siitä, miten ihminen varasti asiakkaidemme tietoja Countrywideista
Kuinka sallia allekirjoittamattomien laajennusten asentaminen Firefoxiin
Firefox ei salli Unsigned-laajennusten asennusta.
Kuinka sallia oikealla napsautuksella verkkosivustoille, jotka ovat poistaneet sen käytöstä
Käytön salliminen uudelleen napsauttamalla verkkosivustoja tai blogeista, jotka ovat poistaneet sen käytöstä verkkosivuillaan selaimen asetusten tai työkalujen avulla.







