Chủ Nhật, 12 tháng 6, 2011

Linux - iptable - Nmap

¤ Đại Học Công Nghệ Thông Tin
ĐH Quốc Gia  Tp.Hcm
MMT&TT
 


                        Báo Cáo Đề Tài:
            Hardening Linux Computer

¤ III.User and File system Security Administration



¤Nội dung
¤Định nghĩa Users
¤  Users được định nghĩa trong một hệ thống để xác định “ai? được quyền dùng cái gì?” trong hệ thống đó.
¤  Với Linux, mỗi user có một định danh duy nhất, gọi là UID (User ID).
       0 – 99: user có quyền quản trị.
       > 99: user khác. >= 500: không phải user hệ thống.
       => UID có khả năng sử dụng lại???
¤  Mỗi user thuộc ít nhất một group. Mỗi group cũng có một định danh duy nhất là GID.


¤Định nghĩa Users (tt)
¤ Mỗi users cần có những thông tin: tên user, UID, tên group, GID, home directory…
¤ Windows quản lý thông tin bằng LDAP, Kerberos. Linux quản lý thông tin bằng file text.
¤ Có thể chỉnh sửa thông tin của users bằng công cụ, hoặc sửa trực tiếp bằng text file.
¤Định nghĩa Users (tt)
¤ Những file định nghĩa thông tin users:
       /etc/passwd: chứa thông tin user login, password mã hóa, UID, GID, home directory, và login shell. Mỗi dòng là thông tin của một user.
       /etc/shadow: chứa thông tin password mã hóa, thời gian sử dụng password, thời gian phải thay đổi password…
       /etc/group: chứa thông tin group.
¤Định nghĩa Users (tt)
¤ File /etc/passwd

¤Định nghĩa Users (tt)
¤ File /etc/shadow
¤Định nghĩa Users (tt)
¤ File /etc/group
¤Công cụ quản lý Users
¤ Quản lý bằng command line
       useradd: tạo user.
       usermod: chỉnh sửa thông tin user.
       userdel: xóa user.
       groupadd: tạo group.
       groupdel: xóa group.
       groupmod: chỉnh sửa thông tin group.
¤ Quản lý bằng giao diện đồ họa
¤Cấp quyền Users
Ø  Tất cả file và thư mục thuộc sở hữu user tạo ra chúng.
Ø  Mỗi file trong linux được gán quyền theo ba lớp user sau:
       User (owner).
       Group.
        Others(everyone)

Ø Xem quyền truy cập : ls -l




¤Cấp quyền users (tt)
¤Cấp quyền users (tt)
¤Cấp quyền users (tt)
¤ SetUID: program nào được set SUID, khi thực thi sẽ được sở hữu bởi owner của program đó, bất kể user nào gọi thực thi program này.
¤ SetGID: hiện thực như SUID, nhưng áp dụng cho file group owner.
¤ Sticky bit: chỉ cho phép owner, hoặc root được quyền delete file.
¤Cấu hình mặc định
¤ Khi dùng lệnh useradd không có option kèm theo để tạo user, các thuộc tính của user sẽ được tạo theo các cấu hình mặc định.
¤ Những file định nghĩa cấu hình mặc định:
       /etc/default/useradd
       /etc/skel
       /etc/login.defs
¤ Nếu muốn thay đổi cấu hình mặc định, thay đổi trực tiếp trong những file này.
¤Cấu hình mặc định (tt)
¤ /etc/default/useradd: những giá trị mặc định cho việc tạo account.
¤ /etc/skel: thư mục chứa nội dung mặc định sẽ tạo trong home directory của users.
¤ /etc/login.defs: những cấu hình mặc định cho shadow password.
¤Cấu hình firewall
1. Giới thiệu
¤ Filewall là thành phần quan trọng nhất để chống lại các cuộc tấn công từ bên ngoài.
¤ Một firewall có thể giúp bạn phòng thủ theo ba cách chính.
       Kiểm soát incoming traffic.
       Kiểm soát outgoing traffic.
       Xử lý các traffic đáng ngờ, có dấu hiệu nguy hiểm.
¤Cấu hình firewall
2. Iptables
¤ Iptables là một tường lửa lọc gói có trạng thái.
¤ Được tích hợp sẵn trong nhân Linux
¤ Gồm 2 phần
       Netfilter: ở trong nhân Linux. Xử lí các rule.
       Iptables: ở ngoài, giao tiếp với người dùng  nhận các rule và chuyển cho Netfilter xử lý.

¤Cấu hình firewall
2. Iptables
¤ Các tính năng.
       Tích hợp tốt với nhân Linux
       Có khả năng phân tích gói
       Lọc gói.
       NAT
       Ngăn chặn một số cơ chế tấn công DoS


¤Cấu hình firewall
2. Iptables
¤ Là một bảng chứa tập hợp các rule cấu hình để lọc các gói tin.
¤ Các rule được chia ra thành từng nhóm nhỏ gọi là chains
¤ Có ba loại bảng trong iptables
       Mangle: chịu trách nhiệm biến đổi quality of service bits trong TCP header. Thông thường loại table này được ứng dụng trong SOHO (Small Office/Home Office).
¤Cấu hình firewall
2. Iptables
       Filter : chịu trách nhiệm thiết lập bộ lọc packet (packet filtering), có ba loại built-in chains được mô tả để thực hiện các chính sách về firewall (firewall policy rules).
   Forward chain    : Cho phép packet nguồn chuyển qua firewall.
   Input chain    : Cho phép những gói tin đi vào từ firewall.
   Output chain    : Cho phép những gói tin đi ra từ firewall.

¤Cấu hình firewall
2. Iptables
       NAT : thực thi chức năng NAT (Network Address Translation), cung cấp hai loại  built-in chains sau đây:
   Pre-routing chain    : NAT từ ngoài vào trong. Quá trình NAT sẽ thực hiện trước khi khi thực thi cơ chế định tuyến. Điều này thuận lợi cho việc đổi địa chỉ đích để địa chỉ tương thích với bảng định tuyến của firewall, khi cấu hình ta có thể dùng khóa DNAT để mô tả kỹ thuật này.
   Post-routing chain    : NAT từ trong ra ngoài. Quá trình NAT sẽ thực hiện sau khi thực hiện cơ chế định tuyến. Quá trình này nhằm thay đổi địa chỉ nguồn của gói tin. Kỹ thuật này được gọi là NAT one-to-one hoặc many-to-one, được gọi là Source NAT hay SNAT.

¤Cấu hình firewall
3. Target và Jumps
¤ Jump: là cơ chế chuyển một packet đến một target nào đó để xử lý thêm một số thao tác khác.
¤ Target: là cơ chế hoạt động trong iptables, dùng để nhận diện và kiểm tra packet. Các target được xây dựng sẵn trong iptables như:
        ACCEPT: iptables chấp nhận chuyển data đến đích.
        DROP: iptables khóa các packet.

¤Cấu hình firewall
3. Target và Jumps
       LOG:  thông tin của packet sẽ gởi vào syslog daemon iptables tiếp tục xử lý rule tiếp theo trong iptables. Nếu rule cuối cùng không match thì sẽ drop packet. Với tùy chọn thông dụng là  --log-prefix=”string”,  tức iptables sẽ ghi nhận lại những message bắt đầu bằng chuỗi “string”.
       REJECT: ngăn chặn packet và gởi thông báo cho sender. Với tùy chọn thông dụng là --reject-with qualifier , tức qualifier chỉ định loại reject message sẽ được gởi lại cho người gởi. Các loại qualifer sau:  icmp-port-unreachable   (default), icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable, …
¤Cấu hình firewall
3. Target và Jumps
       DNAT: thay đổi địa chỉ đích của packet. Tùy chọn là --to-destination ipaddress.
       SNAT:  thay đổi địa chỉ nguồn của packet. Tùy chọn là --to-source
[-address][:-]
       MASQUERADING: được sử dụng để thực hiện kỹ thuật NAT (giả mạo địa chỉ nguồn với địa chỉ của interface của firewall). Tùy chọn là  [--to-ports [-]],  chỉ định dãy port nguồn sẽ ánh xạ với dãy port ban đầu.

¤Cấu hình firewall
4. Cơ chế xử lý package trong iptables.
¤ Iptables hoạt động giống như một ACL.
¤ Kiểm tra tất cả các gói khi đi qua iptables host.
¤ Dựa vào các rule được cấu hình trong iptable để xử lí các gói này.
¤ Quá trình xử lí so sánh từ rule đầu tiên đến rule cuối cùng. Nếu match rule nào thì sẽ xử lí gói tin đó và không kiểm tra các rule khác nữa.
¤Cấu hình firewall
5. Cấu hình.
¤ Sử dụng lệnh iptables để cấu hình.
¤ Các tùy chọn để chỉnh thông số.
       chỉ định tên table: -t 
   vd: -t filter, -t nat
       chỉ đinh loại giao thức: -p 
   Vd: -p tcp, -p udp hoặc -p ! udp
       chỉ định card mạng vào: -i ,
   Vd : -i eth0, -i lo
       chỉ định card mạng ra: -o
   Vd : -o eth0
¤Cấu hình firewall
5. Cấu hình.
¤ Các tùy chọn để chỉnh thông số.
       chỉ định địa chỉ IP nguồn: -s <địa_chỉ_ip_nguồn>
   Vd : -s 192.168.0.0/24 , -s 192.168.0.1-192.168.0.3
       chỉ định địa chỉ IP đích: -d <địa_chỉ_ip_đích>
       chỉ định cổng nguồn: --sport 
   Vd : --sport 21, --sport 22:88, --sport :80, --sport 22:
       chỉ định cổng đích: --dport

¤Cấu hình firewall
5. Cấu hình.
¤ Các tùy chọn để thao tác với chain.
       Tạo chain mới: iptables -N 
       Xóa hết các luật tự định nghĩa trong chain: iptables -X 
       Thiết lập policy: iptables -P
   Vd : iptables -P INPUT ACCEPT
       Liệt kê các rule có trong chain: iptables -L 
       Xóa các luật có trong chain (flush chain): iptables -F 
       reset bộ đếm packet về 0: iptables -Z 
¤Cấu hình firewall
5. Cấu hình.
¤ Các tùy chọn để thao tác với rule.
       Thêm luật: -A (append)
       Xóa luật: -D (delete)
        Thay thế luật: -R (replace)
       Chèn thêm luật: -I (insert)


¤Cấu hình firewall
5. Cấu hình.
¤ Các tham số

¤Cấu hình firewall
5. Cấu hình.
¤ Từ các tham số trên ta có thể cấu hình các rule cho firewall.
¤ Các ví dụ:
         dụ 1:  Firewall  chấp nhận cho bất  kỳ TCP packet  đi  vào  interface eth0 đến địa chỉ 172.28.24.199
# iptables -A INPUT -s 0/0 -i eth0 -d 172.28.24.199 -p tcp -j ACCEPT

¤Cấu hình firewall
5. Cấu hình.
¤ Các ví dụ:
         dụ 2:  Firewall  chấp nhận TCP packet  được định tuyến khi nó đi vào interface eth0 và đi ra interface eth1 để đến đích là 172.28.2.2 với port nguồn bắt đầu 1024->65535 và port đích là 8080
# iptables -A INPUT -s 0/0 -i eth0  -o eth1 -d 172.28.2.2 -p tcp –sport 1024:65535 –dport 8080 -j ACCEPT

¤Cấu hình firewall
5. Cấu hình.
¤ Các ví dụ:
         dụ 3:  Firewall  cho phép gởi icmp echo-request và icmp echo-reply
# iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
# iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT
       Ví dụ 4: Firewall giới hạn số gói tin icmp echo-request đi vào trên một đơn vị thời gian.(ngăn chặn tấn công DoS)
# iptables -A INPUT-i eth0 -p icmp –icmp-type echo-request -m limit -limit  5/s -j ACCEPT

¤Cấu hình firewall
5. Cấu hình.
¤ Sử dụng chain tự định nghĩa
       Tạo mới chain.
#ptables -N NEW_CHAIN
       Xóa xóa tất cả chain tự định nghĩa.
#ptables -X

¤Các công cụ hữu ích.
1. Rootkit Hunter
¤ Chức năng: scan và phát hiện rootkit. Địa chỉ tải về http://www.rootkit.nl/projects/rootkit_hunter.html
¤ Sau khi tải về ta tiến hành cài đặt.
[root @localhost Desktop]$ tar -zxf rkhunter-1.3.8.tar.gz
[root@localhost Desktop]$ cd rkhunter-1.3.8
[root@localhost rkhunter-1.3.8]# ./installer.sh –install
¤ Tiến hành scan
[root@localhost rkhunter-1.3.8]#rkhunter --checkall --createlogfile

¤Các công cụ hữu ích.
1. Rootkit Hunter
¤ Sau khi scan xong thì nó tự động lưu vào file /var/log/rkhunter.log có thể mở file này lên xem.

¤Các công cụ hữu ích.
2. John the Ripper
¤ Chức năng: Là một công cụ phần mềm bẻ khóa mật khẩu. Tự động phát hiện các kiểu mật khẩu và có một bộ cracker có khả năng tùy chỉnh. Có thể được chạy cho các định dạng mật khẩu đã được mã hóa chẳng hạn như các kiểu mật khẩu mã hóa vẫn thấy trong một số bản Unix khác (dựa trên DES, MDS hoặc Blowfish), Kerberos AFS và Windows NT/2000/XP/2003 LM hash. Bên cạnh đó còn có các mođul bổ sung mở rộng khả năng gồm có cả các kiểu mật khẩu MD4 và các mật khẩu được lưu trong LDAP, MySQL và các thành phần khác.
¤Các công cụ hữu ích.
2. John the Ripper
¤ Download phiên bản mới nhất tại địa chỉ http://www.openwall.com/john/
¤ Cài đặt
#tar -zxvf john-1.7.7.tar.gz
#cd john-1.7.7
#cd src
#make ->lựa chọn arch
#make clean linux-x86-any

¤Các công cụ hữu ích.
2. John the Ripper
¤ Crack password với John the ripper
¤ Tiến hành các bước sau.
       [root@localhost src]# cd ../run
       [root@localhost run]# ./john –test
       [root@localhost run]# umask 077
       [root@localhost run]# ./unshadow /etc/passwd /etc/shadow > mypass
       [root@localhost run]# ./john mypass



¤Các công cụ hữu ích.
3. Nmap
¤ Là một công cụ rất đơn giản những rất mạnh
¤ Được dùng để thăm dò và kiểm tra an ninh mạng
¤ Nó có thể scan một hoặc nhiều host, sử dụng các gói tin IP để tìm kiếm các host, thiết bị, port, các dịch vụ, và các ứng dụng đang chạy trên host.
¤ Cài đặt:
[globus@localhost ~]$ yum install nmap



¤Các công cụ hữu ích.
3. Nmap
¤ Scan
       [root@localhost globus]#  nmap [scan type(s)] [options]
       Scan type.


¤Các công cụ hữu ích.
4. Ngoài 3 công cụ trên còn một số công cụ hữu ích khác như: Nessus, dsniff, Ethereal, Ettercap, Netcat, SARA, Snort, Tcpdump, Titan…

¤Tài Liệu Tham Khảo.
1.Ebook Hardening linux (james turbull ).
2. http://tldp.org/LDP/intro-linux/html/ sect_03_01.html
3. http://www.3c.com.vn
4.http://gd.tuwien.ac.at/linuxcommand.org/lts0040.html




Không có nhận xét nào:

Đăng nhận xét