phpMyAdmin là một ứng dụng web dựa trên PHP, mã nguồn mở và miễn phí, cung cấp một GUI dựa trên trình duyệt đơn giản, mạnh mẽ và thuận tiện để tương tác và làm việc với cơ sở dữ liệu MySQL. Nó làm cho quá trình tạo, sửa đổi và cấu hình cơ sở dữ liệu MySQL đơn giản và hiệu quả hơn nhiều
Tại sao bảo mật phpMyAdmin?
phpMyAdmin được các nhà phát triển và quản trị viên hệ thống chấp nhận và sử dụng rộng rãi trong cả môi trường sản xuất và phát triển. Do đó, đây là một thành phần quan trọng để bảo mật dựa trên bản chất của dữ liệu mà nó được sử dụng để tạo và quản lý
Tính năng phpMyAdmin
Đây là một số tính năng cốt lõi của phpMyAdmin
- Thực hiện các truy vấn SQL tiêu chuẩn
- Tạo, sửa đổi và xóa người dùng và quyền của người dùng
- Tạo, sửa đổi và xóa cơ sở dữ liệu, bảng, hàng và trường
- Tìm kiếm đối tượng trong cơ sở dữ liệu và bảng
- Sao lưu cơ sở dữ liệu MySQL của bạn
Trước khi bắt đầu
Để cài đặt và bảo mật phpMyAdmin, bạn cần có máy chủ Linux với các dịch vụ sau đang chạy
- Apache2
- MySQL 8 trở lên
- PHP
Ba phần mềm cần thiết cũng thường được gọi là ngăn xếp LAMP. Các bước sau có thể sử dụng trên Ubuntu 20. 04 để cài đặt tất cả các phần mềm tiên quyết cần thiết
Cài đặt Apache 2. 4 từ kho lưu trữ Ubuntu
sudo apt install apache2
Cài đặt gói
3sudo apt install php-curl php-json php-cgi
sudo apt install mysql-server
Cài đặt PHP, Kho lưu trữ ứng dụng và tiện ích mở rộng PHP, hỗ trợ Apache và hỗ trợ MySQL
sudo apt install php libapache2-mod-php php-mysql
Tùy chọn, cài đặt hỗ trợ cURL, JSON và CGI bổ sung
sudo apt install php-curl php-json php-cgi
Ghi chú
Các bước trong hướng dẫn này chỉ được thử nghiệm trên Ubuntu 20. 04. Các bản phân phối khác nhau có thể yêu cầu các bước bổ sung để hoàn tất cài đặt thành công
Tạo người dùng MySQL
Bạn luôn nên tạo một người dùng cơ sở dữ liệu riêng cho từng ứng dụng và tránh sử dụng tài khoản người dùng gốc
Để tạo một người dùng MySQL mới, bạn có thể đăng nhập vào MySQL bằng lệnh sau
sudo mysql -u root
Tạo người dùng mới bằng cách nhập lệnh sau, thay thế các biến
4 vàsudo apt install php-curl php-json php-cgi
5 bằng các giá trị của riêng bạnsudo apt install php-curl php-json php-cgi
Sau khi tạo người dùng, gán quyền quản trị. Điều này có thể được thực hiện bằng cách chạy lệnh sau
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
Thoát MySQL bằng cách chạy lệnh sau
exit
Ghi chú
Ngoài ra, nên tắt thông tin đăng nhập root
Cài đặt phpMyAdmin
phpMyAdmin có thể được cài đặt bằng cách chạy lệnh sau trong thiết bị đầu cuối của bạn
sudo apt-get install phpmyadmin php-json php-curl php-mbstring php-zip php-gd
Chỉ định công nghệ máy chủ web bạn đang sử dụng, đảm bảo rằng bạn chỉ định apache làm máy chủ web mặc định
- Trong quá trình cài đặt, bạn sẽ được nhắc Cấu hình cơ sở dữ liệu cho phpMyAdmin với dbconfig-common. Chọn
6 để tiếp tụcsudo apt install php-curl php-json php-cgi
- Bạn cũng sẽ được nhắc chỉ định mật khẩu ứng dụng cho phpMyAdmin. Nhập một mật khẩu mạnh duy nhất để truy cập phpMyAdmin với tư cách quản trị viên và chọn
7sudo apt install php-curl php-json php-cgi
Sau khi cài đặt phpMyAdmin, bạn sẽ cần kích hoạt mô-đun PHP
8, điều này có thể được thực hiện bằng cách chạy lệnh sau trong terminalsudo apt install php-curl php-json php-cgi
sudo phpenmod mbstring
Sau khi kích hoạt mô-đun
8, bạn sẽ cần khởi động lại dịch vụ apache2. Để khởi động lại dịch vụ, hãy chạy lệnh sau trong thiết bị đầu cuốisudo apt install php-curl php-json php-cgi
0sudo apt install mysql-server
Định cấu hình phpMyAdmin để hoạt động với Apache2
Để cho phép truy cập phpMyAdmin với Apache2, cần phải tạo một liên kết tượng trưng cho một số tệp cấu hình để phpMyAdmin có thể truy cập chúng. Điều này có thể được hoàn thành bằng cách nhập lệnh sau
sudo apt install mysql-server
1Khi các liên kết tượng trưng đã được tạo, phpMyAdmin sẽ cần bật các tệp cấu hình và apache2 sẽ cần được khởi động lại
sudo apt install mysql-server
2Sau khi khởi động lại Apache2, trang chủ cho phpMyAdmin, sẽ có thể truy cập miễn phí trong trình duyệt web của bạn bằng cú pháp sau
sudo apt install mysql-server
3Có thể hoàn tất đăng nhập bằng thông tin đăng nhập được tạo tại dấu nhắc khi cài đặt phpMyAdmin
Ghi chú
Mặc dù không có trong hướng dẫn này hoặc bản cài đặt cơ bản của phpMyAdmin, chúng tôi thực sự khuyên bạn nên cài đặt SSL/TLS trước khi nhập bất kỳ thông tin đăng nhập nào trên
sudo mysql -u root
0, thay vào đó chỉ sử dụng sudo mysql -u root
1 trên cổng sudo mysql -u root
2Thay đổi bí danh phpMyAdmin
Bước đầu tiên để bảo mật phpMyAdmin là thay đổi bí danh thư mục mặc định được sử dụng để truy cập phpMyAdmin. Theo mặc định, bất kỳ người dùng nào cũng có thể truy cập phpMyAdmin bằng cách truy cập URL máy chủ. https. ///phpmyadmin
Điều này đặt ra một mối đe dọa bảo mật vì những kẻ tấn công biết tên thư mục và có thể truy cập nó mà không bị hạn chế. Để giảm thiểu điều này, bạn có thể thực hiện các thao tác sau để tạo bí danh mới nhằm thay đổi URL nơi truy cập trang đăng nhập
Mở /etc/phpmyadmin/Apache. conf và sử dụng trình soạn thảo văn bản bạn chọn để tìm phần
3, xuất hiện như bên dưới theo mặc địnhTập tin. /etc/phpmyadmin/apache. confsudo mysql -u root
4_______2_______5sudo apt install mysql-server
Bạn nên nối thêm mục nhập phpmyadmin
3 đầu tiên với các ký tự được tạo bởi trình tạo chuỗi ngẫu nhiên để chỉnh sửa và tạo hậu tố cho tên bí danh như được minh họa trong tệp sauTập tin. /etc/phpmyadmin/apache. confsudo mysql -u root
4_______2_______7sudo apt install mysql-server
Khi bí danh đã được tạo, hãy khởi động lại apache
8sudo apt install mysql-server
Bí danh bây giờ sẽ được sử dụng làm thư mục được sử dụng để truy cập trang chủ phpMyAdmin
Là một lớp bảo mật bổ sung, bạn cũng có thể tận dụng chức năng xác thực apache2 để tích hợp biểu mẫu xác thực tên người dùng và mật khẩu sẽ được định cấu hình để cung cấp một lớp bảo vệ bổ sung đối với thư mục/URL phpMyAdmin
Đầu tiên, thêm tùy chọn
5 bên dưới cấu hình thư mục trong tệp cấu hình phpMyAdmin apache2 được tìm thấy trongsudo mysql -u root
6. Điều này sẽ cho phép bạn ghi đè bất kỳ cấu hình apache2 nào được chỉ định trong. tập tin htaccess. Tệpsudo mysql -u root
7 của bạn phải phản ánh những điều sauTập tin. /etc/phpmyadmin/apache. confsudo mysql -u root
9sudo apt install mysql-server
0sudo apt install php libapache2-mod-php php-mysql
Bây giờ bạn có thể thiết lập xác thực apache2 bằng cách tạo. htaccess trong thư mục phpMyAdmin mặc định. Tệp phải được tạo là
8. Sau khi tạo tệp, bạn có thể tạo cấu hình xác thực như được liệt kê bên dướiTập tin. /usr/share/phpmyadmin/. htaccesssudo mysql -u root
1____3_______2sudo apt install php libapache2-mod-php php-mysql
Sau khi tạo cấu hình, bây giờ bạn cần tạo người dùng và mật khẩu cho biểu mẫu xác thực. Như được chỉ định trong tệp
8,. htaccess có chứa thông tin đăng nhập sẽ được lưu trữ trongsudo mysql -u root
0. Để tạo user và password, có thể sử dụng tiện íchCREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
1 như sau, thay thếCREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
2 bằng tên người dùng tùy chọnCREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
3sudo apt install php libapache2-mod-php php-mysql
Bạn sẽ được nhắc chỉ định một mật khẩu an toàn mới. Khuyến cáo rằng mật khẩu này là duy nhất từ mật khẩu phpMyAdmin
Bây giờ bạn có thể khởi động lại apache2 để áp dụng cấu hình và kích hoạt lớp xác thực bổ sung
8sudo apt install mysql-server
Hạn chế quyền truy cập vào một địa chỉ IP cụ thể
Một biện pháp bảo mật bổ sung mà bạn có thể thực hiện là hạn chế quyền truy cập phpMyAdmin vào một IP cụ thể hoặc một nhóm địa chỉ IP, đây là một cấu hình bảo mật tuyệt vời nếu bạn có IP tĩnh không thay đổi, tuy nhiên, nếu bạn sử dụng cấu hình IP động
Để định cấu hình hạn chế dựa trên IP, hãy làm theo các quy trình được nêu bên dưới
Truy cập và hạn chế dựa trên IP có thể được định cấu hình trong tệp
6, trong cấu hình thư mụcsudo mysql -u root
4. Để từ chối quyền truy cập vào tất cả các IP và cấp quyền truy cập vào một IP hoặc mạng con cụ thể, hãy thêm cấu hình sau được minh họa bên dưới vào tệp trong khi lưu ý thay thế địa chỉ IP bằng IP hoặc các IP của riêng bạnTập tin. /etc/phpmyadmin/apache. confCREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
1sudo apt install php libapache2-mod-php php-mysql
6sudo apt install php libapache2-mod-php php-mysql
Tệp cấu hình đầy đủ bây giờ sẽ tương tự như sau
Tập tin. /etc/phpmyadmin/apache. conf
7sudo apt install php libapache2-mod-php php-mysql
8sudo apt install php libapache2-mod-php php-mysql
Sau khi thêm cấu hình địa chỉ IP của bạn, hãy khởi động lại apache2 để áp dụng nó
8sudo apt install mysql-server
Cấu hình này sẽ từ chối quyền truy cập vào tất cả ngoại trừ những người có hoặc khớp với địa chỉ IP mà bạn đã chỉ định. Nếu một địa chỉ IP không xác định cố gắng truy cập phpMyAdmin, họ sẽ nhận được phản hồi
CREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
5Cấu hình PHP tùy chỉnh
Bạn cũng có thể thêm các cấu hình PHP cụ thể để làm cho phpMyAdmin an toàn hơn nhiều bằng cách loại bỏ tất cả thông tin máy chủ hoặc hệ thống và bằng cách sửa đổi các tham số xác thực cookie
Để thêm các tùy chọn PHP tùy chỉnh của chúng tôi, bạn sẽ cần sửa đổi tệp
6. Trong tệp, bạn sẽ cần tạo một phần cho cấu hình tùy chỉnh có chứa bên dướiTập tin. /etc/phpmyadmin/config. tập đoàn. phpCREATE USER 'user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
0sudo apt install php-curl php-json php-cgi
1sudo apt install php-curl php-json php-cgi
Các tùy chọn cấu hình này sẽ thay đổi thời gian hiệu lực của cookie mặc định, tự động đăng xuất người dùng sau một khoảng thời gian được xác định trước. Nó cũng sẽ ngăn người dùng xóa cơ sở dữ liệu và sẽ bỏ qua thông tin máy chủ khỏi phpMyAdmin