Kuinka sallia etäyhteydet MySQL:ään

Jos työskentelet MySQL-tietokannan(MySQL database) kanssa , olet jo tietoinen haasteista, joita kohtaat tietokantasi suojaamisessa. Tietokantahakkerointiyrityksistä SQL -injektioilla raa'an voiman hyökkäyksiä on vaikea pitää tietosi turvassa, varsinkin jos työskentelet tietokannan kanssa etänä.

On olemassa tapoja määrittää SQL - palvelin sallimaan etäyhteydet, mutta sinun on oltava varovainen, koska etäyhteyksien salliminen MySQL -palvelimella voi tehdä tietokannastasi helpon kohteen hakkereille. Jos haluat sallia suojatut etäyhteydet MySQL -tietokantaan, sinun on tiedettävä seuraavat asiat.

Ennen kuin aloitat(Before You Begin)

Ennen kuin teet muutoksia MySQL -tietokantaan, on tärkeää varmuuskopioida tietokanta(backup your database) , varsinkin jos työskentelet tuotantopalvelimella (aktiivisessa käytössä oleva palvelin). Kaikki tietokantaan tai sitä isännöivään palvelimeen tekemäsi muutokset voivat johtaa vakavaan tietojen menetykseen, jos jokin menee pieleen.

Saatat myös huomata, että muutokset palvelimesi yhteyksiin voivat estää sinua käyttämästä sitä myöhemmin. Jos näin tapahtuu, saatat joutua ottamaan yhteyttä palvelimen järjestelmänvalvojaan lisätuen saamiseksi. Hyvä idea on kokeilla kaikkia muutoksia paikallisesti ajettavalla MySQL - palvelimella tarkistaaksesi, toimivatko muutokset, ennen kuin yrität niitä etänä.

On myös todennäköistä, että jos teet muutoksia etäpalvelimeen, tarvitset turvallisen tavan muodostaa yhteys ja tehdä muutoksia. SSH (Secure Shell) on usein paras tapa tehdä tämä, koska sen avulla voit muodostaa yhteyden etäpalvelimeesi. Voit myös käyttää SSH :ta yhteyden muodostamiseen paikallisverkossasi oleviin palvelimiin, kuten Raspberry Pi:ssä(hosted on a Raspberry Pi) oleviin palvelimiin .

Tämä opas opastaa sinut MySQL :n määritysvaiheiden läpi sallimaan etäyhteydet, mutta sinun on ensin varmistettava, että sinulla on suora tai etäyhteys MySQL -palvelinta isännöivään palvelimeen.

Oletetaan(Suppose) , että sinulla ei ole etäkäyttöä palvelimellesi esimerkiksi SSH :n kautta. (SSH)Siinä tapauksessa et voi määrittää MySQL -tietokantaasi sallimaan etäyhteydet suoraan, ellei mySQL-juuritilisi jo salli etäyhteyksiä. Joten sinun on ensin muodostettava tämä yhteys ennen kuin voit jatkaa.

MySQL-määritystiedoston muokkaaminen(Editing Your MySQL Configuration File)

Ensimmäinen vaihe MySQL :n määrittämisessä sallimaan etäyhteydet on muokata MySQL - määritystiedostoa. Tässä vaiheessa tämä opas olettaa, että olet jo muodostanut yhteyden palvelimeen, PC:hen tai Maciin(Mac) , joka isännöi mySQL-tietokantaa etäyhteyden kautta, ja sinulla on pääsy konsoliin. 

Vaihtoehtoisesti voit määrittää paikallisen MySQL -palvelimen käyttämällä avointa päätettä Macissa(Mac) tai Linuxissa(Linux) tai tekstieditorilla Windowsissa(Windows) .

  1. Aloita muokkaamalla MySQL - tietokantatiedostoa haluamallasi konsolitekstieditorilla. Kirjoita Linuxissa (Linux)sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf pääte- tai SSH -(SSH) ikkunaan muokataksesi tätä tiedostoa nanoeditorilla(nano) (olettaen, että MySQL -tietokanta on oletussijainnissa)

  1. Jos käytät Windowsia(Windows) , avaa File Explorer ja siirry kansioon, joka sisältää MySQL - asennuksesi (esim. C:/Program Files/MySQL/MySQL Server 8.0 ). Avaa my.ini- tiedosto oletustekstieditorillasi (esim. Muistio(Notepad) ) kaksoisnapsauttamalla merkintää. Jos sitä ei ole, luo tiedosto ensin(create the file first) .

  1. Avaa Macissa(Mac) pääteikkuna ja kirjoita sudo nano /usr/local/etc/my.cnf . Tämä on MySQL(MySQL) :n oletusmääritystiedosto, jos olet asentanut MySQL :n (MySQL) käyttämällä homebrew'ta(using homebrew) .

Yllä mainitut sijainnit ovat MySQL(MySQL) - määritystiedostojen oletussijainteja . Jos nämä komennot eivät toimi, sinun on etsittävä asiaankuuluvat tiedostot ( my.cnf , mysqld.cnf tai my.ini ) manuaalisesti oikean tiedostopolun löytämiseksi.

Turvallisen sidonta-osoitteen IP-alueen asettaminen(Setting a Safe Bind-Address IP Range)

  1. Kun olet avannut palvelimesi MySQL - määritystiedoston, käytä näppäimistön nuolinäppäintä päästäksesi tiedoston sidososoiteosaan(bind-address) . Tämä IP-alue rajoittaa yhteyksiä tietokantaan, joka on yleensä asetettu sallimaan yhteydet vain paikalliselta koneelta tai palvelimelta käyttämällä 127.0.0.1 .

  1. Jos haluat määrittää MySQL -tietokantasi sallimaan yhteydet laitteilta, jotka käyttävät nykyistä Internet-yhteyttäsi, etsi ensin julkinen IP-osoitteesi(find your public IP address) ja korvaa sitten 127.0.0.1 tällä IP-osoitteella. Vaihtoehtoisesti voit korvata sen sen laitteen tai palvelimen IP-osoitteella, josta haluat sallia yhteydet.

  1. Joissakin tilanteissa saatat haluta sallia kaikki(all) etäyhteydet MySQL - tietokantaan. Tämä sisältää äärimmäisen riskin(extreme risk) , eikä sitä tule käyttää tuotantopalvelimella. Jos kuitenkin haluat sallia tämän, korvaa 127.0.0.1 arvolla 0.0.0.0 .

  1. Merkitse muistiin portin(port ) arvo Perusasetukset(Basic Settings) -osiossa. Tätä vaaditaan seuraavassa osiossa. Jos se ei ole näkyvissä, käytetään oletusarvoa, joka on portti 3306 . Voit lisätä oman portin kirjoittamalla port = xxxx uudelle riville ja korvaamalla xxxx sopivalla portin arvolla.

  1. Kun olet määrittänyt sidososoitteen MySQL- (bind-address )määritystiedostossasi(MySQL) , tallenna tiedosto. Jos käytät Linuxia(Linux) , tee tämä valitsemalla Ctrl + O ja Ctrl + X Valitse Macissa Command + O ja Command + X . Windows-käyttäjät voivat tallentaa valitsemalla Tiedosto(File ) > Tallenna(Save) .

  1. Seuraavaksi Linux- ja Mac - käyttäjät voivat käynnistää MySQL :n uudelleen kirjoittamalla mysql.server stop && mysql.server start tai mysql.server restart . Sinun on ehkä nostettava komentoa käyttämällä(using sudo) sudoa (esim. sudo mysql.server restart ) ja käytettävä oikeaa polkua mysql.server-tiedostoon (esim. /usr/local/bin/mysql.server /usr/local/bin/mysql.server .

  1.  Jos yllä oleva komento ei toimi, kokeile sen sijaan sudo service mysql restart .

  1. Käynnistä MySQL uudelleen Windowsissa(Windows) avaamalla uusi PowerShell -ikkuna napsauttamalla hiiren kakkospainikkeella Käynnistä(Start) - valikkoa ja valitsemalla Windows PowerShell (Admin) . Kirjoita PowerShell-ikkunaan net stop mysql80 ja sen jälkeen net start mysql80 ja korvaa mysql80 oikealla palvelun nimellä tietokoneessasi.

Jos et ole varma oikeasta palvelun nimestä Windowsissa(Windows) , etsi se kirjoittamalla net start . Jos et voi ladata määrityksiäsi uudelleen, käynnistä palvelin uudelleen ja lataa MySQL manuaalisesti (tarvittaessa).

Palomuurien määrittäminen(Configuring Your Firewalls)

Tässä vaiheessa MySQL - tietokantasi pitäisi sallia etäyhteydet laitteista, jotka käyttävät MySQL -määritystiedostossasi sidososoitearvoksi määrittämääsi IP -osoitetta(bind-address) (tai kaikista laitteista, jos asetat arvoksi 0.0.0.0 ). Laitteesi tai verkon palomuuri(device or network firewall) estää kuitenkin edelleen yhteydet .

Useimmat palvelimet ja tietokoneet käyttävät palomuuria estämään yhteydet, ellei pääsyä tiettyyn porttiin myönnetä. Tämän määritysvaiheet vaihtelevat sen mukaan, käytätkö MySQL : ää Windowsissa(Windows) vai Linuxissa(Linux) . Macin(Mac) palomuurit ovat oletusarvoisesti poissa käytöstä, joten sinun ei tarvitse suorittaa muita vaiheita tässä.

Määritä Linuxin palomuurit(Configure Linux Firewalls)

Monet Linux-palvelimet käyttävät iptablesia(iptables) oletuspalomuurityökaluna. Voit määrittää sen seuraamalla alla olevia ohjeita.

  1. Avaa pääte- tai SSH - yhteys ja kirjoita sudo iptables -A INPUT -p tcp -s XXXX –dport YYYY -j ACCEPT . Korvaa XXXX sen laitteen IP-osoitteella, josta haluat sallia MySQL - yhteydet ,(from) ja korvaa YYYY vastaavalla portin arvolla MySQL - määritystiedostosta (esim. 3306 ).

  1. Tämä määrittää palomuurin väliaikaisesti. Jos käytät Debian- tai Ubuntu-pohjaista Linux - palvelinta, tee tästä muutoksesta pysyvä kirjoittamalla pääte- tai SSH-ikkunaan sudo netfilter-persistent save ja sudo netfilter-persistent reload .

Jos iptables ei ole oletuspalomuurityökalu Linux - jakelullesi, sinun on katsottava lisätietoja jakelusi käyttöoppaasta. Jos tietyt paketit (kuten netfilter-persistent ) eivät ole saatavilla, asenna ne jakelusi ohjelmistovarastotyökalulla (esim. sudo apt install netfilter-persistent ).

Määritä Windowsin palomuurit(Configure Windows Firewalls)

Jos käytät Windows-tietokonetta tai -palvelinta tietokantaasi isännöimiseen, voit määrittää palomuurisi seuraavasti:

  1. (Right-click)Napsauta hiiren kakkospainikkeella Käynnistä(Start) - valikkoa ja valitse Suorita(Run) .

  1. Kirjoita Suorita(Run) - ruutuun wf.msc ja valitse OK .

  1. Valitse Windows Defender(Windows Defender) -ikkunassa Saapuvat säännöt(Inbound Rules ) > Uusi sääntö(New Rule) .

  1. Valitse Ohjattu uuden saapuvan(New Inbound Rule Wizard) säännön ikkunassa Portti(Port ) > Seuraava(Next) .

  1. Valitse seuraavassa valikossa vaihtoehdoista TCP , kirjoita 3306 (tai mikä tahansa portin arvo, joka on lueteltu MySQL - määritystiedostossasi) ja valitse sitten Seuraava(Next) .

  1. Jätä Toiminto(Action) - valikon oletusasetukseksi Salli yhteys(Allow the connection) käytössä ja valitse sitten Seuraava(Next) .

  1. Vahvista, että haluat säännön sovellettavan kaikkiin verkkotyyppeihin, ja valitse sitten Seuraava(Next)

  1. Kirjoita säännölle kuvaava nimi (esim. MySQL ) annettuun porttiin ja lisää se palomuurisääntöjen luetteloon valitsemalla Valmis .(Finish)

Jos sinulla on ongelmia yhteyden muodostamisessa, toista nämä yllä olevat vaiheet ja varmista, että luot palomuuriasetuksissa uuden lähtevän sääntön(outbound rule ) samoilla tiedoilla (portti 3306 jne.). Saatat myös joutua määrittämään paikallisen verkon reitittimen avaamaan tarvittavat estetyt portit(open the necessary blocked ports) , jotta tietokantaan tulevat ja lähtevät yhteydet voidaan muodostaa. 

Yhteyden muodostaminen etäpalvelimeen MySQL:n avulla(Connecting to a Remote Server Using MySQL)

Kun olet määrittänyt MySQL -tietokantasi sallimaan etäyhteydet, sinun on muodostettava siihen yhteys. Voit tehdä tämän käyttämällä mysql - komentoa ( mysql.exe Windowsissa ) päätteestä(Windows) tai PowerShell - ikkunasta.

Jos käytät Windowsia(Windows) , sinun on varmistettava, että MySQL on asennettu paikallisesti(MySQL is installed locally) ennen kuin aloitat. Mac - käyttäjät voivat asentaa MySQL :n (MySQL) käyttämällä homebrew'ta(using homebrew) päätteestä ( brew install mysql ), kun taas Linux - käyttäjät voivat käyttää paikallista sovellusvarastoaan (esim. sudo apt install mysql ) asentaakseen tarvittavat paketit.

Yhdistäminen MySQL:ään Linuxissa tai Macissa(Connecting to MySQL on Linux or Mac)

  1. Voit muodostaa yhteyden MySQL - etäpalvelimeesi Macissa(Mac) tai Linuxissa(Linux) avaamalla uusi pääteikkuna ja kirjoittamalla mysql -u käyttäjätunnus -h XXXX:XXXX -p(mysql -u username -h X.X.X.X:XXXX -p) . Korvaa XXXX:XXXX etäpalvelimesi IP-osoitteella ja portin numerolla (esim. 100.200.100.200:3306 ) ja käyttäjänimi(username) MySQL-käyttäjänimelläsi.

  1. Vahvista salasanasi pyydettäessä. Jos yhteys onnistuu, päätteeseen tulee onnistumisviesti.

Yhdistäminen MySQL:ään Windowsissa(Connecting to MySQL on Windows)

  1. Voit muodostaa yhteyden MySQL - etäpalvelimeen Windowsissa(Windows) avaamalla uuden PowerShell -ikkunan napsauttamalla hiiren kakkospainikkeella Käynnistä(Start) - valikkoa ja valitsemalla Windows PowerShell (Admin) .

  1. Kirjoita uuteen PowerShell-ikkunaan cd “C:\Program Files\MySQL\MySQL Workbench 8.0\ " kirjoittaaksesi oikeaan kansioon ja korvaa tämä hakemisto tietokoneesi oikealla asennushakemistolla. Jos esimerkiksi MySQL -versiosi on 8.0.1, käytä sen sijaan MySQL Workbench 8.0.1 -kansiota.

  1. Kirjoita sieltä .\mysql.exe -u username -h X.X.X.X:XXXX -p . Korvaa XXXX:XXXX etäpalvelimesi IP-osoitteella ja portin numerolla (esim. 100.200.100.200:3306 ) ja käyttäjätunnuksella MySQL (username)-(MySQL) käyttäjänimellä, joka mahdollistaa etäkäytön (kuten root ). Noudata(Follow) muita näytön ohjeita.
  2. Anna salasanasi pyydettäessä viimeistelläksesi kirjautumisprosessin ja käyttääksesi MySQL - tietokantaasi etänä.

Jos tämä ei auta, muodosta yhteys MySQL(MySQL) - palvelinta isännöivään palvelimeen tai tietokoneeseen SSH :n avulla (tai käytä sitä suoraan) käyttämällä näitä ohjeita ja käyttämällä -h localhost -argumenttia. Voit sitten luoda sopivan käyttäjätilin seuraamalla alla olevia ohjeita.

MySQL-tietokannan etäkäytön salliminen(Allowing Remote User Access to a MySQL Database)

Tähän mennessä sinun pitäisi pystyä muodostamaan etäyhteys MySQL -palvelimeesi käyttämällä palvelimesi pääkäyttäjätiliä tai muuta käyttäjätiliä, jolla on korotetut oikeudet. Koska tämä käyttöoikeustaso ei ole turvallinen, saatat haluta luoda rajoitetumman tilin käyttääksesi MySQL - tietokantaasi.

Tällä tilillä on rajoitettu pääsy MySQL - palvelimeesi, joten se voi olla vuorovaikutuksessa vain valittujen tietokantojen kanssa. Se ei voi tehdä vakavampia muutoksia, kuten pääsyä muihin tietokantatietoihin, luoda uusia käyttäjätilejä jne. 

Sinulla on oltava mahdollisuus kirjautua sisään MySQL - palvelimellesi etänä. Jos et voi käyttää root-tiliäsi etänä, sinun on käytettävä palvelimesi komentotulkkia mysql - komennolla SSH -etäyhteyden kautta tai suoraan palvelinta isännöivälle tietokoneelle tai palvelimelle.

  1. Kirjoita MySQL -etäkuormitukseen (käyttäen mysql - työkalua) CREATE USER “username”@”x.x.x.x” IDENTIFIED BY “password”; ja valitse Enter . Korvaa käyttäjätunnus(username ) käyttäjätunnuksella, jonka haluat luoda, xxxx IP-osoitteella, josta haluat muodostaa yhteyden, ja salasana(password) sopivalla salasanalla.

  1. Sinun on myönnettävä uudelle tilillesi tarvittavat käyttöoikeudet. Tee tämä kirjoittamalla GRANT ALL ON databasename.* TO username@”x.x.x.x”; ja korvaa tietokannan nimi, käyttäjätunnus(databasename, username, ) ja xxxx  oikeilla tiedoilla. Jos haluat, korvaa tietokannan nimi (databasename)* : lla , jotta se voi käyttää kaikkia tietokantoja. 

Kun käyttöoikeus on myönnetty, käytä yllä olevan osan vaiheita muodostaaksesi etäyhteyden palvelimeesi käyttämällä uutta tiliäsi (esim. mysql -u käyttäjätunnus -h XXXX:XXXX -p(mysql -u username -h X.X.X.X:XXXX -p) ).

Tietokantatietojen suojaaminen(Securing Your Database Data)

Työskenteletpä sitten MySQL :n tai muun tyyppisen SQL -tietokannan kanssa, on tärkeää pitää yhteytesi turvassa tietoturvan ylläpitämiseksi. Hyvä tapa tehdä tämä on luoda SSH-avaimia etäkäyttöä(generate SSH keys for remote access) varten palvelimellesi sen sijaan, että luottaisit vanhentuneisiin (ja helposti arvattaviin) salasanoihin.

Jos olet huolissasi tietojen katoamisesta, voit helposti varmuuskopioida tietokantasi(back up your database) verkossa. Useimpia tietokantoja käytetään Linux -palvelimilla – voit automatisoida Linux-tiedostojen varmuuskopioinnin helposti(automate a Linux file backup easily) . Jos käytät MySQL : ää Windowsissa(Windows) , voit määrittää Windowsille samanlaisen automaattisen varmuuskopiointijärjestelmän(automatic backup system for Windows) , jonka avulla voit palauttaa tietosi hätätilanteessa.



About the author

Hei! Nimeni on ja olen laitteistohakkeri. Minulla on yli 10 vuoden kokemus tietokoneiden korjaamisesta ja muokkaamisesta. Voin korjata melkein mitä tahansa kannettavista tietokoneista tabletteihin ja älytelevisioihin. Taitojeni avulla pystyn auttamaan asiakkaita ratkaisemaan ongelmansa nopeasti ja tehokkaasti. Blogini on omistettu auttamaan ihmisiä korjaamaan tietokoneita ja laitteitaan oikeilla työkaluilla. Ja Facebook-sivullani jaan vinkkejä, temppuja ja oivalluksia kaikesta tietokoneeseen liittyvästä!



Related posts