Hướng dẫn bảo mật Hosting đúng cách

Thảo luận trong 'Tin Tức Công Nghệ' bắt đầu bởi Dinh Thai Ngan, 15/11/25 lúc 10:37.

  1. Dinh Thai Ngan

    Dinh Thai Ngan New Member
    1/6

    Chào mọi người, mình là Ngân, Dinh Thai Ngan đây. Cũng là dân IT làm web như nhiều anh em ở đây thôi. Dạo này lướt mấy diễn đàn, thấy nhiều anh em hay hỏi web bị hack, bị chèn mã độc, hay tự dưng server lăn ra chết. Nhìn vào cách mọi người hỏi và xử lý, mình thấy có một vấn đề chung là chúng ta, đặc biệt là dân dev, nhiều khi quá tập trung vào code, vào framework, vào thuật toán... mà lại quên mất một thứ cực kỳ nền tảng: cái nhà mà website của chúng ta đang ở - chính là cái hosting/server.

    Nhiều người nghĩ bảo mật là cái gì đó cao siêu lắm, hoặc là việc của bên cung cấp hosting. Sai lầm. Suy nghĩ đó là khởi đầu cho mọi thảm họa đấy. Hôm nay rảnh rỗi mình ngồi chia sẻ một vài kinh nghiệm xương máu, từ cơ bản tới cái mà mình nghĩ là nhiều anh em pro cũng có thể đang bỏ sót.

    NHỮNG LẦM TƯỞNG MÀ ANH EM HAY TỰ Huyễn HOẶC

    Mình thấy nhiều người, nhất là các bạn mới, hay có mấy suy nghĩ này: "Dùng Shared Hosting là được rồi, bên cung cấp lo hết bảo mật cho mình", "Web mình bé tí, ma nó thèm hack", hay "Cứ cài SSL có cái ổ khóa xanh lè là an toàn tuyệt đối".

    Thật sự không phải đâu anh em. Shared hosting giống như bạn ở nhà trọ xóm liều vậy, một phòng bị cháy là cả xóm bị ảnh hưởng. Website của bạn hoàn toàn có thể bị tấn công "ké" từ một website khác cùng server. Còn web nhỏ không ai hack ư? Hacker nó dùng tool quét tự động hàng loạt đấy, nó không quan tâm bạn to hay nhỏ đâu, cứ có lỗ hổng là nó chui vào thôi, để đặt backlink bẩn, để làm bàn đạp đi tấn công chỗ khác. SSL (HTTPS) cũng chỉ mã hóa dữ liệu trên đường truyền thôi, nó không bảo vệ được server của bạn khỏi những cuộc tấn công trực tiếp. Coi như nó là cái cửa khóa lúc bạn gửi thư, chứ không phải là tường rào cho cả ngôi nhà.

    MẤY CÁI LỖI SAI CƠ BẢN NHƯNG NGÀY NÀO CŨNG CÓ NGƯỜI DÍNH

    Ok, vào vấn đề chính. Mấy cái này cơ bản thôi nhưng mình cá là nhiều anh em vẫn còn mắc phải:

    • Password cho admin/database/FTP: Vẫn còn khối người đặt là "admin123", "123456", tên-bạn-gái... Hacker nó có bộ từ điển mật khẩu, nó dò một tí là ra ngay.

    • Phân quyền file/folder 777: Nhiều anh em code xong up lên host bị lỗi permission, lười fix nên phang luôn chmod -R 777 cho cả cái thư mục web. Đây chẳng khác nào bạn mở toang hết tất cả các cửa trong nhà, kể cả két sắt, rồi đi ngủ. Bất kỳ ai cũng có toàn quyền đọc, ghi, và thực thi file của bạn. Quá nguy hiểm! Ít nhất cũng phải là 755 cho thư mục và 644 cho file.

    • Không đổi port mặc định: Cái port SSH mặc định (22) là cái đầu tiên mà hacker trên khắp thế giới nó nhắm vào để quét và tấn công brute-force (dò mật khẩu).

    • Dùng theme, plugin lởm: Mấy cái hàng "chia sẻ", hàng nulled trên mạng ấy, 99% là có cài sẵn backdoor. Dùng mấy cái đó chẳng khác nào mời trộm vào nhà.
    Nếu bạn đang chạy trên Shared Hosting, bạn chỉ có thể sửa được mấy lỗi trên. Nhưng nếu bạn thật sự muốn kiểm soát cuộc chơi, muốn web của mình an toàn thực sự, thì nên nghĩ đến việc dùng VPS. Đừng sợ, nó không khó như bạn nghĩ đâu. Chỉ khi có toàn quyền root trên một con VPS, bạn mới có thể nâng tầm bảo mật của mình lên một level khác được.

    NÂNG TRÌNH BẢO MẬT: KHI BẠN LÀ CHỦ CUỘC CHƠI TRÊN VPS

    Khi bạn đã có một con VPS, đây mới là lúc cuộc vui bắt đầu. Bạn có toàn quyền xây dựng một pháo đài cho riêng mình.

    Đầu tiên là Tường lửa (Firewall). Mặc định các cổng trên server của bạn có thể mở toang hoác. Hãy dùng UFW (Uncomplicated Firewall) trên Ubuntu chẳng hạn. Nguyên tắc là CHẶN TẤT CẢ, MỞ NHỮNG CÁI CẦN THIẾT. Ví dụ: bạn chỉ cần mở port web (80, 443) và port SSH (cái mà bạn đã đổi sang một số khác, ví dụ 2222). Lệnh nó đơn giản như nói chuyện thôi: ufw allow 80, ufw allow 443, ufw allow 2222, và quan trọng nhất: ufw enable. Xong, mọi cánh cửa không cần thiết đã được khóa chặt.

    Tiếp theo là SSH Hardening - Gia cố cái cổng chính. Đổi port chỉ là bước đầu tiên. Dân chuyên nghiệp họ không bao giờ đăng nhập server bằng password đâu. Họ dùng SSH Key. Nó là một cặp khóa (khóa công khai và khóa riêng tư), an toàn hơn mật khẩu gấp vạn lần. Thiết lập nó xong, bạn phải vào file config của SSH (/etc/ssh/sshd_config) và sửa ngay mấy dòng này: PasswordAuthentication no và PermitRootLogin no. Dòng đầu tiên là vô hiệu hóa hoàn toàn việc đăng nhập bằng mật khẩu. Dòng thứ hai là cấm không cho user root đăng nhập từ xa. Luôn tạo một user thường để login, sau đó nếu cần quyền root thì dùng lệnh sudo. Đó mới là cách làm việc chuyên nghiệp và an toàn.

    ĐỈNH CAO CỦA BẢO MẬT: PHÒNG THỦ CHIỀU SÂU

    Okay, phần này cho những anh em thật sự muốn master con server của mình. Tường lửa và SSH key là lớp phòng thủ bên ngoài, nhưng nếu có kẻ lọt vào thì sao?

    Giới thiệu với anh em Fail2Ban. Hãy tưởng tượng nó là một anh bảo vệ thông minh và siêu chăm chỉ. Nó sẽ liên tục đọc log file của các dịch vụ (SSH, Nginx, Apache...). Nếu nó thấy một địa chỉ IP nào đó cố gắng dò mật khẩu SSH 5 lần thất bại trong vòng 10 phút, hoặc cố gắng quét các URL nhạy cảm trên website của bạn, BÙM! Fail2Ban sẽ ngay lập tức dùng tường lửa để cấm cửa IP đó trong một khoảng thời gian. Đây là cách cực kỳ hiệu quả để chống lại các cuộc tấn công brute-force tự động.

    Chưa hết. Code do chính tay bạn viết ra cũng có thể có lỗ hổng (SQL injection, XSS...) mà bạn không lường hết được. Lúc này chúng ta cần một lớp bảo vệ nữa gọi là WAF (Web Application Firewall), và công cụ nổi tiếng nhất cho việc này là ModSecurity. Nó hoạt động như một cái "lưới lọc" đặt trước web server của bạn. Mọi yêu cầu (request) từ người dùng gửi đến đều phải đi qua cái lưới lọc này. ModSecurity sẽ phân tích request đó, nếu thấy có dấu hiệu đáng ngờ, ví dụ như có chứa mã SQL độc, nó sẽ chặn ngay lập tức, không cho request đó chạm được vào code của bạn. Đây là chốt chặn cuối cùng, cực kỳ quan trọng để bảo vệ website của bạn ở tầng ứng dụng.

    Cuối cùng, đừng bao giờ quên việc cập nhật. Hệ điều hành và các phần mềm bạn cài trên server (Nginx, PHP, MySQL...) luôn được các nhà phát triển cập nhật để vá các lỗ hổng bảo mật mới được tìm thấy. Chỉ cần một dòng lệnh đơn giản như sudo apt update && sudo apt upgrade thường xuyên là bạn đã tự bảo vệ mình khỏi 90% các nguy cơ tấn công dựa trên lỗ hổng đã biết rồi.

    Bảo mật không phải là một hành động, nó là một quá trình. Phải làm liên tục, phải để ý. Hi vọng những chia sẻ này giúp anh em có cái nhìn rõ ràng hơn về việc bảo vệ "ngôi nhà" của mình. Anh em nào có chiêu nào hay hơn, cao thủ hơn thì chia sẻ thêm bên dưới để mọi người cùng học hỏi nhé!
     

Dịch Cài Win Và Cài Đặt Phần Mềm Máy Tính Online

Danh sách các Website diễn đàn rao vặt

Chia sẻ trang này