PhpMyAdmin asentaminen ja suojaaminen Apachen avulla CentOS 7-palvelimelle

Johdanto

relaatiotietokannan hallintajärjestelmiä, kuten MySQL ja MariaDB, tarvitaan merkittävälle osalle web-sivustoja ja sovelluksia. Kaikki käyttäjät eivät kuitenkaan tunne oloaan mukavaksi hallinnoidessaan tietojaan komentoriviltä.

tämän ongelman ratkaisemiseksi luotiin phpMyAdmin-niminen projekti, jonka tarkoituksena oli tarjota vaihtoehto verkkopohjaisen hallintarajapinnan muodossa. Tässä oppaassa, osoitamme, miten asentaa ja turvata phpMyAdmin kokoonpano CentOS 7 palvelimelle. Rakennamme tämän asennuksen päälle Apache web server, suosituin web server maailmassa.

edellytykset

ennen kuin aloitamme, on muutamia vaatimuksia, jotka on selvitettävä.

varmistaaksesi, että sinulla on vankka perusta tämän järjestelmän rakentamiselle, sinun tulisi käydä läpi CentOS 7: n alkuperäinen palvelinasetusopas. Tämä auttaa sinua muun muassa perustamaan ei-pääkäyttäjän, jolla on sudo pääsy hallinnollisiin komentoihin.

toinen edellytys, joka on täytettävä tämän oppaan aloittamiseksi, on asentaa LAMPPUPINO (Linux, Apache, MariaDB ja PHP) CentOS 7-palvelimelle. Tämä on alusta, jota käytämme palvelemaan phpMyAdmin-käyttöliittymäämme (MariaDB on myös tietokannan hallintaohjelmisto, jota haluamme hallita). Jos sinulla ei vielä ole lampun asennusta palvelimellasi, seuraa opetusohjelmaamme lampun asentamisesta CentOS 7: ään.

kun palvelimesi on kunnolla toiminnassa näiden oppaiden seuraamisen jälkeen, voit jatkaa matkaa tämän sivun loppuun.

ensimmäinen vaihe-Asenna phpMyAdmin

kun LAMPPUALUSTAMME on jo olemassa, voimme aloittaa heti phpMyAdmin-ohjelmiston asentamisen. Valitettavasti phpMyAdmin ei ole saatavilla CentOS 7: n oletusvarastossa.

jotta saamme tarvitsemamme paketit, meidän on lisättävä järjestelmäämme ylimääräinen repo. EPEL repo (Extra Packages for Enterprise Linux) sisältää monia lisäpaketteja, mukaan lukien etsimämme phpMyAdmin-paketti.

EPEL-arkiston voi saada palvelimelle asentamalla erikoispaketin nimeltä epel-release. Tämä määrittää arkistoluettelosi uudelleen ja antaa sinulle pääsyn EPEL-paketteihin.

asentaa, vain kirjoittaa:

sudo yum install epel-release

nyt kun EPEL repo on määritetty, voit asentaa phpmyadmin-paketin käyttäen yum pakkausjärjestelmää kirjoittamalla:

sudo yum install phpmyadmin

asennus on nyt valmis. Asennus sisälsi Apache-asetustiedoston, joka on jo otettu käyttöön. Meidän täytyy muokata tätä hieman saada se toimimaan oikein meidän asennus.

avaa tiedosto tekstieditorissasi nyt, jotta voimme tehdä muutamia muutoksia:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

sisällä näemme joitakin hakemistolohkoja, joissa on jonkin verran ehdollista logiikkaa hakemistomme käyttöoikeuskäytännön selittämiseksi. On olemassa kaksi erillistä hakemistoja, jotka on määritelty, ja näissä, kokoonpanot, jotka ovat voimassa sekä Apache 2.2 ja Apache 2.4 (jota olemme käynnissä).

tällä hetkellä tämä asetus on määritetty estämään pääsyn yhteyksiin, joita ei ole tehty itse palvelimesta. Koska työskentelemme palvelimellamme etänä, meidän on muokattava joitakin rivejä kotiyhteytesi IP-osoitteen määrittämiseksi.

muuta kaikki rivit, joissa lukee Require ip 127.0.0.1 tai Allow from 127.0.0.1, viittaamaan kotiyhteytesi IP-osoitteeseen. Jos tarvitset apua kotiyhteytesi IP-osoitteen löytämisessä, tutustu seuraavaan osioon. Tiedostossa pitäisi olla neljä paikkaa, joita pitää muuttaa:

. . .Require ip your_workstation_IP_address. . .Allow from your_workstation_IP_address. . .Require ip your_workstation_IP_address. . .Allow from your_workstation_IP_address. . .

kun olet valmis, käynnistä Apache-www-palvelin uudelleen ja toteuta muutokset kirjoittamalla:

sudo systemctl restart httpd.service

sen kanssa, meidän phpMyAdmin asennus on nyt toiminnassa. Jos haluat käyttää käyttöliittymää, siirry selaimessasi palvelimen verkkotunnukseen tai julkiseen IP-osoitteeseen, jota seuraa /phpMyAdmin:

http://server_domain_or_IP/phpMyAdmin

phpMyAdmin kirjautumisnäyttö

kirjautuaksesi sisään, käytä kelvollisen MariaDB-käyttäjän käyttäjätunnusta / salasanaa. root käyttäjä ja MariaDB-hallintasalasana on hyvä valinta alkuun. Tämän jälkeen voit käyttää hallintaliittymää:

phpMyAdmin admin interface

Etsi IP-osoitteesi

sinun tulee tietää sen tietokoneen IP-osoite, jota käytät päästäksesi tietokantoihisi, jotta voit suorittaa yllä olevan vaiheen. Tämä on varotoimi, jotta luvattomat ihmiset eivät voi muodostaa yhteyttä palvelimeesi.

Huomaa: Tämä ei ole VPS: n IP-osoite, vaan koti-tai työtietokoneesi IP-osoite.

voit selvittää, miten the greater web näkee IP-osoitteesi käymällä jollakin näistä sivustoista selaimessasi:

  • mikä on IP-osoitteeni?
  • What ’ s My IP?
  • IP-osoitteeni

vertaa muutamia eri sivustoja ja varmista, että ne kaikki antavat sinulle saman arvon. Käytä tätä arvoa yllä olevassa asetustiedostossa.

step Two-Secure your phpMyAdmin Instance

the phpMyAdmin instance installed on our server should be completely usable at this point. Asentamalla web-käyttöliittymän olemme kuitenkin altistaneet MySQL-järjestelmämme ulkomaailmalle.

mukana tulevalla todennusnäytölläkin tämä on melkoinen ongelma. Koska phpMyAdmin on suosittu yhdistettynä sen tarjoamaan suureen datamäärään, tällaiset laitteistot ovat yleisiä kohteita hyökkääjille.

toteutamme kaksi yksinkertaista strategiaa vähentääksemme sitä mahdollisuutta, että laitoksemme joutuisi kohteeksi ja vaarantuisi. Vaihdamme rajapinnan sijainnin /phpMyAdmin joksikin muuksi väistääksemme joitakin automatisoituja bottien brute-force-yrityksiä. Luomme myös ylimääräisen, web-palvelintason todennuskäytävän, joka on läpäistävä ennen kuin edes pääsee phpMyAdmin-kirjautumisnäyttöön.

sovelluksen käyttöpaikan muuttaminen

jotta Apache-verkkopalvelimemme toimisi phpMyAdminin kanssa, phpMyAdmin Apache-asetustiedostomme käyttää peitenimeä osoittaakseen tiedostojen hakemiston sijainnin.

muuttaaksesi URL-osoitteen, jossa phpMyAdmin-käyttöliittymämme on käytettävissä, meidän tarvitsee vain nimetä alias. Avaa phpMyAdmin Apache-asetustiedosto nyt:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

tiedoston yläosassa näet kaksi riviä, jotka näyttävät tältä.:

Alias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin

nämä kaksi riviä ovat peitenimiämme, mikä tarkoittaa, että jos käytämme sivustomme verkkotunnusta tai IP-osoitetta, jota seuraa joko /phpMyAdmin tai /phpmyadmin, meille tarjoillaan sisältö osoitteessa /usr/share/phpMyAdmin.

haluamme poistaa käytöstä nämä erityiset peitenimet, koska ne ovat vahvasti bottien ja pahantahtoisten käyttäjien kohteena. Sen sijaan meidän pitäisi päättää omasta peitenimestämme. Sen pitäisi olla helppo muistaa, mutta ei helppo arvata. Sen ei pitäisi ilmoittaa URL-sijainnin tarkoitusta. Meidän tapauksessamme mennään /nothingtosee.

soveltaaksemme aiottuja muutoksia, meidän tulisi poistaa tai kommentoida olemassa olevia rivejä ja lisätä omia rivejämme:

# Alias /phpMyAdmin /usr/share/phpMyAdmin# Alias /phpmyadmin /usr/share/phpMyAdminAlias /nothingtosee /usr/share/phpMyAdmin

kun olet valmis, Tallenna ja sulje tiedosto.

toteutaaksesi muutokset, käynnistä verkkopalvelu uudelleen:

sudo systemctl restart httpd.service

nyt, jos menet edelliseen paikkaan phpMyAdmin asennus, saat 404 virhe:

http://server_domain_or_IP/phpMyAdmin

phpMyAdmin 404 error

kuitenkin phpMyAdmin-käyttöliittymäsi on käytettävissä valitsemassamme uudessa paikassa:

http://server_domain_or_IP/nothingtosee

phpMyAdmin-kirjautumisnäyttö

WWW-palvelimen Tunnistusportin perustaminen

seuraava ominaisuus, jonka halusimme asennukseemme, oli todennuskehote, jonka käyttäjän olisi läpäistävä ennen phpMyAdmin-kirjautumisnäytön näkemistä.

onneksi useimmat verkkopalvelimet, mukaan lukien Apache, tarjoavat tämän ominaisuuden natiivisti. Meidän tarvitsee vain muokata Apache-asetustiedostoa käyttämään valtuutustietoa.

avaa phpMyAdmin Apache-asetustiedosto tekstieditorissa uudelleen:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

/usr/share/phpMyAdmin hakemistolohkon sisällä, mutta minkä tahansa sisällä olevan lohkon ulkopuolella, on lisättävä ohitusdirektiivi. Se näyttää tältä.:

. . .<Directory /usr/share/phpMyAdmin/> AllowOverride All <IfModule mod_authz_core.c> . . .</Directory>. . .

tämän avulla voimme määrittää lisäasetustiedot tiedostossa nimeltä .htaccess, joka sijaitsee itse phpMyAdmin-hakemistossa. Käytämme tätä tiedostoa salasanan tunnistamiseen.

Tallenna ja sulje tiedosto, kun olet valmis.

Käynnistä verkkopalvelu uudelleen tämän muutoksen toteuttamiseksi:

sudo systemctl restart httpd.service

luo an .htaccess-tiedosto

nyt kun kokoonpanossamme on ohitusdirektiivi, Apache etsii .htaccess – nimistä tiedostoa /usr/share/phpMyAdmin – hakemistosta. Jos se löytää sellaisen, se käyttää sisältämiään direktiivejä täydentääkseen aiempia konfiguraatiotietojaan.

seuraava askel on luoda .htaccess – tiedosto kyseiseen hakemistoon. Käytä tekstieditori tehdä niin nyt:

sudo nano /usr/share/phpMyAdmin/.htaccess

tähän tiedostoon, meidän täytyy syöttää seuraavat tiedot:

AuthType BasicAuthName "Admin Login"AuthUserFile /etc/httpd/pma_passRequire valid-user

käydään läpi, mitä kukin näistä riveistä tarkoittaa.:

  • AuthType Basic: Tämä rivi määrittää toteutettavan todennustyypin. Tämä tyyppi toteuttaa salasanatodennuksen salasanatiedoston avulla.
  • AuthName: tämä asettaa todennus-valintaikkunan viestin. Sinun pitäisi pitää tämä yleinen niin, että luvattomat käyttäjät eivät saa tietoa siitä, mitä on suojattu.
  • AuthUserFile: tämä määrittää todennukseen käytettävän varsinaisen salasanatiedoston sijainnin. Tämän pitäisi olla tarjolla olevien hakemistojen ulkopuolella. Luomme tämän tiedoston hetken kuluttua.
  • vaadi kelvollinen-käyttäjä: Tämä määrittää, että vain todennetuille käyttäjille tulisi antaa pääsy tähän resurssiin. Tämä itse asiassa estää luvattomia käyttäjiä pääsemästä sisään.

kun olet syöttänyt nämä tiedot, Tallenna ja sulje tiedosto.

luo Salasanatiedosto tunnistamista varten

nyt kun olemme määrittäneet salasanatiedoston sijainnin käyttämällä AuthUserFile direktiiviä .htaccess tiedostossamme, meidän on luotava ja kansoitettava salasanatiedosto.

tämä voidaan toteuttaa käyttämällä Apache-apuohjelmaa nimeltä htpasswd. Kutsumme komennon syöttämällä sen sijainnin, johon haluamme luoda tiedoston ja käyttäjätunnuksen, jonka haluamme antaa tunnistustiedot:

sudo htpasswd -c /etc/httpd/pma_pass username

merkintä -c osoittaa, että tämä luo alkuperäisen tiedoston. Hakemiston sijainti on tiedostolle käytettävä polku ja tiedostonimi. Käyttäjätunnus on ensimmäinen käyttäjä, jonka haluamme lisätä. Sinua pyydetään syöttämään ja vahvistamaan käyttäjän salasana.

jos haluat lisätä lisäkäyttäjiä todennettavaksi, voit soittaa saman komennon uudelleen ilman -c – lippua ja uudella käyttäjätunnuksella:

sudo htpasswd /etc/httpd/pma_pass seconduser

kun salasanatiedostomme on luotu, todennuskäytävä on otettu käyttöön ja meidän pitäisi nyt nähdä salasanakehote seuraavan kerran, kun vierailemme sivustollamme:

http://server_domain_or_IP/nothingtosee

Apache authentication page

kun annat tunnuksesi, sinut viedään normaalille phpMyAdmin-kirjautumissivulle. Tämä lisätty suojakerros auttaa pitämään MySQL-lokit puhtaana todennusyrityksistä lisätyn tietoturvaedun lisäksi.

johtopäätös

voit nyt hallita MySQL-tietokantojasi kohtuullisen turvallisesta web-käyttöliittymästä. Tämä käyttöliittymä paljastaa suurimman osan toiminnallisuudesta, joka on saatavilla MySQL-komentokehotteesta. Voit tarkastella tietokantoja ja skeemaa, suorittaa kyselyjä ja luoda uusia tietokokonaisuuksia ja rakenteita.

You might also like

Vastaa

Sähköpostiosoitettasi ei julkaista.