Tìm hiểu về các tường lửa khác nhau để bảo mật các trang web (và máy chủ) WordPress của bạn.
Đây là kiến thức tiêu chuẩn của quản trị viên hệ thống nhưng nhiều người không biết sự khác biệt hoặc cách thực hiện. Thật không may, các công ty “bảo mật” phô trương lại khiến những người dùng ngây thơ sợ hãi mua những dịch vụ mà họ không cần.
Vì vậy, hãy cùng tìm hiểu về tường lửa để bạn biết chính xác những gì bạn cần, một lần và mãi mãi!
- Tường lửa chặn lưu lượng truy cập độc hại như thế nào
- Tường lửa mạng và Tường lửa ứng dụng web (WAF).
- Những tường lửa nào bạn nên có (hoặc lo lắng).
- Thực tiễn tốt nhất cho tường lửa.
- Bạn có nên trả tiền cho tường lửa cao cấp?
- Tôi làm sáng tỏ mọi thứ về tường lửa trong hướng dẫn này.
Tìm hiểu thêm các phương pháp bảo mật căn bản tại đây!
Nhiệm vụ chính của tường lửa – chặn các kết nối không mong muốn
Tường lửa là hệ thống kiểm soát truy cập cho mạng của bạn.
Mật khẩu giống như các mã cho khóa cửa. Tường lửa giống như nhân viên bảo vệ quyết định ai được tiếp cận cửa (nơi yêu cầu passcode). Tường lửa về cơ bản là một danh sách các quy tắc quyết định ai được truy cập hoặc không được truy cập. Như bạn có thể thấy, có nhiều hình thức bảo mật để ngăn chặn hacker. Đầu tiên, bạn sử dụng tường lửa để quyết định xem cổng nào được phép truyền thông hoặc không. Và đối với các cổng mở, bạn có thể cho phép tất cả giao thông (như với dịch vụ công cộng, ví dụ: HTTP) hoặc yêu cầu xác thực bằng mật khẩu (dịch vụ riêng, SSH, FTP, POP3/SMTP).
Tường lửa về cơ bản là hình thức bảo mật đầu tiên của bạn. Chúng giống như người giữ cửa hoặc người bảo vệ quyết định ai được vào câu lạc bộ hoặc không. Dựa trên các quy tắc của bạn. Chúng quyết định cửa nào được phép truy cập và cho ai. Có thể cửa trước là cho tất cả mọi người. Có thể các cửa bên là chỉ dành cho nhân viên nội bộ. Một số cửa cho phép giao thông đi hai chiều. Các cửa khác chỉ cho phép đi ra.
Thường có 2 cách mà hacker có thể gây rối qua mạng của bạn:
- Họ xâm phạm bảo mật của bạn và truy cập dữ liệu của bạn. Điều này có thể làm nhiễm mã và tạo lối vào cửa sau. Sau đó đánh cắp dữ liệu của bạn hoặc thay đổi các tệp của bạn.
- Họ không xâm phạm bảo mật của bạn mà thay vào đó làm quá tải hệ thống của bạn với các kết nối giả, làm quá tải tài nguyên máy chủ và gây ra sự cố. Đây cũng được gọi là cuộc tấn công DOS hoặc DDOS.
Thực hành chung sẽ là đóng cửa các cổng bạn không cần thiết để hacker không thể xâm nhập vào máy chủ hoặc sử dụng tài nguyên hệ thống. Vấn đề phổ biến hơn ngày nay không phải là hacker xâm nhập vào qua các cổng của bạn mà là họ chiếm hết tài nguyên máy chủ của bạn với các kết nối giả hoặc thử mật khẩu vô tận.

Firewall mạng – stateless và stateful
Firewall mạng là “firewall” mạng truyền thống.
Bất cứ ai nghe từ firewall sẽ ngay lập tức nghĩ đến firewall mạng. Họ nghĩ đến các cổng và địa chỉ IP. Loại firewall này thường được tích hợp vào các thiết bị mạng trung tâm, như máy chủ và bộ định tuyến.
Firewall mạng kiểm soát việc đóng hay mở các cổng, và địa chỉ IP nào được truy cập. Dễ hiểu. Dễ nhìn thấy các cổng đang mở/đóng, các địa chỉ IP cho phép hoặc chặn. Các dịch vụ khác sử dụng các cổng khác nhau. Ví dụ SSH sử dụng cổng 22, FTP sử dụng cổng 21, HTTP sử dụng cổng 80, vv. Bạn quyết định cái nào được mở và cho ai. Ví dụ trong thế giới thực – hãy tưởng tượng một tòa nhà (máy chủ) có nhiều cánh cửa (cổng). Firewall của bạn chính là nhân viên an ninh kiểm soát việc ra vào qua các cánh cửa. Bạn cũng có thể cấu hình để chỉ cho phép một số người (địa chỉ IP) vào qua các cánh cửa đó. Bạn cũng có thể cấu hình một số cánh cửa chỉ là lối vào, lối ra hoặc cả hai.
Tuy nhiên, firewall mạng thế hệ đầu tiên (firewall stateless) có một số hạn chế
Chúng chỉ có thể lọc các gói tin dựa trên các cổng chúng đi qua và các địa chỉ IP được sử dụng. Chúng không thể phát hiện khi các gói tin giả mạo địa chỉ IP để xâm nhập (còn được gọi là “IP spoofing”). Tất nhiên, việc xử lý tối thiểu của chúng làm cho chúng rất tiết kiệm tài nguyên, nhưng cũng không thông minh lắm trong việc ngăn chặn lưu lượng xấu (giả mạo). Firewall stateless được cấu hình thủ công. Sau khi xác định các cổng (mở/đóng) và địa chỉ IP (cho phép/từ chối), nó chỉ lọc các gói tin dựa trên các quy tắc đó. Chúng không thể tự động điều chỉnh quy tắc phản ứng với các cuộc tấn công vào các cổng mở.
Firewall stateless chỉ thực hiện lọc gói tin ở tầng mạng 3 (layer 3) trên mô hình OSI. (Nói cách khác, nó bảo vệ bạn khỏi cuộc tấn công LỚP 3 DDOS).
Vì vậy, để xác định và kiểm soát luồng gói tin tốt hơn, chúng ta sử dụng firewall mạng thế hệ thứ hai (firewall stateful)
Firewall stateful có thể kiểm tra trạng thái của các gói tin (mở, đóng, đã thiết lập, vv… do đó được gọi là “stateful”), và quyết định cho phép hoặc không dựa trên trạng thái của gói tin. Bạn có thể tưởng tượng một nhân viên bảo vệ lười biếng (stateless) chỉ nhìn qua chứng minh nhân dân của bạn so với một nhân viên bảo vệ (stateful) kiểm tra kỹ để xem nó có thật hay không. Firewall stateful cũng so sánh các gói tin trong ngữ cảnh với các gói tin khác (ví dụ số kết nối đã thiết lập). Nó có thể phát hiện ra các mẫu và linh hoạt hơn trong việc ngăn chặn lưu lượng xấu. Nó cũng có thể ghi lại lưu lượng và nhận biết các mẫu lạm dụng. Đây là một hệ thống giám sát đầy đủ tính năng hơn.
Bởi vì nó kiểm tra gói tin kỹ hơn, nó cũng sử dụng nhiều tài nguyên hơn và có thể bị tấn công DDOS (mỗi người theo cách riêng của mình). Bởi vì firewall stateful phụ thuộc một ít vào tự động hóa phần mềm, nó cũng có thể bị lừa hoặc bị tận dụng bởi những kẻ hack hiểu thuật toán bảo mật của nó. Firewall stateful phức tạp hơn trong việc cấu hình nhưng có thể giúp bạn bảo mật các cổng mở tốt hơn vì nó thông minh đủ để phát hiện/giới hạn lạm dụng mạng. Ví dụ, nó cho phép mọi người truy cập vào các cổng máy chủ web của bạn 80/443 nhưng sẽ chặn IP nếu họ thiết lập hơn 10 kết nối đồng thời. Firewall stateful có thể thực hiện lọc gói tin và quét các yếu tố ở tầng vận chuyển 4 của mô hình OSI, giúp ngăn chặn hiệu quả cuộc tấn công DDOS ở lớp 3 và 4).

Firewall ứng dụng Web so với Firewall mạng (WAF)
Có nhiều loại tường lửa khác nhau! Nếu có điều gì, đây có lẽ là phần khó hiểu nhất trong việc hiểu về tường lửa đối với mọi người. Bởi vì mọi dịch vụ và plugin trên thị trường đều bán các tính năng “bảo mật tường lửa”. Và không thể phủ nhận rằng rất nhiều người không biết sự khác biệt là gì. Khi bạn nhận biết được sự khác biệt giữa tường lửa mạng và tường lửa ứng dụng web, mọi thứ trở nên dễ dàng hơn.
Vậy tường lửa ứng dụng web (WAF) là gì?
Khác với tường lửa mạng, tường lửa ứng dụng web lọc lưu lượng trên tầng ứng dụng, tầng 7. (tôi đang đề cập đến mô hình OSI.)
Điều này cho phép nó lọc lưu lượng theo cách khác và qua các giao thức khác. Hãy so sánh tất cả 3 tầng.
- Tường lửa tầng 3 – lọc gói dựa trên các cổng mà chúng đi qua và các địa chỉ IP mà chúng đến và đi từ.
- Tường lửa tầng 4 – có thể lọc dựa trên thông tin tầng 3 nhưng cũng trạng thái kết nối, số kết nối được tạo ra và xem liệu địa chỉ IP này có trong danh sách cấm về việc lạm dụng gần đây hay không.
- Tường lửa tầng 7 – có thể lọc dựa trên thông tin tầng 3 và 4 nhưng cũng như đối tượng người dùng, trang web hoặc mã nào được yêu cầu và nhiều hơn nữa.
Một cách khác để nghĩ về nó là tường lửa mạng là tường lửa phần cứng và tường lửa ứng dụng web là tường lửa phần mềm.
Những điều gì làm cho tường lửa ứng dụng web đặc biệt?
WAF có thể lọc thông tin ở tầng cao hơn và chặn những thứ mà tường lửa tầng thấp không thể.
Ví dụ… tường lửa mạng của bạn có thể chặn cổng SSH 22 cho tất cả lưu lượng, nhưng phải để cổng HTTP 80 và cổng HTTPS 443 mở cho tất cả khách truy cập trang web. Và điều đó có nghĩa là lưu lượng tốt và xấu có thể trải qua các cổng đó. Và nếu cho phép tất cả lưu lượng trải qua các cổng mở đó, bạn cần một cách khác để lọc chúng. Đó là lúc WAF xuất hiện.
- Hãy nhớ… tầng thấp nhất của mô hình OSI mạng là tầng vật lý (tầng 1). Chúng ta chỉ thấy một dây cáp với điện trôi qua nó. Chúng ta không thể nói rằng một phần của điện đó là của kẻ tấn công hoặc không. Chúng ta chỉ biết xem cáp có được kết nối và có nguồn điện hay không.
- Các tầng giữa (3 & 4) có thể phân biệt các bit điện này như gói mạng. Nhưng chúng không thể biết xem các gói đó có thông tin xấu hay tốt, hoặc mã nào đang chạy. Chúng chỉ có thể xem xem chúng đến từ đâu và đến đâu, cổng mà chúng muốn truy cập và trạng thái kết nối.
- Tầng cao nhất (7) là tầng ứng dụng và có thể xem chính xác mã đang chạy, dữ liệu đang truyền. Nó có thể xem và xử lý dữ liệu dưới dạng người dùng (con người) thấy nó… trong văn bản đọc được và số (không phải là mã nhị phân hoặc dòng điện).
Công nghệ tính toán thô sơ ở tận gốc của nó biến các tín hiệu điện được lưu trữ trên các thiết bị cơ khí thành ngôn ngữ viết bằng con người và màu sắc được hiển thị trên màn hình. Tường lửa ở các tầng khác nhau bắt giữ và lọc lưu lượng này ở các tầng khác nhau.
Tường lửa ứng dụng web có thể lọc theo
- Đối tượng người dùng – giả sử bạn muốn chỉ cho phép trình duyệt web truy cập nhưng không phải bot thu thập dữ liệu tự động.
- Mã – ngăn thi hành mã độc hại. (Đặc biệt hữu ích cho hacker đã xâm nhập và đang cố chạy phần mềm độc hại từ máy chủ của bạn.)
- URL – có thể ngừng tất cả hoặc khách truy cập cụ thể từ truy cập đến các URL cụ thể.
- Người giới thiệu – có thể ngừng khách truy cập từ một số trang web cụ thể.
- Xác thực – bắt buộc khách truy cập sử dụng mật khẩu.
- Và nhiều hơn nữa – nhưng tôi lười liệt kê tất cả.
Lọc theo cách này cho phép bạn lọc ra lưu lượng xấu đi qua các cổng mở. Hacker thấy khó khăn hơn khi cần đọc nhiều thông tin hơn từ mỗi yêu cầu truy cập. Họ cần làm việc nhiều hơn để che giấu yêu cầu của họ và đánh lừa tường lửa.
Nhược điểm của tường lửa ứng dụng web
WAF rất tiên tiến, tại sao chúng ta không sử dụng chúng theo mặc định và quên đi tường lửa tầng 3 và 4?
- Nó sử dụng nhiều tài nguyên hơn vì họ xử lý nhiều thông tin hơn và hoạt động ở tầng cao nhất của mô hình OSI (gần người dùng cuối) và xa nhất từ tài nguyên máy chủ gốc.
- Nó chỉ hoạt động trên ứng dụng web cụ thể của họ. Ví dụ, tường lửa WAF được xây dựng cho trang web của bạn (HTTP/HTTPS) lý thuyết không thể bảo vệ cho FTP hoặc các dịch vụ khác.
Bạn có thể nghĩ về nó như là bảo mật ngân hàng nhiều lớp. Họ có nhân viên cấp thấp làm việc ở cửa. Nhiệm vụ của họ chỉ là đảm bảo không ai trong số họ trông giống người gây rắc rối đang xâm nhập. Tiếp theo là nhân viên giao dịch khiến bạn phải xuất trình thẻ ID hoặc nhập mã PIN trước khi bạn có thể truy cập tiền. Và sau đó, nếu bạn cố gắng truy cập vào khu vực an toàn phía sau quầy hoặc vào két sắt, có mức bảo mật cao hơn (chìa khóa, dấu vân tay) và nhân viên bảo vệ được đào tạo tốt hơn ở đó.
Việc có nhiều lớp bảo mật không chỉ an toàn hơn mà còn hiệu quả về tài nguyên hơn. Việc đặt người bảo vệ tốt nhất kiểm tra tất cả mọi người ở cửa trước (và làm chậm giao thông) khi một số trong số họ có thể thậm chí không có mục đích rút tiền, chưa kể là cướp ngân hàng. Xem xét tất cả lưu lượng một cách chặt chẽ như vậy sẽ là một lãng phí tài nguyên. Tốt hơn hết là lọc từng lớp.
Tường lửa WAF máy chủ so với tường lửa WAF đám mây
Trước kia, hầu hết các doanh nghiệp nhỏ hoặc môi trường máy chủ đơn sẽ cài đặt tường lửa trực tiếp trên máy chủ của họ. Điều này tiện lợi khi chỉ cần quản lý một máy vật lý. Nhưng khi lưu lượng tăng và nhu cầu bảo mật cũng tăng, họ có thể đặt chức năng tường lửa này trên một máy chủ riêng biệt.
Chức năng tường lửa tách rời này được thực hiện từ một thiết bị tường lửa trung gian (có thể là máy chủ thực tế hoặc một công tắc mạng có khả năng tường lửa) và đặt ngay trước máy chủ web của họ. Các ưu điểm là có tài nguyên cố định để xử lý tường lửa. Nhược điểm là tăng chi phí, quản lý và ảnh hưởng đến tốc độ (có nhiều proxy sẽ làm chậm thời gian xử lý yêu cầu.)
Các công ty lớn nhất hoặc có yêu cầu cực kỳ chuyên sâu có thể chọn “dịch vụ tường lửa” từ một công ty lớn như Sucuri. Họ tương tự với ý tưởng proxy tường lửa, ngoại trừ máy chủ của họ không đặt tại địa phương bên cạnh máy chủ web của bạn. Họ đặt ở đâu đó trong đám mây nhưng vẫn nằm giữa khách truy cập và máy chủ web của bạn.
Tường lửa đám mây có nhiều lợi ích hơn so với tường lửa máy chủ địa phương của bạn
- Tường lửa được quản lý bởi một công ty bảo mật chuyên nghiệp.
- Có thể xử lý các cuộc tấn công lớn hơn (phân tán trên nhiều máy chủ), trong khi máy chủ đơn chỉ có thể xử lý những cuộc tấn công nhỏ.
- Hưởng lợi từ cơ sở dữ liệu tấn công tập trung. Có khả năng được cập nhật nhiều hơn.
Tường lửa đám mây cho phép bạn có được bảo vệ tốt nhất mà không cần làm gì cả. Không lo về việc cài đặt, bảo mật hoặc sự phức tạp. Đơn giản chỉ cần định tuyến lưu lượng của bạn qua máy chủ của họ và họ thực hiện tất cả việc lọc cho bạn. Nhược điểm rõ ràng là chi phí và nguy cơ làm chậm lưu lượng.
Thời gian đã thay đổi rất nhiều. Các công ty bảo mật dựa trên đám mây đã giảm giá mạnh và cải thiện sản phẩm của họ để trở nên thân thiện hơn với người dùng. Có vẻ như tất cả mọi người (kể cả các doanh nghiệp nhỏ) sẽ tốt hơn khi sử dụng tường lửa đám mây miễn phí hoặc giá thấp hơn thay vì mua hoặc duy trì tường lửa của riêng họ. Các giải pháp bảo mật dựa trên đám mây cũng thường có giao diện đẹp hơn nhiều, hiển thị nhiều dữ liệu hơn và báo cáo trực quan hữu ích. Trong khi hầu hết các tường lửa WAF máy chủ trông rất đơn giản và/hoặc quá kỹ thuật dựa trên văn bản.
WAF dựa trên ứng dụng (còn được gọi là tường lửa dựa trên PHP)
Ồ man, sẽ có thêm sự nhầm lẫn. Như chúng ta đã biết, bạn có thể chạy một tường lửa ứng dụng web trực tiếp từ máy chủ của bạn (hoặc máy chủ đám mây)….NHƯNG…bạn cũng có thể chạy một WAF trực tiếp trên ngôn ngữ giao diện (như PHP).
Ví dụ, hầu hết các bạn đang đọc hướng dẫn này đang sử dụng một ứng dụng web như WordPress chạy trên ngôn ngữ PHP. Trong WordPress, có một số plugin bảo mật làm điều này. Họ kiểm tra các quá trình PHP của bạn và lọc dựa trên đó. Nhưng hãy cẩn thận… nếu cần phải nói, WAF dựa trên PHP sẽ chắc chắn chạy chậm hơn so với WAF dựa trên máy chủ.
Hãy nhớ rằng tường lửa dựa trên ứng dụng chỉ bảo vệ ứng dụng mà nó được cài đặt. Nếu bạn có nhiều ứng dụng trên một máy chủ, có lẽ dễ dàng hơn để cài đặt WAF trên máy chủ toàn bộ để chỉ cần quản lý quy tắc từ một nơi.
Tầm quan trọng của WAF dựa trên ứng dụng
Khi nói đến tường lửa mạng. Bạn nên thêm nhiều quy tắc và chặn càng nhiều càng tốt. Càng chặn nhiều, hệ thống của bạn sẽ càng an toàn và hiệu suất càng tốt.
Với WAF, bạn không thể suy nghĩ như vậy. Bởi vì WAF sử dụng tầng ứng dụng và các quy tắc WAF được nạp dưới dạng quy trình phần mềm và sử dụng tài nguyên máy chủ. Vì vậy với WAF, bạn muốn càng hiệu quả càng tốt. Chỉ có những quy tắc bạn cần và không có gì nữa, vì quy tắc WAF được chạy trên mọi yêu cầu ứng dụng.
WAF sẽ đi kèm với các mức bảo vệ khác nhau. Một số WAF rất tổng quát và có một tập hợp quy tắc lỏng lẻo để cho phép hầu hết các ứng dụng chạy trên máy chủ (mà không làm chậm hoặc chặn các máy chủ quan trọng). Những WAF khác chuyên sâu hơn vào ứng dụng cụ thể, chẳng hạn như cụ thể cho WordPress và chỉ chặn các phần dễ tổn thương của WordPress (thay vì tính cho tất cả ứng dụng máy chủ chung). Sử dụng WAF cụ thể cho ứng dụng mang lại cho bạn không chỉ bảo mật tốt hơn mà còn hiệu suất tốt hơn.
Hẹn gặp các bạn ở phần sau!









