Tuesday, April 16, 2013

CƠ BẢN VỀ FIREWALL IPTABLES TRÊN LINUX

Thường Thịnh

#1 - Giới thiệu

Iptables là Firewall được cấu hình và hoạt động trên nền Console rất nhỏ và tiện dụng, Iptables do Netfilter Organiztion viết ra để tăng tính năng bảo mật trên hệ thống Linux.
Iptables cung cấp các tính năng sau:
  1. Tích hợp tốt với kernel của Linux.
  2. Có khả năng phân tích package hiệu quả.
  3. Lọc package dựa vào MAC và một số cờ hiệu trong TCPHeader.
  4. Cung cấp chi tiết các tùy chọn để ghi nhận sự kiện hệ thống.
  5. Cung cấp kỹ thuật NAT.
  6. Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS.

#2 - Cài đặt


IPTABLES được cài mặc định trong hệ thống Linux. Package của iptables là iptables-version.rpm hoặc iptables-version.tgz
- Lệnh cài đặt: $ apt-get install iptables
- Khởi động iptables: service iptables start
- Tắt iptables: service iptables stop
- Tái khởi động iptables: service iptables restart
- Xác định trạng thái iptables: service iptables status 
 

#3 - Cơ chế xử lý package trong iptables 

 
Iptables sẽ kiểm tra tất cả các package khi nó đi qua iptables host, quá trình kiểm tra này được thực hiện một cách tuần tự package đầu tiên đến package cuối cùng.

Firewall Iptables sẽ xử lý như thế nào đối với những packets leaving, entering hay passing đi vào hay đi ra từ PC?

- Bất kỳ Packet nào muốn đi vào PC của bạn đều phải đi qua Input Chain.
- Bất cứ Packet nào từ PC của bạn muốn đi ra ngoài Network đều phải đi qua Output Chain.
- Bất cứ Packet nào mà PC của bạn muốn gửi đi một Destination khác đều phải đi qua Forward Chain

Tất cả những điều đã nêu trên đều được giám sát bởi Iptables. Việc thiết lập cấu hình cho Input Chain, Output Chain và Forward gọi là thiết lập nội quy (rules) cho Firewall 



Một số Port và Service thôlng dụng trên một hệ thống Unix/Linux:


Port
Protocol
Service
21
TCP
FTP
22
TCP
SSH
23
TCP
TELNET
25
TCP
SMTP
53
TCP
NAME (DNS)
79
TCP
FINGER
80
TCP
HTTP
110
TCP
POP3
111
TCP
SUNRPC
443
TCP
HTTPS
901
TCP
SAMBA-SWAT
1024
TCP
KDM
3306
TCP
MYSQL
6000
TCP
X11

Thursday, April 4, 2013

Giám sát mạng LAN trên Ubuntu

Trần Viết Nhật - Lê Mạnh Trung
Tổng quan
Việc giám sát mạng nội bộ (mạng LAN) được được đặt ra khá cần thiết trong thực tế quản trị mạng hiện nay. Nó giúp kiểm soát hoạt động trong toàn bộ mạng, kiếm soát băng thông, kiểm tra sự an toàn của mạng trước các mối nguy cơ như virus, trojan, giúp đảm bảo an toàn cho hệ thống thông tin cho cơ quan, tổ chức
Qua môn học Hệ điều hành unix, chúng em xây dựng bài lab Giám sát mạng LAN trên Ubuntu và áp dụng vào quản trị mạng LAN ở phòng máy CLB.
Bài viết được chia làm hai phần.
Phần A - Giới thiệu và cài đặt, cấu hình ettercap, wireshare trên Ubuntu
Phần B - Sử dụng ettercap và wireshake để giám sát mạng LAN

A. Giới thiệu và cài đặt, cấu hình ettercap, wireshare trên Ubuntu
1.     Giới thiệu ettercap:
Ettercap là một công cụ trung gian trong mạng LAN. Nó có tính năng tìm kiếm các kết nối trực tiếp, lọc nội dung chuyển trên mangjvaf nhiều thủ thuật thú vị khác. Nó hỗ trợ mổ xẻ tính chủ động và thụ động của nhiều giao thức và bao gồm nhiều tính năng cho mạng lưới phân tích máy chủ.
Chức năng chính của ettercap:
Giao thông từ xa qua đường hầm GRE
Nghe lén mật khẩu
Lọc gói tin
Kill kết nối
2.     Giới thiệu WireShark:
- WireShark có một bề dày lịch sử. Gerald Combs là người đầu tiên phát triển phần mềm này. Phiên bản đầu tiên được gọi là Ethereal được phát hành năm 1998. Tám năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ công việc hiện tại để theo đuổi một cơ hội nghề nghiệp khác. Thật không may, tại thời điểm đó, ông không thể đạt được thoả thuận với công ty đã thuê ông về việc bản quyền của thương hiệu Ethereal. Thay vào đó, Combs và phần còn lại của đội phát triển đã xây dựng một thương hiệu mới cho sản phẩm “Ethereal” vào năm 2006, dự án tên là WireShark.
- WireShark đã phát triển mạnh mẽ và đến nay, nhóm phát triển cho đến nay đã lên tới 500 cộng tác viên. Sản phẩm đã tồn tại dưới cái tên Ethereal không được phát triển thêm.
- Lợi ích Wireshark đem lại đã giúp cho nó trở nên phổ biến như hiện nay. Nó có thể đáp ứng nhu cầu của cả các nhà phân tích chuyên nghiệp và nghiệp dư và nó đưa ra nhiều tính năng để thu hút mỗi đối tượng khác nhau.

Các giao thực được hỗ trợ bởi WireShark:

WireShark vượt trội về khả năng hỗ trợ các giao thức (khoảng 850 loại), từ những loại phổ biến như TCP, IP đến những loại đặc biệt như là AppleTalk và Bit Torrent. Và cũng bởi Wireshark được phát triển trên mô hình mã nguồn mở, những giao thức mới sẽ được thêm vào. Và có thể nói rằng không có giao thức nào mà Wireshark không thể hỗ trợ.
Thân thiện với người dùng: Giao diện của Wireshark là một trong những giao diện phần mềm phân tích gói dễ dùng nhất. Wireshark là ứng dụng đồ hoạ với hệ thống menu rât rõ ràng và được bố trí dễ hiểu. Không như một số sản phẩm sử dụng dòng lệnh phức tạp như TCPdump, giao diện đồ hoạ của Wireshark cho những ai đã từng nghiên cứu thế giới của phân tích giao thức.
Giá rẻ: Wireshark là một sản phẩm miễn phí GPL. Bạn có thể tải về và sử dụng Wireshark cho bất kỳ mục đích nào, kể cả với mục đích thương mại.
Hỗ trợ: Cộng đồng của Wireshark là một trong những cộng đồng tốt và năng động nhất của các dự án mã nguồn mở.
Hệ điều hành hỗ trợ Wireshark: Wireshark hỗ trợ hầu hết các loại hệ điều hành hiện nay.
3.      Cài đặt ettercap, wireshare trong Ubuntu
Trong Ubuntu, wireshake và ettercap có trong thư viện phần mềm của Ubuntu. Chúng ta có thể cài đặt bằng dòng lệnh
Ettercap: sudo apt-get install ettercap*
Wireshake: sudo apt-get install wireshark
Trong quá trình cài đặt, chọn y(yes) khi chương trình hỏi có cài đặt vào ổ cứng hay không. Như vậy ta đã hoàn thành việc cài đặt Ettercap và Ubuntu

B. Sử dụng ettercap và wireshake để giám sát mạng LAN
1. Sử dụng Ettercap
Khởi động giao diện đồ họa của ettercap bằng dòng lệnh: 
sudo ettercap –G



Trên giao diện chương trình các bạn chọn tab Sniff-->Unified sniffing cựa số mới xuất hiện các bạn chon card mạng của máy tính của các bạn ở đây máy mình card mạng là Eth0).  


Sau đó giao diện sẽ thế này:



Chúng em sẽ giới thiệu các một số tab của chương trình cần thiết cho bài hướng dẫn của mình, trong quá trình sử dụng các bạn tự tìm tòi nghiên cứu thêm.
Tab  Start :
              Start sniffing: dùng để khới động quán trình sniffing(Capture packer).
              Stop sniffing: dùng để dừng quán trình sniffing
Tab Targets:
              Current Targets:có hai phần
             Target 1: hiện thị thông tin máy tính mình sẽ tấn công(máy tính mình muốn nghe lén)
            Target 2: Hiện thị thông tin đối tượng mình lợi dụng đế tấn công
Tab Hosts:
Hosts list: Hiện thị toàn bộ máy tính có trong mạng bào gồm địa chỉ IP và địa chỉ MAC.
Scan for hosts: là công cụ dùng để quét toàn bộ mạng để tìm máy tính nào đang hoạt động trên mạng.
Tab Mitm:  hay còn gọi là Man - in -the - middle(Người đàn ông đứng giữa)
  ARP poisoning: là công cụ dùng để làm nhiếm độc bảng ARP của các máy tính(như các mọi người đã biết một  máy tính muốn nói chuyện được vơi internet nó phái có địa chỉ ip gateway tức địa chỉ modem đó bạn, khi máy tính muốn đi ra internet thì đầu tiên nó phải biết địa chỉ ip của modem, sau đó nó gửi một bản tin ARP broadcast  ra mạng và hỏi xem ai sở hữu địa chỉ ip này, khi modem nhận được gói tin và biết rằng mình sở hửu địa chỉ ip này, liền sau đó nó sẽ gửi bản tin chửa địa chỉ MAC của nó tới máy tính đó. Khi máy tính nhận được bản tin modem gửi về thì nó sẽ lưu thông tin này thành một bảng ARP, các lần sau mỗi khi nó cần nói chuyện với internet thì máy tính không phải gửi ARP broadcast nữa mà chỉ cần lấy thông tin trong bảng arp mà trước đó nó đã xây dựng) như vậy cơ chế làm việc của arp poisoning là gi? nó sẽ làm như sau:

  Giá sử máy tính nạn nhân là: ip 10.1.1.1 MAC :0000:1111:2222:2222
  Máy tính attacker: ip 10.1.1.2 MAC: 1111:2222:1111:3333
  Modem: IP 10.1.1.10  MAC : 2222:2222:2222:2222
Đầu tiên attacker sẽ gửi nhiều bản tin giá mạo ARP tới modem với nội dung:
 IP: là địa chỉ của máy tính nạn nhân
MAC: là địa chỉ mac của máy attacker
Mục địch là để làm cho modem hiểu rằng máy tính attacker là máy tính của nạn nhận
Tiếp theo attacker gửi nhiều bản tin ARP tới máy tính nạn nhân với nội dung:
IP: là địa chỉ ip của modem
MAC: là địa chỉ mac của máy attacker
Mục đích là để máy tính nạn nhân hiểu rằng máy tính attacker chính là modem.
Bước tiếp theo attacker sẽ bật tính năng IP Forwarding trên máy tính của họ.
Thế là toàn bộ thông tin truyên thông giữa modem và máy tính nạn nhân sẽ đi qua máy tính của attacker và điều gì đến cũng sẽ đến.... attacker sẽ chụp được toàn bộ.
Khi được phép hay là quản trị của mạng LAN, chúng ta có thể dùng cách này để giám sát một số máy tính nếu thấy cần thiết.
Khuyến cáo là không dành cho mục đích phá hoại hay tấn công

2. Sử dụng kết hợp wireshark
Khi đã đầu độc ARP, chuyển hướng IP gateway của victim sang IP của mình bằng công cụ, chúng ta có thể sử dụng công cụ wireshark để bắt gói tin.
Khởi động wireshark bằng bằng câu lệnh:
Sudo wireshark
Hướng dẫn sử dụng cụ thể bạn có thể tham khảo tại đây
Trong phần này, mình đặt ra tình huống cụ thể là giám sát băng thông trong mạng LAN.
Tình huống: cả mạng download rất chậm
Tiến hành : đặt wireshark lắng nghe toàn bộ đầu ra của mạng
Phân thích : hình ảnh dưới đây cho thấy có rất nhiều kết nối TCP,HTTP điều này có nghĩa là có rất nhiều kết nối HTTP download dữ liệu về nên chiếm băng thông của mạng.

Mở cửa sổ Alalyze->Expert Infos để thấy thêm thông tin.


Mặc định Expert Infos hiển thị tất cả các thông tin. Nếu chỉ hiện thị Error+Warn+Note thì ta sẽ có các thông tin sau.




Hình trên cho thấy:
·         có rất nhiều kết nối TCP do chương trình Window update mở
·         có hiện tượng TCP Previous segment lost packets và các gói tin TCP gửi đi bị lặp ACK và bị drop, khiến TCP phải gửi lại gói tin.
có thể 2 nguyên nhân trên chiếm băng thông của mạng và làm giảm tốc độ download.
Khảo sát tiếp các thông tin theo hướng này ta nhận được các thông tin ở các hình phía dưới.




Statistics >TCP Stream Graph > Round Trip Time Graph



Các hình cho thấy dự đoán ở bước trên là chính xác. Các file sẽ không thể được download về nếu thời gian lớn hơn 0.1 s, thời gian lý tưởng là 0,04s.
Kết luận : nguyên nhân do download chậm là có nhiều chương trình Windows update (có thể các máy để auto update) và hiện tượng mất gói tin. Như vậy cần tắt bớt các chương trình Windows update.
 Kết luận: Giám sát mạng LAN nói chung hay trên môi trường Ubuntu là một đề tại rộng lớn và gồm nhiều chủ để khác nhau. Từ cơ bản cho đến chuyên sâu. Trên đây, bài viết chỉ để cập tới một phần nhỏ của vấn đề cũng như cách thức sử dụng chung một số công cụ cơ bản ứng dụng trong việc quản lý và giám sát mạng LAN. Bài viết chỉ mang tính định hướng, để quản lý thực tế cần phải tìm hiểu, thực hành thêm.
Chúng em xin cảm ơn!