Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Nơi chứa các tài liệu tham khảo của dịch vụ Cloud365.
MySQL là một hệ thống quản trị cơ sở dữ liệu (CSDL) mã nguồn mở thường được cài đặt trong bộ LAMP(Linux, Apache, MySQL, PHP) hoặc LEMP(Linux, Nginx, MySQL, PHP). MySQL được xếp vào loại CSDL có cấu trúc Structured Query Language hay chúng ta thường gọi là SQL
1 Server Linux cài đặt MySQL server
1 máy client (Ubuntu,CentOS,Windows)
Yêu cầu có kết nối internet để cài đặt
Đăng nhập vào node MySQL-Server
ssh root@10.10.10.103
Cài đặt epel-release và cập nhật OS
yum install epel-release -y
yum update -y
Chuẩn bị repo để cài đặt MySQL
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el6-10.noarch.rpm
Cài đặt và khởi động MySQL
yum -y install mysql-community-server
systemctl start mysqld
systemctl enable mysqld
yum -y install mysql-community-server
service mysqld start
chkconfig mysqld on
Sau khi cài đặt mặc định MySQL sẽ tự động tạo ra 1 root password tạm thời
temp_password=$(grep password /var/log/mysqld.log | awk '{print $NF}' | head -n1)
echo $temp_password
Để đổi password chúng ta thực hiện lần lượt
mysql_passwd="NEW_PASSWORD"
với
NEW_PASSWORD
là password mới của bạn
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mysql_passwd'; flush privileges;" > reset_pass.sql
bớt secure
(bớt khắt khe) đi một tý như sau (Đương nhiên bạn có thể bỏ qua bước này nếu mật khẩu bạn đủ mạnh)
echo "validate_password_policy=LOW" >> /etc/my.cnf
systemctl restart mysqld || service mysqld restart
Tiến hành đổi mật khẩu root
của MySQL
mysql -u root --password=$temp_password --connect-expired-password < reset_pass.sql
Đăng nhập MySQL với password mới để kiểm tra
mysql -uroot -p
Kết quả thành công
[root@mysql-server ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Kiểm tra user và quyền đăng nhập
mysql> SELECT user,host FROM mysql.user WHERE user = 'root';
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0,00 sec)
mysql>
Ở đây user
root
chỉ có thể đăng nhập trênlocalhost
(Chính trên MySQL-Server)
Để có thể kết nối từ bên ngoaì vào MySQL server cần cấp quyền cho user
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NEW_PASWORD';
FLUSH PRIVILEGES;FLUSH PRIVILEGES;
Chỉnh sửa lại /etc/my.cnf
#bind-address = 127.0.0.1
Comment lại dòng này nếu có
Tiến hành restart lại service MySQL sau khi chỉnh sửa /etc/my.cnf
systemctl restart mysqld || service mysqld restart
Kết nối đến MySQL đơn giản hơn bạn nghĩ rất nhiều có nhiều cách để kết nối đến MySQL và làm việc với nó.
phpMyadmin
Hướng dẫn cài đặt phpmyadminMySQL Workbench
Đối với Cách 1 và 2 chúng ta không cần phải chỉnh sửa quyền đăng nhập của user vì chúng thực hiện hoàn toàn trên localhost của MySQL server
Đối với Cách 3 thì chúng ta phải chỉnh sửa lại quyền đăng nhập của user để có thể kết nối từ bên ngoài vào.
Cài đặt MySQL Workbench và mở lên
Khai báo kết nối
Giao diện kết nối thành công
Chúng tôi hy vọng bài viết sẽ tiết kiệm được cho các bạn một chút thời gian khi bắt đầu làm việc với MySQL Server —
Thực hiện bởi cloud365.vn