1. Trang chủ
  2. » Kỹ Năng Mềm

Bài tập lớn môn an toàn mạng (6)

30 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Danh sách thuật ngữ tiếng Anh thống Distributed Stress Testing Stress Testing trong môi trường phân tán Transactional Stress Testing Stress Test trên mỗi các trao đổi Metrics for Stress

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

Học phần: An toàn mạng

Đề tài: Tìm hiểu công cụ T50

Nhóm lớp: 02

Giảng viên hướng dẫn: TS Đặng Minh Tuấn

Sinh viên thực hiện: Nguyễn Công Anh Tuấn

Mã sinh viên: B18DCAT216

Hà Nội, tháng 12 năm 2021

Trang 3

Danh sách thuật ngữ tiếng Anh

thống Distributed Stress Testing Stress Testing trong môi trường phân tán

Transactional Stress Testing Stress Test trên mỗi các trao đổi

Metrics for Stress Testing Cho phí của quá trình Stress Test

vị trí của nó trên một mạng máy tính

router dùng để gửi đi các thông báo lỗi chỉ ra một dịch vụ có tồn tại hay không

máy chủ và bộ định tuyến lân cận trên mạng IPv4 để thiết lập tư cách thành viên nhóm đa hướng

Trang 4

TCP Là giao thức để tạo các "kết nối" với nhau, mà

qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin

qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin

định tuyến được sử dụng để kết nối các hệ thống tự trị khác nhau trên Internet

một cách tự động cùng với các cấu hình liên quan khác như subnet mask và gateway mặc định

đường truyền khi có lỗi xảy ra

giao thức lớp Network trong các liên kết Point-to-Point

mã hóa các gói dữ liệu để cung cấp thông tin liên lạc được mã hóa an toàn giữa hai máy tính qua mạng IP

là công nghệ độc quyền của Cisco

Giao thức Internet

Trang 5

Danh mục hình vẽ

Trang 6

LỜI CẢM ƠN

Lời đầu tiên em xin được gửi lời cảm ơn tới thầy TS Đặng Minh Tuấn đã đồng hành giảng dạy cho em trong suốt bộ môn An Toàn Mạng không chỉ về chuyên môn mà thầy còn chia sẻ những câu chuyện thú vị về trong ngành cùng những kinh nghiệm đóng góp của thầy cho nền CNTT nước nhà.Dưới đây là bài báo cáo kết thúc môn học An Toàn Mạng với đề tài “Tìm hiểu về công

Trang 7

Mở đầu

Có thể thấy công nghệ thông tin là ngành có tốc độ phát triên nhanh và mạnh đặc biệt là trong những năm gần đây Đi cùng với đó là những sản phẩm mà công nghệ thô ng tin tạo ra thì ngày càng đa dạng và phong phú Những sản phẩm đó có thể là trang web tin tức các bạn cập nhật hàng ngày, có thể là ứng dụng giúp các bạn mua sắm thuận tiện hơn, có thể là hệ thống mạng giúp các bạn kết nối các thiết bị trong gia đình lại với nhau, ….Nhưng để biến những điều đó thành những sản phẩm trọn vẹn đến tay người dùng cuối là cả một quá trình kỳ phức tạp Và mỗi công đoạn trong quá trình phức tạp đó lại có những điểm khó khăn riêng, nhưng trong tất cả những khó khăn và phức tạp đó ta không thể không kêtr đến đó là quá trình Stress Test sản phẩm trước khi đến tay người dùng cuối Và để quá trình đó diễn ra thuận lợi hơn thì hôm tôi sẽ giới thiệu với các bạn một công cụ là T50

Trang 8

Chương 1 Khái quát về Stress Test

1.1 Stress Test là gì?

Stress test được sử dụng để kiểm tra sự ổn định và độ tin cậy của hệ thống Kiểm thử này chủ yếu xác định tính mạnh mẽ và việc xử lý lỗi hệ thống trong điều kiện tải cực kỳ nặng Nó thậm chí test vượt ra ngoài mức hoạt động bình thường và đánh giá làm thế nào hệ thống hoạt động trong những điều kiện khắc nghiệt Stress test được thực hiện để đảm bảo rằng hệ thống sẽ không bị rơi vào tình huống khủng hoảng

Stress test còn được gọi là kiểm thử độ bền Việc Stress Test nổi bật nhất là xác định giới hạn, tại đó hệ thống hoặc phần mềm hoặc phần cứng bị phá vỡ Nó cũng có thể kiểm tra hệ thống quản lý lỗi hiệu quả trong điều kiện khắc nghiệt hay không Ứng dụng đang được kiểm thử sẽ được thực hiện stress test khi dữ liệu 5GB được sao chép từ trang web và dán vào notepad Notepad bị quá tải và đưa ra thông báo lỗi 'Not Responded'

Stress Test là một loại kiểm thử xác định sự ổn định và tính mạnh mẽ của hệ thống Đây

là một kỹ thuật kiểm thử không chức năng Kỹ thuật kiểm thử này sử dụng mô hình mô phỏng tự động để kiểm thử tất cả các giả thuyết

Là một loại của Performance Test Với Performance Test là một loaị kiểm thử để xác định tốc độ của máy tính, tốc độ mạng hoặc thiết bị Nó kiểm thử hiệu suất của các thành phần của một hệ thống bằng cách truyền các tham số khác nhau trong những kịch bản test khác nhau

Cụ thể là kiểm tra xem hệ thống hoạt động như thế nào khi quá tải và cách hệ thống phục hồi khi xảy ra lỗi Stress Test nhằm đảm bảo rằng khi hoạt động trong điều kiện tải cao trong một

khoảng thời gian cố định sẽ không bị crash, hay bị dừng giữa chừng

Tóm lai, Stress test là quá trình xác định khả năng duy trì một mức độ hiệu quả nhất định trong các điều kiện không thuận lợi của máy tính, mạng, chương trình hoặc thiết bị Nói dễ hiểu hơn thì stress test giúp kiểm tra tính ổn định của hệ thống Quá trình này có thể bao gồm các bài kiểm tra định lượng được thực hiện trong phòng thí nghiệm, chẳng hạn như đo tần số lỗi hoặc sự

cố hệ thống Thuật ngữ này cũng đề cập đến đánh giá định tính các yếu tố như tính khả dụng hoặc khả năng chống lại các cuộc tấn công từ chối dịch vụ (DoS) Stress test thường được thực hiện cùng với quá trình kiểm tra hiệu suất tổng quát hơn

1.2 Tại sao phải Stress Test?

Stress Test là công việc vô cùng quan trọng trong quá trình xây dựng và kiểm định hệ thống trước khi đưa vào sử dụng Chính vì vậy Stress test là một công việc vô cùng quan trong, đóng vai trò to lớn cho sự thành công của hệ thống:

• Nó giúp các đơn vị kiểm tra hệ thống khi xảy ra lỗi

• Để đảm bảo rằng hệ thống có sao lưu dữ liệu trước khi xảy ra lỗi hay không

• Để kiểm tra xem bất kì trục trắc nào làm ảnh hưởng xấu đến an ninh hệ thống hay không

Trang 9

1.3 Khi nào nên sử dụng Stress Test?

Stress Test trên web hay ứng dụng là điều rất quan trọng với những trang web hay ứng dụng về những sự kiện lớn như bán vé cho một buổi hòa nhạc nổi tiếng với nhu cầu cao của người dân Vì vậy, điều quan trọng là kiểm tra thường xuyên với khả năng chịu tải của hệ thống Điều này cũng giúp bạn chuẩn bị cho các tình huống bất ngờ, dành nhiều thời gian hơn và nguồn lực để khắc phục bất kỳ sự cố nào

Stress test cũng rất có giá trị vì những lý do sau:

• Để kiểm tra xem hệ thống có hoạt động tốt ở các điều kiện bất thường hay không

• Hiển thị thông báo lỗi thích hợp khi hệ thống xảy ra hoạt động bất thường

• Hệ thống xảy ra lỗi khi gặp các điều kiện khắc nghiệt có thể gây ra tổn thất to lớn

• Tốt nhất là chuẩn bị trước để tránh các trường hợp xấu nhất có thể xảy ra bằng việc thực hiện stress test

1.4 Mục đích của Stress Test:

Mục đích của stress test là phân tích hành vi của hệ thống sau khi xảy ra sự cố Để thực hiện stress test thành công, hệ thống sẽ hiển thị thông báo lỗi thích hợp khi lâm vào trình trạng quá tải Khi thực hiện stress test, đôi khi có thể mất bộ dữ liệu kiểm thử dung lượng lớn Tester không nên để mất dữ liệu liên quan đến bảo mật trong khi thực hiện stress test Mục đích chính của stress test là để đảm bảo rằng hệ thống phục hồi ổn định sau khi xảy ra lỗi Điều này được gọi là khả năng thu hồi

Ngoài ra, mục tiêu của Stress Testing là phân tích các báo cáo sau sự cố để xác định hành

vi của ứng dụng sau thất bại Thách thức lớn nhất là đảm bảo để hệ thống không bị ảnh hưởng đến an toàn của các dữ liệu nhạy cảm sau sự cố Trong một bài stress testing thành công, hệ thống sẽ trở lại trạng thái bình thường cùng với tất cả các thành phần của nó ngay cả sau sự cố nghiêm trọng nhất

Tóm lại, mục tiêu stress test là kiểm tra hệ thống trong điều kiện quá tải Nó giám sát các tài nguyên hệ thống như bộ nhớ, bộ xử lý, mạng v v , và kiểm tra khả năng của hệ thống để phục hồi trở lại trạng thái bình thường Nó kiểm tra xem hệ thống có hiển thị các thông báo lỗi thích hợp hay không

Trang 10

1.5 Phân loại Stress Test:

Stress Test rất phong phú và đa dạng về thể loai cũng như cách thức và phương thức triển khai, trong đó có thế kể đến những loại phổ biến sau đây:

• Distributed Stress Testing:

Hình 1: Distributed Stress Testing

o Trong các hệ thống client-server phân tán, việc kiểm thử được thực hiện xuyên suốt từ client đến server Vai trò của server là phân tán các dữ liệu stress test cho tất cả các client và theo dõi tình trạng của client Sau khi client liên lạc với server, server sẽ thêm tên của client và bắt đầu gửi dữ liệu để kiểm thử

o Trong khi đó, client gửi tín hiệu rằng nó được kết nối với server Nếu server không nhận được bất kỳ tín hiệu từ client, nó cần phải được kiểm tra thêm Như trên hình, server có thể kết nối tới 2 client(Client1 và Client2), nhưng nó không thể gửi hoặc nhận tín hiệu từ Client 3 & 4

o Thực hiện stress test vào ban đêm là lựa chọn tốt nhất để chạy các kịch bản stress test Với các server lớn, cần có nhiều phương pháp hiệu quả hơn để xác định những máy tính nào xảy ra lỗi trong quá trình stress test và cần kiểm tra thêm

o Stress Testing úng dụng: Kiểm thử này tập trung vào việc tìm kiếm các khiếm khuyết liên quan đến khóa và chặn dữ liệu, các vấn đề về mạng và tắc nghẽn hiệu suất trong một ứng dụng

o Transactional Stress Testing (Stress test giao dịch): Nó thực hiện stress test trên một hoặc nhiều giao dịch giữa hai hoặc nhiều ứng dụng Nó được sử dụng

để tinh chỉnh và tối ưu hóa hệ thống

Trang 11

• Systemic Stress Testing

o Đây là sự kết hợp trong stress test,nó có thể thực hiện stress test qua nhiều hệ thống đang chạy trên cùng một server

• Exploratory Stress Testing

o Đây là một trong những loại stress test được sử dụng để kiểm tra hệ thống với các thông số hoặc điều kiện bất thường không có khả năng xảy ra trong một kịch bản thực Nó được sử dụng để tìm các khuyết điểm từ các kịch bản không mong muốn như:

▪ Số lượng lớn người dùng đăng nhập cùng một lúc

▪ Nếu việc quét vi rút được thực hiện trên tất cả các máy cùng một lúc

▪ Nếu Cơ sở dữ liệu bị offline khi nó được truy cập từ một trang web

▪ Khi một khối lượng dữ liệu lớn được đưa vào cơ sở dữ liệu đồng thời

1.6 Metrics for Stress Testing

Metrics giúp đánh giá hiệu suất của Hệ thống và thường được nghiên cứu khi kết thúc stress test Các chỉ số được sử dụng phổ biến là:

• Khả năng mở rộng & Hiệu suất:

o Pages per Second: Tính số trang đã được yêu cầu / giây

o Throughput: Số liệu cơ bản – size dữ liệu phản hồi / giây

• Phản hồi ứng dụng:

o Hit time: Thời gian trung bình để tìm kiếm hình ảnh hoặc một trang

o Time to the first byte: Thời gian trả về byte đầu tiên của dữ liệu hoặc thông tin

o Page Time: Thời gian để lấy tất cả thông tin trong một trang

• Các lỗi:

o Failed Connections: Số lượng các kết nối không thành công bị từ chối bởi máy khách (tín hiệu yếu)

o Failed Rounds: Số chu kì mà nó bị thất bại

o Failed Hits: Số lần thực hiện không thành công của hệ thống (liên kết bị hỏng hoặc hình ảnh không nhìn thấy)

Trang 12

Chương 2 Giới thiệu về T50 2.1 Tìm hiểu về các khái niệm

2.1.1 Tấn công từ chối dịch vụ (DoS) là gì?

DoS tên đầy đủ tiếng Anh là Denial of Service, dịch ra tiếng Việt là từ chối dịch vụ Tấn công từ chối dịch vụ DoS là cuộc tấn công nhằm làm sập một máy chủ hoặc mạng, khiến người dùng khác không thể truy cập vào máy chủ/mạng đó Kẻ tấn công thực hiện điều này bằng cách

"tuồn" ồ ạt traffic hoặc gửi thông tin có thể kích hoạt sự cố đến máy chủ, hệ thống hoặc mạng mục tiêu, từ đó khiến người dùng hợp pháp (nhân viên, thành viên, chủ tài khoản) không thể truy cập dịch vụ, tài nguyên họ mong đợi Nạn nhân của tấn công DoS thường là máy chủ web của các tổ chức cao cấp như ngân hàng, doanh nghiệp thương mại, công ty truyền thông, các trang báo, mạng xã hội

Ví dụ, khi bạn nhập vào URL của một website vào trình duyệt, lúc đó bạn đang gửi một yêu cầu đến máy chủ của trang này để xem Máy chủ chỉ có thể xử lý một số yêu cầu nhất định trong một khoảng thời gian, vì vậy nếu kẻ tấn công gửi ồ ạt nhiều yêu cầu đến máy chủ sẽ làm nó

bị quá tải và yêu cầu của bạn không được xử lý Đây là kiểu “từ chối dịch vụ” vì nó làm cho bạn không thể truy cập đến trang đó

2.2.2 CIDR là gì?

CIDR, viết tắt của Classless Inter Domain Routing, là một IP addressing scheme (phương pháp định vị địa chỉ IP) giúp cải thiện việc phân bổ địa chỉ IP CIDR thay thế hệ thống cũ dựa trên các lớp A, B và C CIDR giúp kéo dài đáng kể "tuổi thọ" của IPv4, cũng như làm chậm sự tăng lên của các bảng định tuyến

CIDR dựa trên Variable Length Subnet Masking (VLSM) Điều này cho phép CIDR xác định các tiền tố có độ dài tùy ý, làm cho nó hiệu quả hơn nhiều so với hệ thống cũ Địa chỉ IP CIDR bao gồm hai bộ số Địa chỉ mạng được viết dưới dạng tiền tố, giống như bạn sẽ thấy ở địa chỉ IP bình thường (ví dụ: 192.168.100.159) Phần thứ hai là hậu tố cho biết có bao nhiêu bit trong toàn bộ địa chỉ (ví dụ: /22) Đặt 2 phần này lại với nhau, một địa chỉ IP CIDR sẽ trông như

Trang 13

• ICMP - Giao thức tin nhắn điều khiển Internet

• IGMP - Giao thức quản lý nhóm Internet

• TCP - Giao thức điều khiển truyền dẫn

• UDP - Giao thức sơ đồ người dùng

T50 hỗ trợ quá trình Stress Test để kiểm tra cách cấu trúc hạ tầng mạng hoạt động khi bị căng thẳng, quá tải và bị tấn công Ngay cả trong quá trình Kiểm tra thâm nhập, mọi người không muốn chạy bất kỳ loại kiểm tra Từ chối dịch vụ nào Tệ hơn nữa, những người đó đang thiếu một trong ba khái niệm chính về bảo mật phổ biến đối với quản lý rủi ro:

• Bảo mật

• Toàn vẹn

• Khả dụng

T50 là một công cụ chèn gói mạnh mẽ và độc đáo, có khả năng:

Gửi tuần tự mười lăm giao thức sau:

• ICMP - Giao thức tin nhắn điều khiển Internet

• IGMPv1 - Giao thức quản lý nhóm Internet v

• IGMPv3 - Giao thức quản lý nhóm Internet v3

• TCP - Giao thức điều khiển truyền dẫn

• EGP - Giao thức cổng bên ngoài

• UDP - Giao thức sơ đồ người dùn

• RIPv1 - Giao thức thông tin định tuyến v1

• RIPv2 - Giao thức thông tin định tuyến v2

• DCHP - Giao thức kiểm soát tắc nghẽn Datagram

• RSVP - Giao thức ReSerVation tài nguyên

• GRE - Đóng gói định tuyến chung

• IPSec - Bảo mật giao thức Internet (AH / ESP)

• EIGRP - Giao thức định tuyến cổng bên trong nâng cao

• OSPF - Mở đường dẫn ngắn nhất trước tiên

Nó là công cụ duy nhất có khả năng đóng gói các giao thức (được liệt kê ở trên) trong Generic Routing Encapsulation (GRE)

Gửi một lượng gói tin (khá) đáng kinh ngạc mỗi giây, làm cho nó trở thành công cụ "tốt nhất cps thể":

• Hơn 1.000.000 gói tin mỗi giây ở chế độ SYN Flood (+ 50% đường lên mạng) trong Mạng 1000BASE-T (Gigabit Ethernet)

• Hơn 120.000 gói tin mỗi giây ở chế độ SYN Flood (+ 60% đường lên mạng) trong Mạng 100BASE-TX (Fast Ethernet)

• Thực hiện "Stress Test" trên nhiều cơ sở hạ tầng mạng, thiết bị mạng và giải pháp bảo mật tại chỗ

Trang 14

• Mô phỏng các cuộc tấn công "Từ chối dịch vụ phân tán" & "Từ chối dịch vụ", xác thực các quy tắc Tường lửa, ACL của Bộ định tuyến, Hệ thống phát hiện xâm nhập và các chính sách của Hệ thống ngăn chặn xâm nhập

Điểm khác biệt chính của T50 là nó có thể gửi tất cả các giao thức, tuần tự, sử dụng một SOCKET duy nhất, ngoài ra nó có thể được sử dụng để sửa đổi các tuyến mạng, cho phép các Chuyên gia Bảo mật CNTT thực hiện "Kiểm tra thâm nhập" nâng cao

2.3 Lịch sử phát triển của T50

Ý tưởng được bắt đầu vào năm 2001, ngay sau khi “nb-isakmp.c” (CVE-2001-0951) được phát hành Mục tiêu ban đầu là: có 1 công cụ để thực hiện che phủ giao thức TCP/IP lên các giao thức phổ biến như là: ICMP, TCP, UDP

Phần khung xương của mã được cây dựng dựa trên 1 số công cụ đã được phát hành: B52 (UDP), F117(TCP) - đã đổi tên thành F22

Tháng 10 năm 2010, phiên bản 2.45 của T50 chính thức được ra mắt Phiên bản này hỗ trựo bốn giao thức phổ thông nhất trên mạng là: ICMP, IGMPv1, TCP, UDP Ngoài ra ở phiên bản này còn có một chức năng vô cùng đáng giá nữa đó là khả năng gửi tuần tự, thời gian chờ giữa các gói tin là rất ngắn, việc gửi các goái tin gần như là cùng một thời điểm

Năm tháng sau, tức ngày 10 tháng tư năm 2011, một phiên bản khác được phát hành Ở phiên bản lần này, thư viện “mempy(3)” không còn cần thiết và đã bị loại bỏ Thêm nữa đó là những nâng cấp to lớn về những giao thức được hỗ trợ ở phiên bản lần này, ngoài 4 giao thức đã được hỗ trợ ở phiên bản trước thì bây giờ T50 đã hỗ trợ thêm 11 giao thức mới, đó là: IGMPv3, EGP, RIPv1, RIPv2, DCCP, RSVP, GRE, IPSec(AH,ESP), EIGRP, OSPF

Ở phiên bản 5.3 này T50 đã được thiết kế lại để phục vụ cho việc “Stress Test” bao gồm các giao thức (ICMP, TCP, UDP), và một số hạ tầng đặc biệt (RSVP, ÉP và AH), và một số giao thức đingj tuyến (RIP, EIGRP, OSPF):

• Thuật toán Distance vector

o Routing Information Protocol (RIP)

o Enhanced Interior Gateway Routing Protocol (EIGRP)

• Thuật toán Link state

o Open Shortest Path First (OSPF)

• Giao thức chất lượng dịch vụ (QoS)

o Resource ReSerVation Protocol (RSVP)

• Giao thức Tunneling/Encapsulation

o Generic Routing Encapsulation (GRE)

o IPSec Encapsulation Security Payload (ESP)

o IPSec Authentication Header (AH)

Trang 15

Chương 3 Hướng dẫn sử dụng 3.1 Hướng dẫn cài đặt:

Hướng dẫn cài đặt T50 trên hệ điều hành Ubuntu20.04

Vì T50 có sẵn trong kho lưu tữ của Ubuntu nên ta có thể trực tiếp cài đặt T50 bằng hệ thống cài đặt và quản lý gói apt

Đầu tiên, tiến hành update các gói trong hệ thống:

Hình 2: Cập nhật các gói hệ thống

Ngày đăng: 08/01/2022, 10:52

HÌNH ẢNH LIÊN QUAN

Hình 1: Distributed Stress Testing - Bài tập lớn môn an toàn mạng (6)
Hình 1 Distributed Stress Testing (Trang 10)
Hình 2: Cập nhật các gói hệ thống - Bài tập lớn môn an toàn mạng (6)
Hình 2 Cập nhật các gói hệ thống (Trang 15)
Hình 4: Kiểm tra phiên bản T50 mới cài đặt - Bài tập lớn môn an toàn mạng (6)
Hình 4 Kiểm tra phiên bản T50 mới cài đặt (Trang 16)
Hình 3: Cài đặt T50 từ thư viện của Ubuntu  Sau khi cài đặt xong, kiển tra phiên bản vừa cài đặt - Bài tập lớn môn an toàn mạng (6)
Hình 3 Cài đặt T50 từ thư viện của Ubuntu Sau khi cài đặt xong, kiển tra phiên bản vừa cài đặt (Trang 16)
Hình 5: Sử dụng T50 với lựa chọn --flood  3.2.1. Các lựa chọn phổ biến - Bài tập lớn môn an toàn mạng (6)
Hình 5 Sử dụng T50 với lựa chọn --flood 3.2.1. Các lựa chọn phổ biến (Trang 17)
Hình 6: Kiểm tra địa chỉ IP - Bài tập lớn môn an toàn mạng (6)
Hình 6 Kiểm tra địa chỉ IP (Trang 22)
Hình 7: Kiểm tra kết nối giữa 2 máy - Bài tập lớn môn an toàn mạng (6)
Hình 7 Kiểm tra kết nối giữa 2 máy (Trang 23)
Hình 8: Bắt đầu T50 - Bài tập lớn môn an toàn mạng (6)
Hình 8 Bắt đầu T50 (Trang 24)
Hình 9: Bắt các gói tin gửi đến  4.1.3. Kết luận: - Bài tập lớn môn an toàn mạng (6)
Hình 9 Bắt các gói tin gửi đến 4.1.3. Kết luận: (Trang 25)

TỪ KHÓA LIÊN QUAN

w