Giải Pháp  Giải pháp Sercurity
 
Bảo vệ máy chủ bằng Scapy – Phần 1
10:00 | 03/01/2011

Có rất nhiều công cụ giúp bảo vệ sự an toàn cho máy chủ và mạng của bạn, tuy nhiên việc chọn ra một công cụ nào đó phù hợp là điều không hề dễ dàng chút nào. Trong bài này chúng tôi sẽ giới thiệu cho các bạn cách sử dụng công cụ Scapy để bảo vệ các máy chủ của mình.

Bảo vệ mạng chống lại những mối đe họa đến từ Internet là một nhiệm vụ không hề đơn giản. Tường lửa là một kiểu kỹ thuật bảo vệ mạng bên trong bằng cách sử dụng hai kết nối Ethernet riêng biệt với phần mềm proxy được dùng để lọc lưu lượng qua lại giữa hai cổng. Ở điểm này, Linux hỗ trợ như một nền tảng tuyệt vời với các công cụ netfilter/iptables.

Một số kỹ thuật khác được sử dụng để tạo nên các công cụ kiểm tra gói dữ liệu bộ lọc như Wireshark hay công cụ quét cổng như nmap. Cả hai công cụ này rất thân thuộc với hầu hết các quản trị viên mạng. Do đó trong bài này chúng tôi sẽ giới thiệu một công cụ hoàn toàn khác, Scapy, một công cụ kết hợp được những tính năng ưu việt trong phân tích và capture dữ liệu của Wireshark, tính năng phát dữ liệu của nmap. Phần một của bài này sẽ tập trung giới thiệu cho các bạn về cách cài đặt và một số hoạt động cơ bản như làm thế nào để capture và hiển thị lưu lượng Ethernet và làm cách nào để tạo một vài kịch bản đơn giản bằng Python. Phần hai chúng tôi sẽ giới thiệu sâu hơn về cách sử dụng Scapy trong việc test máy chủ web để tìm ra các lỗ hổng có thể, tiếp đó là cách tìm ra các máy chủ DNS giả mạo cũng như việc quét mạng không dây để tìm ra các lỗ hổng bảo mật tiềm ẩn.


Hình 1

Cài đặt

Việc cài đặt Scapy rất đơn giản và nhanh chóng, chỉ mất một vài phút trên một desktop Ubuntu. Tất cả những gì bạn cần thực hiện ở đây là mở Ubuntu Software Center và tìm kiếm SCAPY. Tên thực mà bạn sẽ tìm được là python-Scapy, đây là một bộ công cụ được viết bằng ngôn ngữ Python. Ngoài ra bạn cũng cần cài đặt một vài phần mềm khác nếu muốn khai thác hết các điểm mạnh của SCAPY. Danh sách các phần mềm cần cài đặt thêm này gồm có python-crypto, python-gnuplot, python-pyx, graphviz imagemagick.

Nếu muốn có được phiên bản mới nhất của Scapy, bạn cần download nguồn và thực thi một vài lệnh để cài đặt nó. Các lệnh đều có sẵn trên Scapy wiki tuy nhiên về cơ bản những gì bạn cần làm là download file scapy-latest.zip, bung file này ra một thư mục nào đó và thực thi lệnh setup.py như sau:

$ sudo python setup.py install

Có rất nhiều nơi bạn có thể tìm hiểu thêm về Scapy, chẳng hạn như online HTML documentation, Scapy Wiki và một số bài viết khác trên Scapy website. Để phát huy tối đa được Scapy, bạn cần biết về giao thức mạng TCP/IP và một chút về ngôn ngữ Python. Python website chính là nơi bạn có thể tìm hiểu thêm về ngôn ngữ này. Ngoài ra cũng có khá nhiều hướng dẫn khác có thể tìm kiếm trên Google. Dive Into Python cũng là một địa điểm nữa mà bạn có thể sử dụng để tìm hiểu thêm về ngôn ngữ này.

Các hoạt động cơ bản

Có khá nhiều hoạt động cơ bản bạn có thể thực hiện bởi Scapy. Nó gần tương tự như Wireshark trong việc capture lưu lượng dữ liệu và đánh hơi các thiết bị Ethernet. Có rất nhiều tùy chọn lệnh khi bạn khởi chạy Scapy. Bạn cũng phải khởi chạy Scapy với đặc quyền quản trị viên của mình nếu muốn capture lưu lượng Ethernet trực tiếp từ bất cứ thiết bị mạng nào. Lệnh để thực hiện điều đó là:

$ sudo scapy

Khi Scapy chạy, bạn sẽ thấy nhắc lệnh với ba mũi tên >>>. Tại đây bạn có thể nhập vào các lệnh hay sử dụng mã Python. Một lệnh đơn giản nhưng hữu dụng mà chúng tôi thể hiện đây thể hiện cách thực thi một hành động ICMP Ping cho một dải đại chỉ:

>>> ans,unans=sr(IP(dst="192.168.1.1-254")/ICMP())

Lệnh sniff cho phép bạn capture các gói dữ liệu Ethernet để phân tích sâu hơn. Bạn có thể chỉ định một giao diện nào đó để sử dụng với tùy chọn iface=, hoặc để trống nhằm capture tất cả các thiết bị. Các tùy chọn khác gồm: filter để thiết lập điều kiện lọc cho các gói capture, count để chỉ định cụ thể số gói được capture, prn để tạo chức năng in định dạng đầu ra của bạn. Các hàm ls() lsc() sẽ hiển thị danh sách các lớp và các hàm có sẵn. (Tìm kiếm một tài liệu chi tiết nào đó sẽ giúp bạn hiểu sâu hơn về các lệnh và cách sử dụng chúng).

Một trong những tính năng chính của Scapy là nó được viết bằng ngôn ngữ Python. Điều này cho phép bạn có thể viết các kịch bản để tự động hóa việc test và các phân tích bạn muốn thực hiện. Khi cài đặt Scapy, bạn có thể truy cập trực tiếp đến tất cả các tính năng từ nhắc lệnh Python. Scapy cũng có khả năng tương tác của riêng nó, đây là thứ bạn sẽ thấy nếu đánh scapy vào cửa sổ terminal. Nếu xem file /usr/local/bin/scapy, bạn sẽ thấy nhiều dòng comment và hai lệnh Python:

from scapy.main import interact

 


Hình 2

interact()

Python sẽ giúp đơn giản hóa quá trình tạo kịch bản gửi các request và sau đó định dạng các thông tin trở về nhằm tạo đầu ra thân thiện dễ hiểu. Để tạo sự dễ hiểu cho đầu ra của ICMP request, bạn có thể sử dụng dòng mã như sau:

>>> ans.summary( lambda(s,r) : r.sprintf("%IP.src% is alive"))

Các hàm lambda được sử dụng với lệnh sniff:

>>> sniff(iface="eth1", prn=lambda x: x.show())

Nếu chạy lệnh này trong một cửa sổ terminal, bạn sẽ thấy một danh sách đầy đủ tất cả lưu lượng trên eth1 cho tới khi bạn stop nó bằng phím control-D.


Hình 3

Kết luận

Có thể nói Scapy là một công cụ đặc biệt hữu dụng cho các quản trị viên với một chút kinh nghiệm với Python. Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn cách sử dụng Scapy trong một số chế độ khác để bảo vệ mạng

Minh Tuyên : nguồn (qtm)

 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Giải Pháp Xác Thực Mạnh 2 Yếu Tố Cho Dịch Vụ Vps, Dedicated Server
- Giải pháp SPF động và ứng dụng trong lọc thư rác
- Tầm nhìn mới giải pháp bảo mật dữ liệu
- Giải pháp phòng chống thư rác với “Cisco Ironport Antispam”
- Giải pháp bảo mật Oracle Defense in Dept
- Giải pháp chống Spam cho máy chủ email với eWall
- Giải pháp Web Filtering của Bluecoat
- Giải pháp bảo mật hệ thống với DeviceLock 7
- Bảo mật dữ liệu hiệu quả dựa trên Roxio Secure Burn Plus
- Bảo vệ Windows Server toàn diện với TekRADIUS
Các tin liên quan :
- Bảo mật lưu lượng mạng không dây – Phần 1
- Giải pháp tường lửa và bảo mật - Fortinet
- Giải pháp bảo mật hệ thống mạng vừa và nhỏ với thiết bị Zyxel
- Tìm hiểu Trojan , Backdoor và giải pháp phòng chống
- Xây dựng hệ thống xác thực cho hệ thống thông tin của các cơ quan chính phủ
- Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS (Phần 2)
- Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS (Phần 1)
- Giải pháp bảo mật mạng trên O2 Security cho doanh nghiệp
- Giải pháp bảo mật dành cho các công ty chứng khoán
- Giải pháp bảo mật toàn diện cho doanh nghiệp với Sonicwall
Xem tiếp
Bài nhiều người đọc cùng chuyên mục
Tìm hiểu IDS (Intrusion Detection System ) trong bảo mật hệ thống mạng
 
Giải pháp bảo mật dành cho các công ty chứng khoán
 
LogRhythm LR2000-XM – giải pháp giám sát hiệu quả dành cho hệ thống
 
Giải pháp Bảo mật của Cisco
 
Bảo mật lưu lượng mạng không dây – Phần 1
 
Giải pháp hệ thống dành cho doanh nghiệp với thiết bị mạng Fortinet (Phần 1)
 
Giải pháp phòng chống thư rác với “Cisco Ironport Antispam”
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty Cổ Phần Kênh Giải Pháp
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.