Hoe phpMyAdmin installeren en beveiligen op Ubuntu 16.04

Inleiding

hoewel veel gebruikers de functionaliteit van een databasebeheersysteem zoals MySQL nodig hebben, voelen ze zich misschien niet comfortabel om met het systeem te communiceren alleen vanaf de MySQL-prompt.

phpMyAdmin is gemaakt zodat gebruikers kunnen communiceren met MySQL via een webinterface. In deze handleiding bespreken we hoe u phpMyAdmin kunt installeren en beveiligen, zodat u deze veilig kunt gebruiken om uw databases te beheren vanaf een Ubuntu 16.04-systeem.

Prerequisites

voordat u aan de slag gaat met deze gids, moet u enkele basisstappen hebben voltooid.

eerst gaan we ervan uit dat u een niet-root gebruiker met sudo privileges gebruikt, zoals beschreven in stappen 1-4 in de initiële serverinstelling van Ubuntu 16.04.

We gaan er ook van uit dat u een LAMP (Linux, Apache, MySQL en PHP) installatie hebt voltooid op uw Ubuntu 16.04 server. Als dit nog niet is voltooid, kunt u deze handleiding volgen over het installeren van een LAMP stack op Ubuntu 16.04.

tot slot zijn er belangrijke veiligheidsoverwegingen bij het gebruik van software zoals phpMyAdmin, omdat het:

  • communiceert direct met uw MySQL installatie
  • verwerkt authenticatie met MySQL referenties
  • uitvoert en resultaten retourneert voor willekeurige SQL queries

om deze redenen, en omdat het een wijdverbreide PHP applicatie is die vaak gericht is op aanvallen, moet u phpMyAdmin nooit op afstand uitvoeren systemen via een gewone HTTP verbinding. Als u geen bestaand domein hebt geconfigureerd met een SSL/TLS-certificaat, kunt u deze handleiding volgen over het beveiligen van Apache met Let ‘ s Encrypt op Ubuntu 16.04.

zodra u klaar bent met deze stappen, bent u klaar om aan de slag te gaan met deze gids.

stap één – installeer phpMyAdmin

om te beginnen zullen we phpMyAdmin installeren vanuit de standaard Ubuntu-repositories.

We kunnen dit doen door onze lokale pakketindex bij te werken en vervolgens hetapt verpakkingssysteem te gebruiken om de bestanden naar beneden te halen en ze op ons systeem te installeren:

  • sudo apt-get update
  • sudo apt-get install phpmyadmin php-mbstring php-gettext

Dit zal u een paar vragen stellen om uw installatie correct te configureren.

waarschuwing: wanneer de eerste prompt verschijnt, wordt apache2 gemarkeerd, maar niet geselecteerd. Als je niet op spatie drukt om Apache te selecteren, zal het installatieprogramma de benodigde bestanden niet verplaatsen tijdens de installatie. Druk op spatie, Tab en voer vervolgens in om Apache te selecteren.

  • voor de serverselectie kiest u apache2.
  • Selecteer Ja wanneer u wordt gevraagd of u dbconfig-common wilt gebruiken om de database in te stellen
  • wordt u gevraagd om het wachtwoord van uw database-beheerder
  • u wordt dan gevraagd om een wachtwoord te kiezen en te bevestigen voor de phpMyAdmin toepassing zelf

het installatieproces voegt het phpMyAdmin Apache configuratiebestand toe aan de /etc/apache2/conf-enabled/ map, waar het automatisch wordt gelezen.

Het enige wat we hoeven te doen is expliciet het inschakelen van de PHP mcrypt en mbstring extensies, die we kunnen doen door in te typen:

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

Daarna moet je Apache te herstarten om de wijzigingen te worden opgenomen:

  • sudo systemctl restart apache2

U kunt nu toegang krijgen tot de web-interface door het bezoeken van uw server-domein naam of IP adres gevolgd door /phpmyadmin:

https://domain_name_or_IP/phpmyadmin

phpMyAdmin login screen

u kunt nu inloggen op de interface met behulp van de root gebruikersnaam en het beheerderswachtwoord dat u hebt ingesteld tijdens de MySQL installatie.

wanneer u inlogt, zult u de gebruikersinterface zien, die er ongeveer zo uit zal zien:

phpMyAdmin gebruikersinterface

stap twee — Beveilig uw phpMyAdmin instantie

We waren in staat om onze phpMyAdmin interface vrij gemakkelijk aan de gang te krijgen. We zijn echter nog niet klaar. Vanwege de alomtegenwoordigheid, phpMyAdmin is een populair doelwit voor aanvallers. We moeten extra maatregelen nemen om onbevoegde toegang te voorkomen.

een van de makkelijkste manieren om dit te doen is door een gateway voor de gehele toepassing te plaatsen. We kunnen dit doen met Apache ‘ s ingebouwde .htaccess authenticatie en autorisatie functionaliteiten.

configureer Apache om toe te staan .htaccess Overrides

eerst moeten we het gebruik van .htaccess bestand overrides inschakelen door ons Apache configuratiebestand te bewerken.

We zullen het gekoppelde bestand bewerken dat in onze Apache configuratiemap is geplaatst:

  • sudo nano /etc/apache2/conf-available/phpmyadmin.conf

We moeten een AllowOverride All directive toevoegen binnen de <Directory /usr/share/phpmyadmin> sectie van het configuratiebestand, als volgt:

/etc/apache2/conf-beschikbaar/phpMyAdmin.conf
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .

wanneer u deze regel hebt toegevoegd, slaat u het bestand op en sluit het.

om de gemaakte wijzigingen door te voeren, herstart Apache:

  • sudo systemctl restart apache2

Maak een .htaccess-bestand

nu we .htaccess gebruiken voor onze toepassing hebben ingeschakeld, moeten we er een maken om daadwerkelijk enige beveiliging te implementeren.

om dit te laten slagen, moet het bestand worden aangemaakt in de toepassingsmap. We kunnen het benodigde bestand aanmaken en openen in onze teksteditor met root privileges door te typen:

  • sudo nano /usr/share/phpmyadmin/.htaccess

in dit bestand moeten we de volgende informatie invoeren:

/usr/share/phpmyadmin/.htaccess
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user

laten we eens kijken wat elk van deze regels betekent:

  • AuthType Basic: deze regel specificeert het authenticatietype dat we implementeren. Dit type implementeert wachtwoordverificatie met behulp van een wachtwoordbestand.
  • AuthName: dit stelt het bericht in voor het dialoogvenster authenticatie. U moet deze generieke houden, zodat onbevoegde gebruikers geen informatie krijgen over wat wordt beschermd.
  • AuthUserFile: Hiermee stelt u de locatie in van het wachtwoordbestand dat zal worden gebruikt voor authenticatie. Dit moet buiten de directory ‘ s staan die worden geserveerd. We zullen dit bestand binnenkort maken.
  • Require valid-user: geeft aan dat alleen geverifieerde gebruikers toegang tot deze bron moeten krijgen. Dit is wat eigenlijk stopt onbevoegde gebruikers van het invoeren.

sla het bestand op en sluit het.

maak de .htpasswd – bestand voor authenticatie

de locatie die we selecteerden voor ons wachtwoordbestand was “/etc/phpmyadmin/.htpasswd“. We kunnen dit bestand nu aanmaken en een eerste gebruiker doorgeven met het htpasswd hulpprogramma:

  • sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

u wordt gevraagd een wachtwoord te kiezen en te bevestigen voor de gebruiker die u aanmaakt. Daarna wordt het bestand aangemaakt met het gehashte wachtwoord dat u hebt ingevoerd.

Als u een extra gebruiker wilt invoeren, moet u dit doen zonder de vlag -c, als volgt:

  • sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

wanneer u nu uw phpMyAdmin subdirectory opent, wordt u gevraagd naar de extra accountnaam en het wachtwoord dat u zojuist hebt geconfigureerd.:

https://domain_name_or_IP/phpmyadmin

phpMyAdmin apache password

na het invoeren van de Apache authenticatie wordt u naar de reguliere phpMyAdmin authenticatie pagina gebracht om uw andere referenties in te voeren. Dit zal een extra beveiligingslaag toevoegen omdat phpMyAdmin in het verleden heeft geleden onder kwetsbaarheden.

conclusie

u moet nu phpMyAdmin geconfigureerd en klaar voor gebruik op uw Ubuntu 16.04 server. Met behulp van deze interface kunt u eenvoudig databases, gebruikers, tabellen, enz., en het uitvoeren van de gebruikelijke bewerkingen zoals het verwijderen en wijzigen van structuren en gegevens.

Related Posts

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *