Lệnh PingLệ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.. Bạn có thể sử dụn
Trang 1CÁ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
Trang 2NỘ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
Trang 3I.QUẢN LÝ LƯU LƯỢNG/ĐƯỜNG
Trang 4 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)
Trang 5 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
Trang 7ETHERAPE
Trang 8 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
Trang 9 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
Trang 10II.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
Trang 113 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
Trang 124 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.
Trang 13SYN FLOOD ATTACK
Trang 14 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
Trang 16 Đâ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)
Trang 175 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
Trang 18MỘ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ế
Trang 196 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
Trang 20III 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
Trang 21BUFFER 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
Trang 22BUFFER 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
Trang 23BUFFER 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
Trang 24TÀI LIỆU THAM
[4] http://www.linux.com
[5] www.ubuntu-vn.org/
Trang 25THANK YOU!