thắc mắc [Hỏi ngu] Dùng root account thì có nguy hiểm gì không

Vậy vấn đề đâu phải là do open port db ra ngoài đâu thím, vấn đề là root ko có pass hoặc pass quá dễ để dò mà :beat_brick:
Hình nhu trong này ko phân biệt duoc root ko có pass, ko bật chứng thực password với một cái chứng thực ko có pass khác nhau chỗ nào. Moi người đang hiểu là root ko set pass là có thể login ko cần pass thì phải ?
Cái service sql nó thường chạy với quyền của user root của OS. Khi mình thực thi được command trong sql thì nó cũng như thực thi command os với quyền root nên nó có thể làm chạy command tuỳ ý và chiếm quyền điều khiển server của bác là đương nhiên. Trường hợp server của bác bị tấn công là do thằng root của sql không đặt pass nên nó authen vào và thực hiện kĩ thuật như bác nói, nếu user root sql có đặt pass thì nó đã không attack được rồi.

via theNEXTvoz for iPhone
làm gì có ai chạy service mysql dưới quyền root, mà hâu như ko ai chạy service dưới quyền root cả
 
Cái service sql nó thường chạy với quyền của user root của OS. Khi mình thực thi được command trong sql thì nó cũng như thực thi command os với quyền root nên nó có thể làm chạy command tuỳ ý và chiếm quyền điều khiển server của bác là đương nhiên. Trường hợp server của bác bị tấn công là do thằng root của sql không đặt pass nên nó authen vào và thực hiện kĩ thuật như bác nói, nếu user root sql có đặt pass thì nó đã không attack được rồi.

via theNEXTvoz for iPhone
Correct tí, bọn sysadmin sẽ tạo 1 acc riêng để manage vụ DB. Thằng nào cẩn thận thì tạo riêng ra từng tí một cơ. Và mấy acc này còn khướt mới có quyền root.
Còn vụ bác @prescolt nói thì lỗi là do root ko có pass chứ đâu phải do chìa port ra ngoài đâu?
@prescolt : Hỏi lại thằng bạn thì nó bảo bọn tao vẫn thế, chưa có Docker gì cả. Hỏi khí ko phải thế nhỡ có accident xảy ra thì các bác làm thế nào?
 
Correct tí, bọn sysadmin sẽ tạo 1 acc riêng để manage vụ DB. Thằng nào cẩn thận thì tạo riêng ra từng tí một cơ. Và mấy acc này còn khướt mới có quyền root.
Còn vụ bác @prescolt nói thì lỗi là do root ko có pass chứ đâu phải do chìa port ra ngoài đâu?
@prescolt : Hỏi lại thằng bạn thì nó bảo bọn tao vẫn thế, chưa có Docker gì cả. Hỏi khí ko phải thế nhỡ có accident xảy ra thì các bác làm thế nào?
Root ko có set pass tức là hình thức chứng thực chỉ có unix socket, tức là access được từ local thôi, ko có phương thức chứng thực qua password, chứ ko phải root không có pass nhung có phương thức xác thực qua password

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket;
Query OK, 0 rows affected (0.00 sec)

https://mariadb.com/kb/en/authentication-plugin-mysql_native_password/
https://mariadb.com/kb/en/authentication-plugin-unix-socket/
Hình như xài sql as cloud service nên giờ mấy ông dev càng mơ hồ về hệ thống
Máy chủ có backup daily, dung full backup và bin log quạy lại trong ngày thôi.
 
Last edited:
Vậy vấn đề đâu phải là do open port db ra ngoài đâu thím, vấn đề là root ko có pass hoặc pass quá dễ để dò mà :beat_brick:
Mò pass mà ra thôi , open pport thì đổi port khác , chỉ Allow 1 IP để access vào port đó thôi thì hack kiểu gì dc .
 
Root ko có set pass tức là hình thức chứng thực chỉ có unix socket, tức là access được từ local thôi, ko có phương thức chứng thực qua password, chứ ko phải root không có pass nhung có phương thức xác thực qua password

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket;
Query OK, 0 rows affected (0.00 sec)

https://mariadb.com/kb/en/authentication-plugin-mysql_native_password/
https://mariadb.com/kb/en/authentication-plugin-unix-socket/
Hình như xài sql as cloud service nên giờ mấy ông dev càng mơ hồ về hệ thống
Máy chủ có backup daily, dung full backup và bin log quạy lại trong ngày thôi.
Đọc qua cái ở post trước thì nó đã dò ra password mysql, chỉ cần user có quyền write là nó làm đc inject dll hoặc so chứ ko cần root user.
 
Hình nhu trong này ko phân biệt duoc root ko có pass, ko bật chứng thực password với một cái chứng thực ko có pass khác nhau chỗ nào. Moi người đang hiểu là root ko set pass là có thể login ko cần pass thì phải ?
làm gì có ai chạy service mysql dưới quyền root, mà hâu như ko ai chạy service dưới quyền root cả

Post trước thím nói là root ko có pass thì ai cũng nghĩ đến trường hợp access root từ mọi nơi ko cần pass đầu tiên thôi, mà nếu ko access được root ngoại trừ local thì hack kiểu nào nhỉ, open port ra ngoài thì cũng đâu dùng root được
 
Correct tí, bọn sysadmin sẽ tạo 1 acc riêng để manage vụ DB. Thằng nào cẩn thận thì tạo riêng ra từng tí một cơ. Và mấy acc này còn khướt mới có quyền root.
Còn vụ bác @prescolt nói thì lỗi là do root ko có pass chứ đâu phải do chìa port ra ngoài đâu?
@prescolt : Hỏi lại thằng bạn thì nó bảo bọn tao vẫn thế, chưa có Docker gì cả. Hỏi khí ko phải thế nhỡ có accident xảy ra thì các bác làm thế nào?
Ừ trường hợp của bác prescolt là vừa mở port ra ngoài vừa user root của mysql không có pass. Vậy là attacker nó chạy được command của OS dưới quyền user chạy mysql service là dễ hiểu. Cái này do cấu hình thiếu secure mà ra thôi. :go:

via theNEXTvoz for iPhone
 
Ừ trường hợp của bác prescolt là vừa mở port ra ngoài vừa user root của mysql không có pass. Vậy là attacker nó chạy được command của OS dưới quyền user chạy mysql service là dễ hiểu. Cái này do cấu hình thiếu secure mà ra thôi. :go:

via theNEXTvoz for iPhone
Mình thấy bạn ko hiểu vấn đề, root ko pass thì chẳng có liên quan gì toi viẹc chạy command, haproxy gần đay bị lỗi hay apache có cái nào có root ko pass ko ?nhưng vấm bị thuc thi, bạn thì cú xoáy vào root ko pass thì có ý nghĩa gì. Root bị đặt pass là hệ quả của cái hack kia, từ con vps ko root access tu xa trên mysql thành con mysql có root access qua password. Lí thuyết thì có thể thực thi được nhung phải khai thác được lỗ hổng, có phải có sẵn cái shell vô gõ cọc dễ ăn của ngoại lắm

via theNEXTvoz for iPhone
 
Last edited:
Root ko có set pass tức là hình thức chứng thực chỉ có unix socket, tức là access được từ local thôi, ko có phương thức chứng thực qua password, chứ ko phải root không có pass nhung có phương thức xác thực qua password

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket;
Query OK, 0 rows affected (0.00 sec)

https://mariadb.com/kb/en/authentication-plugin-mysql_native_password/
https://mariadb.com/kb/en/authentication-plugin-unix-socket/
Hình như xài sql as cloud service nên giờ mấy ông dev càng mơ hồ về hệ thống
Máy chủ có backup daily, dung full backup và bin log quạy lại trong ngày thôi.
Em thấy có 1 trường hợp nữa là web của bác tồn tại lỗ hổng SSRF, từ đó attacker có thể local connect đến db kia. Cái plugin kia check uid thấy request đến từ web phía mình nên nghĩ là an toàn -> cho login vào db
 
Dùng account root thì rủi ro là nếu bị tấn công chiếm quyền thì hacker nó chiếm đc root luôn mà ko phải thêm 1 bước hack root nữa.

Sent from Soupie using vozFApp
 
Thường thì méo ai mở toang db ra cả. Vì méo ai biết có bao nhiêu security issues undicovered. Ít nhất là có thê bị DOS.
Nếu cần root thì mở port 22, connect bằng ssh rồi lúc đó mới connect tới db. Không thì giới hạn bằng firewall cho 1 ip duy nhất.
Nếu không cần root thì tạo mấy cái instance db, mỗi instance có user name chỉ có quyền trên instance đó thôi.

Mà db không có gì hot thì tẹt ga đi.
Trần Viết Lãm à fen

via theNEXTvoz for iPhone
 
K4Hcd5N.png
tắt kết nối SSH từ xa, tắt quản lý panel của web, tắt remote database
yBBewst.png
. Chỉ nên để lại kết nối SSH từ một IP chỉ định nào đó thôi. Con VPS của khách em bị hack 2 lần trong 3 tháng. Trong khi chỉ để mỗi SSH kết nối từ xa thôi. Giờ sợ không dám bật SSH remote nữa luôn rồi
KV0XGIA.gif
. Đây là có cài block IP connect SSH khi nhập mật khẩu sai quá 3 lần rồi nhé
4gmOAMB.png
. Pass thì xài autogen dài ngoàng rồi đấy. ĐM tụi nó vẫn hack được
EB2RUU6.gif
 
Back
Top