Tải bản đầy đủ (.pptx) (25 trang)

Đề tài các công cụ quản lý mạng trên mã nguồn mở

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (779.46 KB, 25 trang )

Các công cụ quản lý mạng trên mã nguồn mở

Thành viên:
Nguyễn Gia Thế
Phạm Văn Hinh
Vũ Văn Khương


Nội dung
 I. Quản lý lưu lượng đường truyền
 II. Khái niệm DDOS và chống DDOS
 III. Buffer overflow
 IV.Tài liệu tham khảo


I.Quản lý lưu lượng/đường truyền
 1. Một số lệnh trong Terminal


Lệnh ifconfig

Khi sử dụng lệnh này trong nhắc lệnh, bạn sẽ được cung cấp các thông tin về tất cả thiết
bị mạng đã được nhận dạng


 Lệnh Ping
Lệnh ping chính là công cụ thứ hai trong số các công cụ dòng lệnh, lệnh này giúp bạn xác định xem
máy tính hiện có đang truyền thông với Internet hay không. Khi ping đến một địa chỉ nào đó (chẳng hạn như
www.google.com), bạn sẽ thấy trạng thái, thời gian truyền mẫu của kết nối này (Có thể dùng để xem địa chỉ
IP của một địa chỉ web).



 Lệnh route
Lệnh này sẽ hiển thị cho bạn một danh sách các địa chỉ IP gồm có địa chỉ Destination và Gateway kết
nối đến mỗi giao diện, cùng với đó là một số thông tin bổ sung nằm trong cột Flags. Cột này sẽ có ký tự G
trên dòng liên quan với gateway mặc định. Bạn có thể sử dụng địa chỉ này trong lệnh ping để xác định xem
máy tính của mình có kết nối với gateway hay không.


2.Vnsat

 Trong trường hợp bạn không muốn chờ, hãy chạy lệnh:
vnstat -l

 Tham số này sẽ báo cáo dữ liệu “live” 10 giây một lần cho tới khi bạn nhấn Ctrl+C để tạm dừng quá
trình.


EtherApe


Nmap
 Nmap là một công cụ quét bảo mật được sử dụng rộng rãi từ những năm 1997. Nó sử dụng một loạt các
gói dữ liệu đặc biệt để thăm dò mạng để từ đó tạo bản đồ các địa chỉ IP, xác định hệ điều hành của địa
chỉ IP nào đó, thăm dò một loạt các cổng IP ở một địa chỉ cụ thể

Tcpdump
 Nmap là một công cụ quét bảo mật được sử dụng rộng rãi từ những năm 1997. Nó sử dụng một loạt các
gói dữ liệu đặc biệt để thăm dò mạng để từ đó tạo bản đồ các địa chỉ IP, xác định hệ điều hành của địa
chỉ IP nào đó, thăm dò một loạt các cổng IP ở một địa chỉ cụ thể. Một trong những vấn đề cơ bản nhất là
để thực hiện những gì được gọi là “ping sweep”, có nghĩa một loạt lệnh ping để xác định những địa chỉ

nào máy tính được gắn với chúng. Thao tác này có thể được thực hiện qua cú pháp sau:

 $ nmap -sP 192.168.1.1-255


Wireshark
 Wireshark cung cấp rất nhiều thông tin có giá trị về lưu lượng đã được capture, cùng với đó là các công
cụ lọc và hiển thị dựa trên một số tiêu chuẩn như địa chỉ nguồn, đích, giao thức, hoặc trạng thái lỗi


II.Chống DDoS
1.Định nghĩa
 Tấn công từ chối dịch vụ Dos (Denial of Service) có thể mô tả như hành động ngăn cản những người
dùng hợp pháp khả năng truy cập và sử dụng một dịch vụ nào đó. Nó bao gồm làm tràn ngập mạng, mất
kết nối với dịc vụ … mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được các yêu cầu dử
dụng dịch vụ từ các máy trạm (client).

 Tại sao DDoS – Một hình thái tấn công từ chối dịch vụ đã được các hacker chân chính không còn thừa
nhận nữa – lại đang phổ biến và trở thành thứ vũ khí nguy hiểm đến mức không thể chống đỡ, một điều
đau lòng là DDoS lại phát sinh từ những tham vọng xấu khi làm chủ và điều khiển được thông tin của
những cá nhân.


2.Nhận dạng DDoS
Đây là chìa khóa quan trọng cho việc hình thành biện pháp khắc phục tình trạng trì trệ do DDoS tạo ra và
tạo điều kiện cho người dùng thực sự có hội sử dụng dịch vụ. Mỗi dạng DDoS có dấu hiệu và đặc tính khác
nhau cho nên việc nhận diện DDoS là điều kiện quan trọng đứng sau việc gia tăng băng thông và tài
nguyên. Băng thông và tài nguyên luôn luôn có giới hạn nhất định cho nên việc nhận dạng DDoS giúp cản
lọc và tách rời chúng một cách hữu hiệu.


3. Các đặc tính của tấn công DDoS
Nó được tấn công từ một hệ thống các máy tính cực lớn trên Internet, và thường dựa vào các dịch vụ có sẵn
trên các máy tính trong mạng Botnet.
Các dịch vụ tấn công được điều khiển từ những “Primary Victim” trong khi các máy tính bị chiếm quyền sử
dụng trong mạng Bot được sử dụng để tấn công thường được gọi là “secondary victims”.
Là dạng tấn công rất khó có thể phát hiện tấn công này được sinh ra từ nhiều địa chỉ IP khác nhau trên
Internet.
Nếu một địa chỉ IP tấn công một công ty, nó có thể được chặn bởi Firewall. Nếu nó từ 30.000 địa chỉ IP khác,
thì điều này là vô cùng khó khăn.


4. Các phương thức tấn công
 Tấn công từ chối dịch vụ có thể được thực hiện theo một số các nhất định. Có năm kiểu tấn công cơ bản sau:
 Nhằm tiêu tốn tài nguyên tính toán như băng thông, dung lượng đĩa cứng hoặc thời gian xử lý.
 Phá vỡ các thông tin cấu hình như thông tin định tuyến
 Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP
 Phá vỡ các thành phần vật lý của mạng máy tính
 Làm tắc nghẽn thông tin liên lạc có chủ đích giữa người dùng và nạn nhân đến việc liên lạc giữa hai bên không được
thông suốt.

 Một việc tấn công từ chối dịch vụ có thể bao gồm thực thi Malware nhằm:
 Làm quá tải năng lực xử lý, dẫn đến hệ thống không thể thực thi bất kì một công việc nào khác.
 Những lỗi gọi tức thì trong Microcode của máy tính.
 Những lỗi gọi thức thì trong chuỗi chỉ thị, dẫn đến máy tính rời vào trạng thái hoạt động không ổn định hoặc bị đơ.
 Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên.
 Gây Grash hệ thống.
 Tấn công từ chối dịch vụ iFame: trong một trang HTML có thể gọi đến một trang web nào đó với rất nhiều yêu cầu và
trong rất nhiều lần cho đến khi băng thông của trang web bị quá tải.



SYN Flood Attack


 Do TCP là thủ tục tin cậy trong việc giao nhận (end-to-end) nên trong lần bắt tay thứ 2, server gửi các
gói tin SYN/ACK trả lời lại các client mà ko nhận lại được hồi âm của client để thực hiện kết nối thì nó vẫn
bảo lưu nguồn tài nguyên chuẩn bị kết nối đó và lập lại việc gửi gói tin SYN/ACK cho client đến khi nào
nhận được hồi đáp của máy client



 Đây không phải là kiểu tấn công bằng đường truyền cao, bởi vì chỉ cần một máy tính kết nối internet qua ngã
dial-up đơn giản cũng có thể tấn công kiểu này (tốn nhiều thời gian hơn).


5. Một số biện pháp phòng chống

 Kiểm tra Server có bị DDoS hay không?
 Từ command line của Linux gõ:
netstat -an|grep :80 |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort –rn

 Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP.
netstat -n | grep :80 |wc –l

 Kiểm tra số connection trên port 80
netstat -n | grep :80 | grep SYN_RECV|wc –l

 Kiểm tra số lượng connection đang ở trạng thái SYN_RECV


Một số biện pháp phòng chống (tiếp)

 Mô hình hệ thống cần phải được xây dựng hợp lý, tránh phục thuộc lẫn nhau quá mức. Bởi một bộ phận
gặp sự cố sẽ làm ảnh hưởng tới toàn bộ hệ thống.

 Thiết lập mật khẩu mạnh (strong password) để bảo vệ các thiết bị mạng và các nguồn tài nguyên quan
trọng khác.

 Thiết lập các mức xác thực đối với người xử dụng cũng như các nguồn tin trên internet. Đặc biệt, nên
thiết lập chế độ xác thực khi cập nhật các thông tin định tuyến giữa các router.

 Liên tục cập nhật, nghiên cứu, kiểm tra để phát hiện các lỗ hổng bảo mật và có biện pháp khắc phục kịp
thời. Sử dụng các biện pháp kiểm tra hoạt động hệ thống một các liên tục để phát hiện ngay những
hành động bất thường.

 Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi cho hệ thống
hoặc thay thế.


6. Một số cách khắc phục
 Cách khắc phục nhanh nhất là Block IP chiếm nhiều connection nhất trong “giờ cao điểm”.
Route add địa_chỉ_IP reject






VD: route add 192.168.0.168 reject
Kiểm tra bằng lệnh: route –n|grep địa_chỉ_IP
Hoặc cách sau:
Sử dụng Iptables

Iptables –A INPUT 1 –s địa_chỉ_ip –j DROP/REJECT service

iptables restart

Service iptables save

 Sau đó xóa hết tất cả connection hiện hành và khởi động lại service httpd
Killall –KILL httpd
Service httpd restart


III. Buffer overflow
1. Tổng quan về buffer overflow:



Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra ngoài biên của bộ nhớ đệm có chiều
dài cố định. Kết quả là dữ liệu có thể đè lên các bộ nhớ liền kề. Dữ liệu bi ghi đè có thề bao gồm các bộ nhớ đệm
khác,các biến và dữ liệu điều khiển luồng chảy của chương trình (program flow control).



Các lỗi tràn bộ đệm có thề làm cho tiến trình bị đổ vỡ hoặc cho ra kết quả sai. Các lỗi này có thể được kích hoạt bởi
các dữ liệu vào được thiết kế đặc biệt để thưc thi các đoạn mả phá hoại hoặc để làm cho chương trình hoạt động
không như mong đợi. Bằng cách đó các lỗi tràn bộ đệm gây ra nhiều lổ hổng bảo mật đối với phần mềm và tạo cơ sở
cho nhiều thủ thuật khai thác.

2. Nguyên nhân gây ra các lỗi buffer overflow của các chương trình/ứng dụng:

 Phương thức kiểm tra biên (boundary) không được thực hiện đầy đủ ,hoặc là được bỏ qua.

 Các ngôn ngữ lập trình,như là ngôn ngữ C ,bản thân nó đã tiềm ẩn. các lỗi mà hacker có thể khai thác.
 Các phương thức strcat(),strcpy(),sprintf(),bcopy(), gets() ,và canf() trong ngôn ngữ C có thể được khai thác vì
các hàm này không kiểm tra xem những buffer được cấp phát trên stack có kích thước lớn hơn dữ liệu được
copy cào buffer hay không?


Buffer overflow (tiếp)
3. Cách phòng chống buffer overflow:
 Cản trở đối với các kĩ thuật khai thác lỗi buffer overflow:


Việc xử lý bộ đệm trước khi đọc hay thực thi nó có thể làm thất bại các cố gắng khai thác lỗi tràn bộ
đệm nhưng vẫn không ngăn chặn được một cách tuyệt đối. Việc xử lý bao gồm:



Chuyển từ chữ hoa thành chữ thường



Loại bỏ các kí tự đặc biệt và lọc các xâu không chứa kí tự là chữ số hoặc chữ cái.

 Tuy nhiên vẫn có các kĩ thuật để tránh việc lọc và xử lý này: 
 alphanumeric code :mã gồm toàn chữ và số





polumorphic code : mã đa hình

Self-modifying code : mã tự sữa đổi
Tấn công kiểu return-to-libc


Buffer overflow (tiếp)
3.1 Lựa chọn ngôn ngữ lập trình
 Ngôn ngữ lập trình Cvà C++ là hai ngôn ngữ lập trình thông dụng, nhưng hạn chế của nó là không kiểm tra
việc truy cập hoặc ghi đè dữ liệu thông qua các con trỏ .Cụ thể nó không kiểm tra dữ liệu copy vào một
mảng có phù hợp kích thước của mảng hay không?

 Cyclone, một biến thể của C, giúp ngăn chặn các lỗi tràn bộ đệm bằng việc gắn thông tin về kích thước mảng
với các mảng.

 Ngôn ngữ lập trình D sử dụng nhiều kĩ thuật đa dạng để tránh gần hết việc sử dụng con trỏ và kiểm tra biên
do người dùng xác định

 Nhiều ngôn ngữ lập trình khác cung cấp việc kiểm tra tại thời gian chạy. . Việc kiểm tra này cung cấp một
ngoại lệ hay 1 cảnh báo khi C hay C++ ghi đè dữ liệu ví dụ như: Pythol, Ada,Lisp,Smalltalk Ocaml

 Ngoài ra các môi trường của Java hay .NET cũng đòi hỏi kiểm tra biên đối với tất cà các mảng


Buffer overflow (tiếp)
3.2 Sử dụng các thư viện an toàn

 Sử dụng các thư viện được viết tốt và đã được kiểm thử dành cho các kiểu dữ liệu trừu tượng mà các thư
viện này thực hiện tự động việc quản lý bộ nhớ, trong đó có kiểm tra biên có thể làm giảm sự xuất hiện
và ảnh hưởng của các hiện tượng tràn bộ đệm.

 Các thư viện an toàn gồm có The Better String Library, Arri Buffer API và Vstr



Tài liệu tham khảo
[1]
[2]
[3] />[4]
[5] www.ubuntu-vn.org/


THANK YOU!


×