Bảo mật website: Tìm hiểu về DDOS và BOTNET cùng biện pháp xử lý

Chủ đề của hôm nay mà LP Tech muốn chia sẻ đến các bạn là Bảo mật website an toàn trước tình hình an ninh mạng hiện tại. Việc bảo mật website đang thật sự cần quan tâm kể cả các công ty thiết kế web hay các doanh nghiệp đang chuẩn bị thiết kế web. 

Trong đó việc bảo mật website dù có tốt cũng chưa thể chống đở 100% các cuộc tấn công bằng hình thức chủ động như bài viết dưới đây mà LP Tech sẽ nêu ra, đó chính là DOS, DDOS và Botnet.

DDos là gì ?

Dos là viết tắt của "Denial Of Service" nghĩa là "Tấn công từ từ chối dịch vụ", là kiểu thường được sử dụng để tấn công vào các máy chủ, web server nhằm mục đích làm tắc nghẽn, gián đoạn kết nối giữa người dùng và máy chủ gây cạn kiệt tài nguyên. Kiểu tấn công cơ bản thường dùng nhất là Attacker sẽ gửi liên tục các yêu cầu đến máy chủ và yêu cầu nào cũng mang dung lượng lớn.

Do phải xử lý lượng yêu cầu này mà máy chủ không còn đủ tài nguyên để xử lý các yêu cầu từ người dùng khác gây nên tình trạng gián đoạn kết nối.

"Ddos" tên đầy đủ là "Distributed Denial Of Service"  hay "Tấn công từ từ chối dịch vụ phân tán"

Tương tự như Dos nhưng lần này Attacker tấn công từ nhiều luồng khác nhau với nhiều IP và dãy IP khác nhau. Họ có thể gửi nhiều lượt truy cập vào một máy chủ trong cùng thời điểm, làm máy chủ không phân tán rất nhiều tài nguyên để xử lý đồng thời các yêu cầu đó. Gây ra tình trạng quá tải và đó là điều mà Attacker đang mong muốn. Cách tất công này khiến máy chủ khó phát hiện và ngăn chặn hơn Dos.

Để mọi người có thể dễ hình dung hơn thì mình xin phép lấy kẹt xe đặc sản của Sài Gòn làm ví dụ:

Bạn đang trên con đường "băng thông" đến công ty bạn làm tên là "máy chủ" bình thường vẫn không đông người lắm trên con đường bỗng hôm nay có 1 đoàn xe tải của nhà xe "Dos" nối đuôi dài bất tận chạy chiếm hết cả con đường khiến không ai có thể lưu thông được nữa. Nhận thấy sự cố ý phá hoại đến từ nhà xe "Dos" công ty của bạn đã đặt biển cấm đối với mọi xe của "Dos" bằng cách đó là Ban IP của Attacker.

Thì đối với Ddos Attacker đó thể tấn công từ nhiều luồng, nhiều địa chỉ khác nhau cũng như sử dụng nhiều xe, đi tới từ nhiều hướng nên rất khó xác định được xuất phát từ đâu. Vậy làm sao mà Attacker có thể sử dụng nhiều IP như thế trong cùng lúc để thực hiện hành vi của mình ? Có khác nhiều cách khác nhau như sử dụng server ảo, thay đổi IP liên tục qua các proxy và Botnet.

BotNet là gì?

BotNet là thuật ngữ viết ngắn của "Bots Network". Chỉ mạng lưới các máy tính nhiễm mã độc (Bots/Zombie) và bị chi phối bởi một máy tính khác. Mạng lưới Botnet càng lớn thì độ nguy hiểm càng cao. Có những mạng lưới Botnet có thể liên đến hàng ngàn hoặc trăm ngàn máy zombie Hiện nay có 2 hình thức cấu trúc mạng lưới Botnet là client/server botnet model và peer-to-peer botnet model.

Client/server botnet model

Với mô hình này các máy bot/zombie kết nối với máy chủ hoặc cụm máy chủ thông qua tên mình hoặc kênh IRC để nhận lệnh của Botmaster. Mô hình này thường phổ biến và dễ dàng sử dụng hơn.

Các máy zombie thường bị chi phối ngầm mà người sử dụng máy zombie không hay biết hoặc rất khó nhận ra. Thông qua sự chi phối của Botmaster người điều khiển của thể phát tán các mã độc khác để tạo ra một mạng lưới Botnet càng lớn mạnh. Phương thức phát tán thường thấy nhất là ẩn các mã độc vào các các phần mềm miễn phí quen thuộc rồi rồi phát tán link tải trên internet.

Botmaster có thể điều khiển máy zombie thực hiện nhiều yêu cầu khác nhau cho nhiều mục đích khác nhau của Attacker bao gồm cả Ddos. Người sử dụng có thể điều khiển các máy bot tấn công vào web server thông qua giao diện điều khiển đặc biệt của họ, lập tức các máy bot đang online trong mạng lưới dù có ở khắp thế giới cùng lúc truy cập đến trang mục tiêu.

Mô hình ngày cũng có một nhược điểm, do các máy bị nhiễm mã độc điều kết nối tới 1 máy chủ duy nhất nên có thể tìm ra được máy chủ ngày trong quá trình phân tích mã độc. Chỉ cần máy chỉ bị phá hủy và ngưng hoạt động thì các máy bots cũng không còn.

Peer-to-peer botnet model

Mô hình Bonet kết nối ngang hàng. Mô hình này được sinh ra để khắc phục điểm yếu của client/server ở trên. Thay vì kết nối tập trung vào một máy chủ thì các máy bots kết nối ngang hàng và chia sẻ với nhau. Thêm chức năng điều khiển vào mỗi máy bots để các máy này có thể dễ dàng giao tiếp, chia sẻ và điều khiển lẫn nhau nhằm mục đích cản trở nỗ lực tìm ra máy chủ.

Trong cấu trúc này máy chủ lẫn máy bots đều chỉ có thể kết nối qua các nút lân cận để truyền dữ liệu cho nhau. Để duy trì ổn định cấu trúc này các máy đều có một danh sách các máy tin cậy để kết nối với nhau. Mô hình này nguy hiểm hơn rất nhiều so với client/server, rất khó khăn để tìm ra nguồn gốc ngăn để ngăn chặn và phá hủy hoàn toàn bởi mỗi máy trong mạng lưới điều có khả năng là máy điều khiển.

Nhưng mô hình này lại lộ ra một nhược điểm vì chức năng điều khiển ở mỗi máy bots nên người tạo ra chúng có khả năng mất quyền kiểm soát. Để hạn chế điều này các mã độc này thường được mã hóa rất kỹ lưỡng.

Phòng chống Dos - DdoS - BotNet

Đối với phòng chống Ddos thì hiện tại chưa có cách phòng chống triệt để rõ ràng nào hiện nay. Vì đây là kiểu tấn công chủ động như đã nêu ở trên, vì thế để bảo mật website cần phải có kế hoạch cụ thể.  LP Tech sẽ giới thiệu một số cách phòng chống Ddos và Botnet như sau:

Định tuyến hố đen (black hole)

Đây là cách làm khá phổ biến đối với các quản trị viên trong làm bảo mật website. Khi phát hiện lượng lớn các truy cập bất thường, các truy cập sẽ được chuyển vào đây mất kể là truy cập bình thường hay ác ý, nhằm giảm thiểu thiệt hại cho máy chủ. Hiện nay các nhà cung cấp dịch vụ internet ISP đang cung cấp dịch vụ này. Tuy nhiên để thiết lập cần tốn khá nhiều thời gian và thiết bị.

Giới hạn truy cập

Tự  thiết lập số lượng truy cập cho máy chủ, website trong cùng một lúc. Cách này nhằm ổn định kết nối với cho những người đang sử dụng hệ thống khi xảy ra tấn công. Sau khi đạt được số lượng giới hạn truy cập cho phép thì mọi truy cập sau đó đều bị chặn lại và phải chờ. Tuy nhiên biện pháp này cũng có những rủi ro nhất định, nhất là đối với website đang làm SEO, Nếu bạn đang chạy Dịch vụ SEO mà chặn hay giới hạn truy cập thì quả là nguy hiểm đấy.

Chặn IP

Ngăn chặn các IP đáng ngờ đang truy cập liên tục vào website của bạn. Đối với Dos thì cách này tuy đơn giản nhưng rất hiệu quả. Cách này được sử dụng hầu hết ở các trang web PHP bằng cách cấu hình ở file .htaccess Ở ví dụ mình cũng đã nhắc tới. Tuy nhiên việc chặn IP bằng phần mềm cũng có góp phần vào việc bảo mật website khỏi tấn công DDOS nhưng đó chỉ có thể chặn các cuộc tấn công nhẹ mà thôi.

Các cuộc tấn công lớn thì để Bảo mật website tốt cần phải ngăn chặn các Request ở Layer đầu tiên, chứ nếu vào tới các server là đã vào đến Layer-7 theo mô hình OSI rồi, việc này sẽ giảm hiệu quả bảo mật website.

Sử dụng Firewall

Đây là khái niệm rất quen thuộc với chúng ta khi làm bảo mật website. Tường lửa hoạt động như một rào chắn và lọc các kết nối không an toàn cả 2 chiều ra và vào hệ thống. Nó có thể giúp lọc ra các truy cập bị nghi ngờ là bots đang tấn công giúp hạn chế nguồn tài nguyên tiêu hao và ổn định chất lượng người dùng bên trong. 

Sử dụng Cloudflare

Dịch vụ Cloudflare là một DNS trung gian giúp điều phối lượng truy cập vào máy chủ. Thay vì truy cập trực tiếp thông quan DNS thì người dùng truy cập thông qua máy chủ DNS của Cloudflare. Đây cũng là một hình thức bảo mật website hiệu quả, tuy nhiên nếu sử dụng gói miễn phí thì có khá nhiều vấn đề như thời gian Down-Time và tốc độ cũng bị ảnh hưởng.

Máy chủ Cloudflare sẽ điều tiết lượng truy cập vào website của bạn và lọc các kết nối độc hại. Bên cạnh đó Cloudflare còn giúp tăng tốc độ tải trang bằng cách lưu lại cache và nén các CSS, hình ảnh của web và lưu lại trên máy chủ của Cloudflare.

Đối với người dùng

Để tránh bị kẻ gian lợi dụng đánh cắp thông tin, phát tán mã độc và vô tình trở thành zombie trong một mạng BotNet nào đó, người dùng cần lưu ý các vấn đề bảo mật website như sau:

  1. Không mở những tập tin không rõ nguồn gốc.
  2. Không nên sử dụng cái phần mềm lậu, path crack.
  3. Không mở nhử tập tin tự động tải xuống mà mình không mong muốn.
  4. Khi tải phần mềm nào đó hãy chú ý đến tên miền của trang web có phải là trang chủ của phần mềm mà mình muốn tải hay không.
  5. Thường xuyên cập nhật những bản vá lỗi của hệ điều đang dùng
  6. Cập nhật phần mềm diệt antivirus
  7. Không sử dụng các phần mềm diệt virus không rõ nguồn gốc vì rất có thể bản thân nó là virus/mã độc

Ngoài ra bạn có thể tham khảo Dịch vụ bảo mật Server - Chống DDOS - BotNet  của LPTech nhé.

Thông tin liên hệ

Nếu bạn có thắc mắc gì, có thể gửi yêu cầu cho chúng tôi, và chúng tôi sẽ liên lạc lại với bạn sớm nhất có thể .

Công ty TNHH TMĐT Công nghệ LP

Giấy phép kinh doanh số 0315561312/GP bởi Sở Kế Hoạch và Đầu Tư TP. Hồ Chí Minh.

Văn phòng: Lầu 4, Toà nhà Lê Trí, 164 Phan Văn Trị, Phường 12,Quận Bình Thạnh, HCMC

Hotline: 0338 586 864

Mail: sales@lptech.asia

Zalo:LP Tech Zalo Official

Liên hệ qua Zalo: 0338586864 ( hoặc bấm vào link này: http://lptech.asia/zalo-lptech). Hoặc nhập thông tin mà bạn cần hỗ trợ vào ô liên hệ bên dưới để lên lạc với LPTech nhé.

Bài viết cùng chuyên mục

CSRF là gì? Tìm hiểu cách chống tấn công giả mạo...

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi...

Pentest là gì? Tầm quan trọng của kiểm thử xâm nhập

Tìm hiểu về phương pháp kiểm thử xâm nhập - Pentest, một giải pháp bảo mật thiết yếu cho doanh nghiệp trong thời đại số hóa.

NAT là gì? Phân loại NAT theo chức năng và cách...

NAT là một kỹ thuật mạng dùng để chuyển đổi địa chỉ IP của một gói data khi nó đi qua một thiết bị mạng như router hoặc tường lửa. Các...

Mạng LAN là gì? Kết nối máy tính như thế nào? Các...

Mạng LAN là một loại mạng máy tính nội bộ, được sử dụng để các thiết bị có thể thiết kế với nhau và chia sẻ dữ liệu trong một khu vực nhỏ...

ISP là gì? Yếu tố cần đánh giá khi chọn nhà mạng

ISP là nhà cung cấp dịch vụ internet, giúp người dùng có thể kết nối intetnet ở mọi lúc mọi nơi, cùng tìm hiểu chi tiết hơn qua bài viết...

Tấn công brute-force là gì? Cách phòng chống tấn...

Brute force là một hình thức tấn công mà các hacker thường sử dụng. Chúng thực hiện bằng các phần mềm tự động để thử mật khẩu tài khoản...

Bài viết mới nhất


Hibernate ORM là gì? Khi nào nên dùng hibernate...

Hibernate ORM là một khung làm việc mã nguồn mở hoạt động như một tầng trung gian giữa ứng dụng và cơ sở dữ liệutrong Java dùng để ánh xạ các đối...

cURL là gì? Các câu lệnh cơ bản để sử dụng cURL

cURL là công cụ mạnh mẽ giúp bạn gửi và nhận dữ liệu qua nhiều giao thức khác nhau. Tìm hiểu chi tiết về cURL và các tính năng, giao thức mà nó hỗ...

CQRS Pattern là gì? Design pattern chuyên tách...

Tìm hiểu thông tin chi tiết về CQRS Pattern. CQRS (Command Query Responsibility Segregation) là một pattern giúp tách biệt command và query cực...

Chúc mừng sinh nhật Sếp Phú

Một hành trình mới bắt đầu cùng nhiều thử thách mới. Với sự tự tin, kiên cường và bản lĩnh, LPTech tin chắc rằng Sếp Phú của LPTech sẽ có nhiều...

Bool là gì? Tìm hiểu về kiểu dữ liệu bool trong...

Boolean là một kiểu dữ liệu cơ bản trong lập trình với C/C++, Jav,... Bool dùng để biểu diễn các giá trị logic đúng (true) hoặc sai (false). Xem...

Unit Test là gì? Tìm hiểu về khái niệm kiểm thử...

Unit Test sẽ giúp người dùng có thể xây dựng dự án một cách hiệu quả, để biết được những thông tin hữu ích về Unit Test. Hãy theo dõi thông tin...

CSRF là gì? Tìm hiểu cách chống tấn công giả...

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi nguy cơ này.

Middleware là gì? Tầm quan trọng của middleware...

Middleware là một đoạn mã trung gian nằm trong các ứng dụng web được thiết kế trên mô hình client-server. Tìm hiểu middleware là gì và ứng dụng của...

JWT là gì? Tìm hiểu về khái niệm JSON Web Token

JWT (JSON Web Token) là một phương thức xác thực bằng mã hóa phổ biến trong các ứng dụng web, giúp truyền tải thông tin, xác thực và ủy quyền một...

Shell là gì? Các loại môi trường dòng lệnh phổ...

Shell còn được gọi là môi trường dòng lệnh. Đây là nơi cho phép người dùng tương tác với hệ điều hành thông qua các dòng lệnh. Tìm hiểu về shell và...