Trang chủ Lập trình “Bảo mật website” – Bạn sử dụng chưa?

“Bảo mật website” – Bạn sử dụng chưa?

649
2
Quảng cáo của Google

Ngày hôm nay, chỉ cần vài bước đơn giản bạn đã có thể tạo ra những sản phẩm website cho công ty, doanh nghiệp của mình. Nhưng liệu việc tạo ra website nhanh như vậy liệu đã có an toàn? Bạn đã nghĩ tới vấn đề, nếu một ngày website của bạn bị hack, bạn sẽ phải làm gì với nó chưa?

Với Internet, mọi thứ bây giờ đều trực tuyến, thông tin được truyền tải & tiếp nhận dễ dàng. Chính vì vậy, việc bảo mật thông tin cho bản thân, cũng như cho khách hàng là hết sức cần thiết.

Vì vậy, với website của bạn cũng tương tự như thế. Cần tìm được những lỗ hổng mà hacker có thể xâm nhập, đồng thời cài đặt các lớp bảo mật kiên cố để bảo vệ website của mình.

Nhận biết các lỗi bảo mật thường gặp và phương pháp bảo mật hiệu quả sẽ giúp website của bạn an toàn hơn bao giờ hết. Hãy cùng Type nghiên cứu các cách bảo mật cho website sau nhé:

website security
Đừng để mất bò mới lo làm chuồng

Các lỗi bảo mật website thường gặp

Người xưa  thường nói rằng “Tường thấp thì mời trộm”. Điều này cũng hoàn toàn đúng với quá trình vận hành website.

Một trang web thường sẽ có nhiều lỗ hổng mà dựa vào những “bức tường thấp” đó, các hacker có thể dễ dàng xâm nhập vào website cài mã độc, đánh cắp thông tin hoặc phá hỏng hoàn toàn website của bạn.

Vì vậy, để có thể bảo mật website, bạn cần xác định các lỗ hổng đang hiện hữu trong website của mình. Hãy bắt đầu với các lỗi bảo mật website thường gặp sau đây.

1. Cross-site Scripting – XSS: Dính các tập lệnh chéo trang

Hacker sẽ gửi một đường dẫn có chứa tập lệnh đã cài sẵn đến cho người dùng. Khi người dùng click vào link và yêu cầu đăng nhập hợp lệ, trình duyệt sẽ tải trang đồng thời thực thi tập lệnh được cài vào.

Tập lệnh thường sẽ yêu cầu gửi tất cả thông tin cá nhân của người dùng đến hacker.

2. Lỗi Injection

Lỗi injection thường sẽ xảy ra khi bạn cho phép thêm những thông tin không đạt chuẩn vào máy chủ SQL (SQL Injection), máy chủ LDAP (LDAP Injection) và trình duyệt (XSS).

Giả sử, hacker thêm vào một đoạn code như sau: 

SELECT * FROM users WHERE name = 'x' or 'y'='y';

Đoạn này có giá trị ‘y’=’y’ luôn đúng, vì vậy thay vì trả về một user cụ thể, hacker có thể nhận được toàn bộ database. SQL Injection là một trong các lỗi bảo mật website thường gặp nhất.

3. Authentication: Lỗi xác thực

Trong quá trình kiểm tra định danh người dùng, nhiều thông tin cần bảo mật sẽ dễ bị lộ ra ngoài vì các thiết lập định sẵn trên website, ví dụ:

  • Một số URL có thể chứa ID phiên truy cập và rò rỉ thông tin này cho người khác
  • Mật khẩu không được mã hóa
  • Truy cập website qua phiên truy cập được ấn định sẵn (session fixation)
  • Chiếm phiên truy cập (session hijacking) khi sử dụng HTTP (không có bảo mật SSL)

4. Insecure Direct Object References: Đối tượng tham chiếu không an toàn

Đối tượng tham chiếu không an toàn là một lỗi bảo mật website nằm trong top 4 của OWASP (tiêu chuẩn kiểm thử pentest). Lỗi này thường xuất hiện ngay từ quá trình thiết kế và thử nghiệm website.

Cụ thể, lỗ hổng đối tượng tham chiếu không an toàn xảy ra khi người dùng có thể truy cập các tài nguyên khác trên website một cách bất hợp pháp. 

5. Không mã hóa các dữ liệu nhạy cảm

Tài nguyên và các thông tin bí mật, cụ thể là những dữ liệu nhạy cảm như ID phiên truy cập, thông tin đăng nhập, thông tin thẻ tín dụng,… không được bảo mật ở mức cao nhất. 

Nói cách khác, dữ liệu không được mã hóa, đồng thời thường xuyên hiển thị hoặc truyền đi thông quá các URL giúp hacker dễ đánh cắp các thông tin đó.

6. Cấu hình bảo mật không đúng quy cách

Website có lỗi về cấu hình bảo mật thường rất phổ biến bởi có rất nhiều trường hợp dẫn đến dạng lỗi bảo mật website này:

  • Để lộ thông tin hoạt động và xử lý trên website
  • Sử dụng các phần mềm hệ thống, mã nguồn đã hết hạn
  • Cho chạy các dịch vụ không cần thiết 
  • Không thay đổi mật khẩu mặc định. Sử dụng mật khẩu đơn giản và dễ đoán

Sử dụng mật khẩu mặc định và đơn giản sẽ tạo ra các lỗ hổng bảo mật website

7. Không phân quyền chức năng truy cập

Lỗi bảo mật website này thường xảy ra khi website không phân rõ khả năng truy cập của người dùng (Authorization), có thể hiểu là những trường hợp có yêu cầu chức năng được gửi lên hệ thống nhưng hệ thống lại không thực thi lệnh kiểm tra ủy quyền. 

Hacker có thể tạo yêu cầu giả với một số chức năng không hiển thị trên giao diện. Nếu hệ thống không được lập trình phân quyền thì hacker sẽ nắm được quyền quản trị website.

8. Cross-site Request Forgery – CSRF: Giả mạo yêu cầu chéo trang

Lỗ hổng này có thể giúp một bên thứ ba – những người tấn công website – “lừa” trình duyệt để lợi dụng quyền hạn của trình duyệt thực hiện một số yêu cầu khác. 

Cụ thể, hacker sẽ yêu cầu truy cập tới một trang nào đó sử dụng cookie/phiên truy cập của chính bạn để thực hiện các thao tác khác trên website đó.

9. Sử dụng code và plugin được chia sẻ công khai

Sử dụng code hoặc các phần mềm, plugin được chia sẻ miễn phí trên mạng để xử lý một số vấn đề nhỏ trong website cực kỳ tiện lợi và tiết kiệm thời gian, tuy nhiên lại không đảm bảo về lỗ hổng bảo mật.

Hacker có thể truy cập và sử dụng quyền quản trị của một website đôi khi không phải vì trang web đó có bảo mật kém, mà là do code, phần mềm từ các bên cung cấp thứ 3 còn ẩn chứa nhiều lỗ hổng chưa được vá.

10. Điều hướng và chuyển tiếp trang không có giá trị

Mỗi trang web sẽ có phương thức chuyển hướng dựa trên URL – được xem như là một tham số nhận website.

Nếu hacker điều chỉnh tham số này, họ có thể dẫn người dùng truy cập đến một trang đích khác có hại, hoặc tự động tải các phần mềm độc hại về thiết bị dù trên đường dẫn vẫn hiển thị đúng domain mà người dùng muốn truy cập.

Trên đây là các lỗi bảo mật website thường gặp nhất mà website của bạn có thể cũng đang mắc phải. Hãy tiến hành kiểm tra những lỗi này đồng thời áp dụng các phương pháp bảo mật website mà Tadu giới thiệu sau đây để trang web được bảo vệ an toàn hơn.

Cách bảo mật website hiệu quả

1. Bảo mật website với SSL

Bạn nên bảo mật website với SSL (Secure Socket Layer) để mã hóa tất cả thông tin bí mật, giúp bảo vệ thông tin đăng nhập, số tài khoản ngân hàng, thẻ tín dụng,… của người dùng được truyền đi an toàn hơn.

Bạn có thể chọn lựa đăng ký SSL để bảo mật website của mình một cách nhanh chóng. Trước khi đăng ký, đừng quên tham khảo việc nên lựa chọn SSL miễn phí hay có phí và cách cài đặt SSL cho website nhé!

Bên cạnh đó, bạn có thể cài đặt HTTPS để tăng cường bảo mật bằng SSL hoặc Let’s Encrypt. HTTPS giúp bảo vệ riêng tư cho quá trình trao đổi thông tin giữa người dùng và máy chủ. ​

Cả SSL và HTTPS đều là những phương thức để website của bạn được gắn nhãn “an toàn” trên Google, tuy nhiên điều đó không có nghĩa là website của bạn sẽ được bảo mật tuyệt đối. Chính vì vậy, bạn cần kết hợp thêm những cách bảo mật dưới đây để bảo vệ website của mình.

Website có HTTPS và SSL sẽ được Google gắn nhãn truy cập an toàn

2. Bảo vệ website khỏi các phần mềm độc hại

Giữ máy chủ “sạch” và luôn trong tình trạng an toàn sẽ giúp website được bảo mật tốt hơn.

Tất cả dữ liệu, phần mềm, plugin,… từ các bên cung cấp thứ ba sẽ không đảm bảo về an toàn và bảo mật. Do đó bạn nên kiểm tra thật kỹ các ứng dụng mã nguồn mở trước khi cài đặt lên website. Tốt nhất là chọn những bản có công khai quá trình test đầy đủ để đảm bảo không tạo ra các lỗ hổng bảo mật.

Không chỉ phần mềm, các tập tin cơ bản mà người dùng được phép tải lên website cũng có thể ẩn chứa lỗi bảo mật. Vì vậy, bạn nên hạn chế quyền tự động upload tập tin của người dùng cũng như xóa bỏ tất cả nội dung không cần thiết.

Ngoài ra bạn có thể dùng một số công cụ online như virustotal để kiểm tra xem bất kỳ một địa chỉ URL hay tập tin nào đó có đang bị nhiễm mã độc hay không, điều này giúp bạn hạn chế được việc vô tình click vào các đường dẫn có hại.

3. Liên tục cập nhật phần mềm, quét website và sao lưu dữ liệu

Duy trì các plugin, phần mềm ở phiên bản mới nhất giúp bạn loại bỏ được các lỗ hổng còn tồn tại ở phiên bản cũ. 

Nếu bạn đã tự tạo website bằng WordPress và không thể kiểm soát được các theme và plugin đang được cài đặt thì cũng không cần quá lo lắng. Trước tiên bạn nên cập nhật php và WordPress lên version mới nhất. 

Sau đó, hãy sử dụng tính năng Site Health Check để tối ưu bảo mật và tốc độ website. Tính năng Site Health Check (Kiểm tra hệ thống) đã được tích hợp vào WordPress phiên bản 5.2 trở lên. Tính năng này sẽ tiến hành một loạt kiểm tra và đưa ra phương án xử lý vấn đề, các plugin và theme cần cập nhật,… để website được tối ưu một cách tốt nhất.

Sao lưu dữ liệu thường xuyên giúp bạn lưu trữ những phiên bản không có mã độc, là phương án dự phòng tốt nhất cho website của bạn. Một số nhà cung cấp hosting sẽ thực hiện thao tác này giúp bạn. Như Tadu luôn giữ 2 bản backup 7 ngày và 14 ngày gần nhất để bạn có thể lựa chọn và khôi phục website bất cứ lúc nào.

Chạy phiên bản hệ thống, phần mềm, plugin,.. mới nhất sẽ giảm thiểu các lỗi bảo mật website tồn tại

4. Kiểm tra các lỗi bảo mật website thường gặp SQL và XSS

Với lỗi SQL injection, bạn nên tiến hành kiểm tra kỹ các dữ liệu đầu vào để không xảy ra các tình huống sai lệch khi truy vấn dữ liệu.

Bạn có thể sử dụng các chuỗi escape (mã hóa các ký tự đặc biệt trong chuỗi) để chuyển một chuỗi thành một query truy vấn an toàn. Ví dụ như hàm mysqli_real_escape_string() hoặc addslashes().

Tuy nhiên, tốt nhất là bạn sử dụng framework để có thể dễ dàng loại bỏ lỗi SQL injection.

Với lỗi XSS cũng có thể giải quyết theo phương án tương tự vì nguyên nhân gây lỗi cũng nằm ở thông tin đầu vào. Vì vậy bạn nên kiểm soát thông tin trước khi hiển thị ra thẻ HTML bằng cách tiến hành escape chuỗi ngay từ trên server.

Bạn có thể dùng hàm htmlentities() để biến đổi các ký tự đặc biệt. Ví dụ: <script> sẽ chuyển đổi thành &lt;script&gt; không còn ký tự đặc biệt nữa.

5. Tăng cường bảo mật website

Để tăng cường bảo mật cho website, bạn nên để ý tối ưu cấu hình máy chủ bằng các phương pháp như:

  • Thu thập những tập tin ghi lại các hoạt động và tiến hành kiểm tra những hoạt động bất thường
  • Thiết lập phân quyền người dùng và hạn chế phạm vi truy cập các thư mục, tập tin quan trọng
  • Ngưng hoạt động tất cả những dịch vụ không cần thiết, đồng thời xóa bỏ các phần mềm, tập tin không sử dụng nữa
  • Dùng các giao thức và mã hóa an toàn để bảo mật web

6. Bảo mật website bằng mật khẩu mạnh

Đặt mật khẩu mạnh là một trong những phương án hiệu quả để cả bạn và người dùng chung tay bảo mật website và chính tài khoản của họ. Hãy loại bỏ tất cả mật khẩu được cài mặc định và thay vào đó các mật khẩu mạnh của riêng bạn.

Mật khẩu mạnh không nên chứa các từ có nghĩa hoặc dãy số phổ biến. Bạn nên đặt ra quy cách cài mật khẩu, ví dụ như bao gồm ký tự thường/hoa, ký tự đặc biệt, chữ và số xen kẽ,… để bảo mật website bằng mật khẩu tốt hơn.

Đặt mật khẩu mạnh để tăng cường bảo mật website

7. Sử dụng các công cụ bảo mật website

Sau khi hoàn tất các thao tác thủ công như đã kể trên, bạn có thể nhờ đến các công cụ bảo mật website để đánh giá mức độ bảo mật hiện tại.

  • NMAP: một trong những công cụ phổ phiến nhất để kiểm tra bảo mật, tìm kiếm các lỗ hổng trên toàn bộ hệ thống mạng và dịch vụ mạng với rất nhiều chức năng khác nhau
  • SQLmap: mã nguồn mở miễn phí này được sử dụng chủ yếu để tìm kiếm và phát hiện các lỗ hổng SQL injection trên ứng dụng, website
  • Metasploit Framework: đây là một tập hợp nhiều chương trình dùng để tấn công và kiểm tra độ bảo mật web
  • Burp Suite: công cụ này gồm có 2 phần Spider và Intruder. Spider sẽ thu thập dữ liệu hệ thống còn Intruder sẽ tấn công và tìm kiếm các lỗ hổng còn hiệu hữu
  • Nessus: tương tự như một quyển từ điển bảo mật vì công cụ này luôn được cập nhật về các lỗ hổng mới nhất, giúp việc kiểm tra luôn được toàn diện và đầy đủ
  • John the ripper: đây sẽ là một công cụ hữu ích để kiểm tra xem mật khẩu của bạn đã đủ mạnh hay chưa vì nó sẽ tiến hành kiểm tra và thử bẻ khóa mật khẩu.

8. Chọn máy chủ mạnh để bảo mật web tốt hơn

Máy chủ mạnh phải đảm bảo được hệ thống bảo mật tốt, có thể nhận biết các lỗ hổng, luôn backup dữ liệu và dễ dàng restore,… Đây là những điểm cần lưu ý khi bạn chọn hosting cho website của mình.

Nếu bạn đang sử dụng dịch vụ của các nhà cung cấp hosting khác, hãy hỏi xem đơn vị hosting có thể hỗ trợ bạn bảo mật như thế nào.

Kết thúc

Bất cứ đối tượng nào, dù là người dùng, chủ doanh nghiệp hay cả các web designer và developer đều nên chú ý đến việc bảo mật website và bảo mật thông tin cá nhân của mình trên mạng. Bảo mật web toàn diện ngay từ những bước đầu sẽ giúp bạn tránh được rất nhiều vấn đề khác.

Sưu tầm

Quảng cáo của Google

2 BÌNH LUẬN

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.