Không thể giải quyết được địa chỉ IP cảnh báo của MySQL


36

Tôi đã thiết lập MySQL Master / Slave và tôi nhận thấy các cảnh báo sau trong tệp nhật ký mysql trên cả hai máy chủ:

[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known

Tôi đã kiểm tra và tra cứu DNS hoạt động tốt và hầu hết các IP này là từ Trung Quốc.

Tôi dự định giới hạn quyền truy cập vào cổng 3306 trên tường lửa tuy nhiên bạn có thể vui lòng giúp tôi hiểu những gì họ đang cố gắng làm. Có phải họ chỉ đang cố gắng kết nối với máy chủ MySQL. Nơi tôi có thể tìm kiếm thêm một số chi tiết.

Cảm ơn

Câu trả lời:


48

Khi bạn tạo một người dùng username@example.comMySQL, MySQL phải thực hiện tra cứu ngược lại trên mọi địa chỉ IP kết nối với nó để xác định xem chúng có phải là một phần của hay không example.com.

Tất nhiên, không có hạn chế nào trong việc tạo tra cứu ngược, vì vậy tôi hoàn toàn có thể vui vẻ yêu cầu nhà cung cấp của mình đặt tra cứu ngược lại cho địa chỉ IP của tôi google.comnếu tôi muốn ... hoặc example.comnếu tôi tình cờ biết đó là những gì người dùng trong cơ sở dữ liệu của bạn có . Điều này sẽ không cho phép tôi tham gia, vì MySQL sau đó sẽ tìm kiếm chuyển tiếp trên tên miền được trả về để đảm bảo nó phù hợp với cùng địa chỉ IP đang kết nối.

Bạn có thể tắt cài đặt này có skip_name_resolvetrong bạn my.cnf. Có nhiều lý do tốt để làm điều này .

Lý do bạn nhận được lỗi này là địa chỉ IP được đề cập không có tra cứu ngược lại.

Bạn cũng có những kẻ tấn công độc hại từ Trung Quốc đang cố gắng xâm nhập vào cơ sở dữ liệu của bạn. Đó nên là ưu tiên hàng đầu của bạn.


1
có thể có bất kỳ vấn đề cho localhost ?
Malay M

Tôi không nghĩ rằng có một lỗ hổng bảo mật ở đó bởi vì nếu tìm kiếm ngược lại cho một số địa chỉ IP được giải quyết localhost, MySQL vẫn sẽ thực hiện tra cứu chuyển tiếp localhostđể đảm bảo nó phù hợp với địa chỉ IP ban đầu. Tuy nhiên, như với tất cả những thứ liên quan đến bảo mật, đừng tin tôi vào điều này. Và tốt hơn hết là tắt phân giải tên trong cấu hình của bạn.
Ladadadada

13

Tôi nghĩ rằng đó là một ý tưởng rất xấu để tiếp xúc trực tiếp với các máy chủ cơ sở dữ liệu của bạn trên internet.

Nếu bạn đang sao chép vào một máy chủ từ xa và cần truy cập internet để đạt được điều đó, tôi khuyên bạn nên thiết lập VPN giữa hai mạng và ràng buộc các máy chủ MySQL của bạn chỉ nghe mạng cục bộ.

Nếu cả hai máy chủ của bạn nằm trên cùng một mạng cục bộ, bạn sẽ an toàn khi liên kết các máy chủ mysql của mình với mạng đó.


1

Chỉ bị bắt bởi điều này cũng như trên Amazon RDS. Tôi chỉ muốn kết nối với phiên bản cơ sở dữ liệu thử nghiệm của mình (sau đây chắc chắn không được khuyến nghị cho cơ sở dữ liệu sản xuất):

Các nhóm bảo mật trong Amazon RDS hoạt động khác một chút so với các quy tắc tường lửa thông thường cho các phiên bản EC2. Nếu bạn mở cổng MySQL cho IP cụ thể, IP phải được máy chủ MySQL của bạn nhận ra. Nếu không kết nối bị từ chối. Giải pháp tạm thời là tạo nhóm bảo mật mới, tức là anyone_can_connect_to_mysqlchỉ với một mục duy nhất - cho phép kết nối MySQL / Aurora vào bất cứ nơi nào từ internet và gắn nhóm bảo mật này vào cơ sở dữ liệu của bạn.

Inbound
-----------------------------------------
| MYSQL/Aurora | TCP | 3306 | 0.0.0.0/0 |
-----------------------------------------

Thao tác này sẽ xóa kiểm tra IP khỏi các kết nối máy khách để bạn có thể kết nối miễn phí. Đừng quên tách anyone_can_connect_to_mysqlchính sách khỏi cơ sở dữ liệu sau khi vấn đề giải quyết kết thúc.


0

Khi kết nối với Mysql từ xa, tôi đã gặp lỗi. Tôi đã có cảnh báo này trong /var/log/mysqld.log:

[Warning] IP address 'X.X.X.X' could not be resolved: Temporary failure in name resolution

Tôi vừa thêm dòng này vào /etc/hoststập tin:

X.X.X.X some_name

Vấn đề được giải quyết! không sử dụng skip-name-resolve, nó đã gây ra một số lỗi trong ứng dụng cục bộ của tôi, khi kết nối với mysql.


Hơn một năm trước, nhưng bạn có phải khởi động lại mysql không? Điều này đã không làm việc cho tôi.
Ejoso

Bạn sẽ không vì tệp máy chủ được quản lý trên máy khách chứ không phải máy chủ mysql.
leeman24
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.