Thứ ba, 20/02/2018 | 00:00 GMT+7

Cách cài đặt và bảo mật phpMyAdmin trên Ubuntu 16.04

Trong khi nhiều user cần chức năng của hệ quản trị database như MySQL, họ có thể không cảm thấy thoải mái khi tương tác với hệ thống chỉ từ dấu nhắc MySQL.

phpMyAdmin được tạo ra để user có thể tương tác với MySQL thông qua giao diện web. Trong hướng dẫn này, ta sẽ thảo luận về cách cài đặt và bảo mật phpMyAdmin để bạn có thể sử dụng nó một cách an toàn để quản lý database của bạn từ hệ thống Ubuntu 16.04.

Yêu cầu

Trước khi bắt đầu với hướng dẫn này, bạn cần hoàn thành một số bước cơ bản.

Đầu tiên, ta sẽ giả định bạn đang sử dụng user không phải root có quyền sudo, như được mô tả trong bước 1-4 trong cài đặt server ban đầu của Ubuntu 16.04 .

Ta cũng sẽ giả định bạn đã hoàn tất cài đặt LAMP (Linux, Apache, MySQL và PHP) trên server Ubuntu 16.04 của bạn . Nếu việc này vẫn chưa hoàn tất, bạn có thể làm theo hướng dẫn này về cách cài đặt LAMP trên Ubuntu 16.04 .

Cuối cùng, có những lưu ý quan trọng về bảo mật khi sử dụng phần mềm như phpMyAdmin, vì nó:

  • Giao tiếp trực tiếp với cài đặt MySQL của bạn
  • Xử lý xác thực bằng thông tin đăng nhập MySQL
  • Thực thi và trả về kết quả cho các truy vấn SQL tùy ý

Vì những lý do này và bởi vì nó là một ứng dụng PHP được triển khai rộng rãi thường bị nhắm đến tấn công, bạn không nên chạy phpMyAdmin trên các hệ thống từ xa qua kết nối HTTP thuần túy. Nếu bạn không có domain hiện có được cấu hình với certificate SSL / TLS, bạn có thể làm theo hướng dẫn này về cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 16.04 .

Khi bạn đã hoàn thành các bước này, bạn đã sẵn sàng để bắt đầu với hướng dẫn này.

Bước một - Cài đặt phpMyAdmin

Để bắt đầu, ta sẽ cài đặt phpMyAdmin từ repository mặc định của Ubuntu.

Ta có thể làm điều này bằng cách cập nhật index gói local của bạn và sau đó sử dụng trình cài đặt gói apt để kéo các file xuống và cài đặt chúng trên hệ thống của ta :

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

Tiếp theo sẽ hỏi bạn để cấu hình cài đặt của bạn một cách chính xác.

Cảnh báo: Khi dấu nhắc đầu tiên xuất hiện, apache2 được đánh dấu, nhưng không được chọn. Nếu bạn không nhấn Space để chọn Apache, trình cài đặt sẽ không di chuyển các file cần thiết trong quá trình cài đặt. Nhấn Space , Tab , sau đó nhấn Enter để chọn Apache.

  • Đối với lựa chọn server , hãy chọn apache2 .
  • Chọn khi được hỏi có sử dụng dbconfig-common để cài đặt database hay không
  • Bạn sẽ được yêu cầu nhập password administrator database của bạn
  • Sau đó, bạn cần chọn và xác nhận password cho chính ứng dụng phpMyAdmin

Quá trình cài đặt thực sự thêm file cấu hình phpMyAdmin Apache vào folder /etc/apache2/conf-enabled/ , nơi nó tự động được đọc.

Điều duy nhất ta cần làm là bật rõ ràng các phần mở rộng mcryptmbstring PHP, ta có thể thực hiện bằng lệnh :

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

Sau đó, bạn cần khởi động lại Apache để các thay đổi được công nhận:

  • sudo systemctl restart apache2

Như vậy, bạn có thể truy cập giao diện web bằng cách truy cập vào domain hoặc địa chỉ IP công cộng của server , theo sau là /phpmyadmin :

https://domain_name_or_IP/phpmyadmin 

màn hình đăng nhập phpMyAdmin

Đến đây bạn có thể đăng nhập vào giao diện bằng tên user root và password quản trị mà bạn đã cài đặt trong quá trình cài đặt MySQL.

Khi đăng nhập, bạn sẽ thấy giao diện user trông giống như sau:

giao diện  user  phpMyAdmin

Bước hai - Bảo mật version phpMyAdmin của bạn

Ta đã có thể cài đặt và chạy giao diện phpMyAdmin của bạn khá dễ dàng. Tuy nhiên, ta vẫn chưa xong. Do tính phổ biến của nó, phpMyAdmin là mục tiêu phổ biến của những kẻ tấn công. Ta nên thực hiện các bước bổ sung để ngăn truy cập trái phép.

Một trong những cách dễ nhất để thực hiện việc này là đặt một cổng vào trước toàn bộ ứng dụng. Ta có thể làm điều này bằng cách sử dụng các chức năng xác thực và ủy quyền .htaccess được tích hợp sẵn của Apache.

Cấu hình Apache để Cho phép Ghi đè .htaccess

Đầu tiên, ta cần kích hoạt tính năng overrides file .htaccess bằng cách chỉnh sửa file cấu hình Apache của ta .

Ta sẽ chỉnh sửa file được liên kết đã được đặt trong folder cấu hình Apache của ta :

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

Ta cần thêm chỉ thị AllowOverride All trong phần <Directory /usr/share/phpmyadmin> của file cấu hình, như sau:

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

Khi bạn đã thêm dòng này, hãy lưu file .

Để áp dụng các thay đổi bạn đã thực hiện, hãy khởi động lại Apache:

  • sudo systemctl restart apache2

Tạo file .htaccess

Bây giờ ta đã bật sử dụng .htaccess cho ứng dụng của bạn , ta cần tạo một cái để thực sự triển khai một số bảo mật.

Để thành công, file phải được tạo trong folder ứng dụng. Ta có thể tạo file cần thiết và mở file đó trong editor của ta với quyền root bằng lệnh :

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

Trong file này, ta cần nhập các thông tin sau:

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

Hãy xem xét ý nghĩa của từng dòng sau:

  • AuthType Basic : Dòng này chỉ định kiểu xác thực mà ta đang triển khai. Loại này sẽ triển khai xác thực password bằng file password .
  • AuthName : Điều này đặt thông báo cho hộp thoại xác thực. Bạn nên giữ điều này chung chung để user lạ sẽ không nhận được bất kỳ thông tin nào về những gì đang được bảo vệ.
  • AuthUserFile : Điều này đặt vị trí của file password sẽ được sử dụng để xác thực. Điều này phải nằm ngoài các folder đang được phục vụ. Ta sẽ tạo file này trong thời gian ngắn.
  • Require valid-user : Điều này chỉ định rằng chỉ những user được xác thực mới được cấp quyền truy cập vào tài nguyên này. Đây là những gì thực sự ngăn user lạ xâm nhập.

Khi bạn hoàn tất, hãy lưu file .

Tạo file .htpasswd để xác thực

Vị trí mà ta đã chọn cho file password của bạn là “ /etc/phpmyadmin/.htpasswd ”. Bây giờ ta có thể tạo file này và chuyển nó thành user ban đầu bằng tiện ích htpasswd :

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

Bạn sẽ được yêu cầu chọn và xác nhận password cho user bạn đang tạo. Sau đó, file được tạo bằng password băm mà bạn đã nhập.

Nếu bạn muốn nhập thêm user , bạn cần phải làm như vậy mà không có cờ -c , như sau:

  • sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

Bây giờ, khi bạn truy cập vào folder con phpMyAdmin của bạn , bạn sẽ được yêu cầu nhập tên account và password bổ sung mà bạn vừa cấu hình :

https://domain_name_or_IP/phpmyadmin 

mật khẩu apache phpMyAdmin

Sau khi nhập xác thực Apache, bạn sẽ được đưa đến trang xác thực phpMyAdmin thông thường để nhập các thông tin đăng nhập khác của bạn . Điều này sẽ bổ sung thêm một lớp bảo mật vì phpMyAdmin đã từng bị các lỗ hổng bảo mật trong quá khứ.

Kết luận

Đến đây bạn đã cấu hình phpMyAdmin và sẵn sàng sử dụng trên server Ubuntu 16.04 của bạn . Sử dụng giao diện này, bạn có thể dễ dàng tạo database , user , bảng, v.v. và thực hiện các thao tác thông thường như xóa và sửa đổi cấu trúc và dữ liệu.


Tags:

Các tin liên quan

Cách thiết lập vsftpd cho Thư mục người dùng trên Ubuntu 16.04
2018-02-20
Cách thiết lập đường ống tích hợp liên tục với GitLab CI trên Ubuntu 16.04
2018-01-26
Cách cài đặt Swift và Vapor trên Ubuntu 16.04
2018-01-25
Cách cài đặt và cấu hình GitLab trên Ubuntu 16.04
2018-01-24
Cách cài đặt và bảo mật Grafana trên Ubuntu 16.04
2017-12-27
Cách cài đặt Prometheus trên Ubuntu 16.04
2017-12-14
Cách theo dõi cảnh báo Nagios với Alerta trên Ubuntu 16.04
2017-12-13
Cách cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01
Cách cài đặt và sử dụng TensorFlow trên Ubuntu 16.04
2017-12-01
Cách cài đặt Elasticsearch, Logstash và Kibana (ELK Stack) trên Ubuntu 14.04
2017-12-01