Ubuntu'da phpMyAdmin'i Kurma ve Güvenlileştirme 18.04

Bu öğreticinin önceki bir sürümü Brennan Bearnes tarafından yazılmıştır.

Giriş

Çoğu kullanıcı MySQL gibi bir veritabanı yönetim sisteminin işlevselliğine ihtiyaç duysa da, sistemle yalnızca MySQL komut isteminden rahatça etkileşim kuramıyor olabilirler.

phpMyAdmin, kullanıcıların bir web arayüzü üzerinden MySQL ile etkileşimde bulunabilmesi için oluşturuldu. Bu kılavuzda, phpMyAdmin'in nasıl kurulacağını ve bağlanacağını tartışacağız, böylece veritabanlarınızı bir Ubuntu 18.04 sisteminden yönetmek için güvenle kullanabilirsiniz.

Ön şartlar

Bu kılavuza başlamadan önce, tamamlanmış bazı temel adımlara sahip olmanız gerekir.

İlk olarak, sunucunuzun, Ubuntu 18.04 için ilk sunucu kurulum kılavuzunda açıklandığı gibi, sudo ayrıcalıklarına sahip bir root kullanıcısı ve ufw ile yapılandırılmış bir güvenlik duvarı olduğunu kabul edeceğiz.

Ayrıca Ubuntu 18.04 sunucunuzda bir LAMP (Linux, Apache, MySQL ve PHP) kurulumunu tamamladığınızı varsayıyoruz. Bu henüz tamamlanmadıysa, Ubuntu 18.04'te LAMP yığını kurmak için bu kılavuzu takip edebilirsiniz.

Son olarak, phpMyAdmin gibi yazılımları kullanırken önemli güvenlik hususları vardır, çünkü

  • MySQL kurulumunuzla doğrudan iletişim kurar
  • MySQL kimlik bilgilerini kullanarak kimlik doğrulaması yapar
  • Rasgele SQL sorguları için sonuçları yürütür ve döndürür

Bu nedenlerden dolayı ve genellikle saldırı için hedeflenen yaygın olarak kullanılan bir PHP uygulaması olduğundan, phpMyAdmin'i uzaktaki bir HTTP bağlantısı üzerinden uzak sistemlerde çalıştırmamalısınız. SSL / TLS sertifikasıyla yapılandırılmış mevcut bir alan adınız yoksa, Ubuntu 18.04'te Let's Encrypt ile Apache'yi güvenli hale getirmek için bu kılavuzu takip edebilirsiniz.

Bu adımlarla işiniz bittiğinde, bu kılavuza başlamak için hazırsınız.

Adım Bir – phpMyAdmin'in Kurulumu

Başlamak için phpMyAdmin'i varsayılan Ubuntu depolarından kuracağız.

Yerel paket dizinimizi güncelleyerek ve daha sonra dosyaları aşağı çekmek ve sistemimize yüklemek için apt paketleme sistemini kullanarak bunu yapabiliriz:

  • sudo apt güncellemesi
  • sudo apt install phpmyadmin php-mbstring php-gettext

Bu, kurulumunuzu doğru bir şekilde yapılandırmak için size birkaç soru soracaktır.

Uyarı: istemi göründüğünde, apache2 vurgulanan, ancak seçili değildir. Eğer isabet yoksa SPACE Apache seçmek için, yükleyici yükleme sırasında gerekli dosyaları hareket etmeyecektir. Apache'yi seçmek için SPACE , TAB ve ENTER basın.

  • Sunucu seçimi için apache2'yi seçin.
  • Veritabanını kurmak için dbconfig-common kullanılıp kullanılmayacağı sorulduğunda evet'i seçin.
  • Daha sonra phpMyAdmin için bir MySQL uygulama şifresi seçip onaylamanız istenecektir.

Yükleme işlemi phpMyAdmin Apache yapılandırma dosyasını otomatik olarak okuduğu /etc/apache2/conf-enabled/ dizinine ekler. Yapmamız gereken tek şey, yazarak yapabileceğimiz mbstring PHP uzantısını açıkça etkinleştirmektir:

  • sudo phpenmod mbstring

Daha sonra, değişikliklerin tanınması için Apache'yi yeniden başlatmanız gerekir:

  • sudo systemctl apache2'yi yeniden başlat

Artık web arayüzüne sunucunuzun alan adını veya genel IP adresini ve ardından /phpmyadmin adresini ziyaret ederek erişebilirsiniz:

https://your_domain_or_IP/phpmyadmin

Artık phpmyadmin kullanıcı adını ve kurulum sırasında kurduğunuz yönetici şifresini kullanarak arayüze giriş yapabilirsiniz.

Giriş yaptığınızda, böyle bir şeye benzeyen kullanıcı arayüzünü göreceksiniz:

İkinci Adım – phpMyAdmin Örneklemenizi Güvende Etme

PhpMyAdmin arayüzümüzü oldukça kolay bir şekilde çalıştırabildik. Ancak, henüz bitmedi. Her yerde bulunabilmesinden dolayı, phpMyAdmin saldırganlar için popüler bir hedeftir. Yetkisiz erişimi önlemek için ekstra adımlar atmalıyız.

Bunu yapmanın en kolay yollarından biri, tüm uygulamanın önüne bir geçit yerleştirmektir. Apache'nin yerleşik .htaccess kimlik doğrulama ve yetkilendirme işlevlerini kullanarak bunu yapabiliriz.

Bunu yap, Apache konfigürasyon dosyasını düzenleyerek .htaccess dosya geçersiz kılmalarını kullanabilmeliyiz.

Apache yapılandırma dizinimize yerleştirilmiş olan bağlantılı dosyayı düzenleyin:

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

AllowOverride All gibi, yapılandırma dosyasının <Directory /usr/share/phpmyadmin> bölümündeki AllowOverride All yönergelerini ekleyin:

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

Bu satırı eklediğinizde, dosyayı kaydedip kapatın.

Yaptığınız değişiklikleri uygulamak için Apache'yi yeniden başlatın:

  • sudo systemctl apache2'yi yeniden başlat

Uygulamamız için .htaccess kullanımını etkinleştirdiğimize göre, aslında bir miktar güvenlik uygulamak için bir tane oluşturmamız gerekiyor.

Bunun başarılı olması için, dosya uygulama dizini içinde oluşturulmalıdır. Gerekli dosyayı oluşturabilir ve metin düzenleyicimize root imtiyazlarıyla yazarak yazabiliriz:

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

Bu dosya içerisinde aşağıdaki bilgileri girin:

/usr/share/phpmyadmin/.htaccessAuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

İşte bu satırların her birinin anlamı şudur:

  • AuthType Basic : Bu satır, uyguladığımız kimlik doğrulama türünü belirtir. Bu tip bir şifre dosyası kullanarak şifre kimlik doğrulamasını uygulayacaktır.
  • AuthName : Bu, kimlik doğrulama iletişim kutusu için mesaj ayarlar. Bu jeneriği saklamalısınız, böylece yetkisiz kullanıcılar neyin korunmakta olduğu hakkında herhangi bir bilgi elde etmeyeceklerdir.
  • AuthUserFile : Bu, kimlik doğrulama için kullanılacak parola dosyasının konumunu ayarlar. Bu, sunulmakta olan dizinlerin dışında olmalıdır. Bu dosyayı kısa bir süre içerisinde oluşturacağız.
  • Require valid-user : Bu, yalnızca doğrulanmış kullanıcıların bu kaynağa erişim izni verileceğini belirtir. Bu, yetkisiz kullanıcıların girmesini engelleyen şeydir.

İşiniz bittiğinde, dosyayı kaydedin ve kapatın.

Şifre dosyamız için seçtiğimiz yer /etc/phpmyadmin/.htpasswd . Şimdi bu dosyayı oluşturabilir ve htpasswd yardımcı programıyla ilk kullanıcıya iletebiliriz:

  • sudo htpasswd -c /etc/phpmyadmin/.htpasswd kullanıcı adı

Oluşturduğunuz kullanıcı için bir şifre seçmeniz ve onaylamanız istenecektir. Daha sonra, dosya girdiğiniz karma şifre ile oluşturulur.

Ek bir kullanıcı girmek istiyorsanız, bunu -c bayrağı olmadan yapmanız gerekir:

  • sudo htpasswd /etc/phpmyadmin/.htpasswd ekleyici

Artık, phpMyAdmin alt dizininize eriştiğinizde, yeni yapılandırdığınız ek hesap adı ve şifresi istenir:

https://domain_name_or_IP/phpmyadmin

Apache kimlik doğrulamasını girdikten sonra, diğer kimlik bilgilerinizi girmek için normal phpMyAdmin kimlik doğrulama sayfasına yönlendirilirsiniz. Bu, phpMyAdmin geçmişte güvenlik açıklarından muzdarip olduğu için ek bir güvenlik katmanı ekleyecektir.

Sonuç

Artık phpMyAdmin'in Ubuntu 18.04 sunucunuzda yapılandırılmış ve kullanıma hazır olması gerekir. Bu arabirimi kullanarak, veritabanlarını, kullanıcıları, tabloları, vb. Kolayca oluşturabilir ve yapıları ve verileri silme ve değiştirme gibi olağan işlemleri gerçekleştirebilirsiniz.

Bir önceki yazımız olan Laravel'de Görünüm Bileşenlerinin Tanıtılması, Bestecilerin Görüntülenmesine Bir Alternatif başlıklı makalemizi de okumanızı öneririz.

About This Author

Comments are closed

%d blogcu bunu beğendi: