Ưu điểm và khuyết điểm

Một phần của tài liệu Cấu hình Iptables và Squid (Trang 26 - 88)

Giao diện thân thiện, dễ sử dụng, không cần dùng những giao diện dòng lệnh như MRTG..

Báo cáo đơn giản, rõ ràng và dể hiểu

Tương thích tốt với Router Cisco và hệ điều hành Windows

* Khuyết điểm

Một vài thiết bị không có sẳn những templates để lấy những thông tin cấu hình về CPU, RAM và Card Mạng chẳng hạn như D-LINK, LINK-PRO…

CHƯƠNG 3 :THỰC NGHIỆM VÀ TRIỂN KHAI MÔ HÌNH MẠNG 3.1 Giới thiệu mô hình mạng

Hình 3.1 Mô Hình Mạng 3.2 Triển khai 3.2.1 Iptables Iptables, Nessus, Squid, Sarg, Cacti

Hình 3.2 Mô hình mạng Iptables

3.2.1.1 Cài đặt -Cách 1 : -Cách 1 :

-Download 2 gói cài đặt về : libipg.3.gz và iptables-dev_1.3.8.0debian1- 1ubuntu2.i386 theo đường link ờ bên trên.

-Nhấn 2 lần vào gói cài đặt, chương trình sẽ tự động cài đặt những gói đó. -Cách 2 :

-Dùng dòng lệnh : #sudo apt-get install iptables # chương trình sẽ tự động cài đặt những gói tin cần thiết cho iptables.

Khởi động iptables :

-Khởi động : #sudo /etc/init.d/iptables start -Tắt : #sudo /etc/init.d/iptables stop

-Khởi động lại : #sudo /etc/init.d/iptables restart -Lưu cấu hình :

1 : #sudo iptables-save > /etc/iptables.rules # lưu iptables ra thành 1 tập tin tên : iptables.rules

2 : Mở tập tin interface : #sudo gedit /etc/network/interfaces và thêm vào 2 dòng sau :

Bảng 3.1 : Câu lệnh để lưu Iptables -Mô tả:

-Tất cả các máy tính trong mạng sẽ đi ra internet thông qua tường lửa Iptables. Iptables ở đây có chứng năng lọc các gói dữ liệu đi ra và vô trong hệ thống mạng. Nhằm mục đích hạn chế những đợt tấn công từ phía bên ngoài vào trong hệ thống nội bộ và sự tấn công của virus.

-Bên cạnh đó trên Iptables sẽ mở 1 số cổng nhằm mục đích hổ trợ cho những users bên ngoài truy cập vào hệ thống của công ty để truy cập tài nguyên như cổng: 21, 80, 443, 110, 25 …

-Cấu hình địa chỉ IP server : #sudo gedit /etc/network/interfaces

auto lo

iface lo inet loopback auto eth0

iface eth0 inet static address 10.1.1.10 gateway 10.1.1.1

pre-up iptables-restore < /etc/iptables.rules

netmask 255.255.255.0 network 10.1.1.0 broadcast 10.1.1.255 auto eth1

iface eth1 inet static address 192.168.1.254 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255

Bảng 3.1 Hiển thị thông tin IP -Cấu hình

#sudo iptables --flush

#sudo iptables --table nat --flush #sudo iptables --delete-chain

#sudo iptables --table nat --delete-chain

#sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

#sudo iptables --append FORWARD --in-interface eth1 -j ACCEPT

Bảng 3.2 Cấu hình NAT trên Iptables

Sau khi nhập xong các dòng trên. Mở tập tin /etc/sysctl.conf và chỉnh lại dòng sau:

3.2.1.2 Hướng dẫn chặn port và dịch vụ trên iptables Giới hạn icmp từ bên ngoài: Giới hạn icmp từ bên ngoài:

#iptables -N icmp_rules

# iptables -A icmp_rules -m limit --limit-burst 5 --limit 2/m -j RETURN # iptables -A icmp_rules -j DROP

# iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j icmp_rules

Client (10.1.1.2) ping tới máy chủ iptables: ping 10.1.1.10 –t

Hình 3.3 Kiểm tra lại cách chặn gói icmp

Chỉ 5 gói đầu trong phút đầu tiên được chấp nhận, thỏa luật RETURN đó. Bây giờ đã đạt đến mức đỉnh là 5 gói, lập tức Iptables sẽ giới hạn PING tới lo là 2 gói trên mỗi phút bất chấp có bao nhiêu gói được PING tới lo đi nữa. Nếu trong phút tới không có gói nào PING tới, Iptables sẽ giảm limit đi 2 gói tức là tốc độ đang là 2 gói/phút sẽ

tăng lên 4 gói/phút. Nếu trong phút nữa không có gói đến, limit sẽ giảm đi 2 nữa là trở về lại trạng thái cũ chưa đạt đến mức đỉnh 5 gói. Quá trình cứ tiếp tục như vậy. Bạn chỉ cần nhớ đơn giản là khi đã đạt tới mức đỉnh, tốc độ sẽ bị giới hạn bởi tham số limit. Nếu trong một đơn vị thời gian tới không có gói đến, tốc độ sẽ tăng lên đúng bằng -- limit đến khi trở lại trạng thái chưa đạt mức --limit-burst thì thôi.

Đưa website, mail, ftp ra ngoài internet 1:website: cổng 80 (HTTP), 443( HTTPS)

Hình 3.4 Truy cập từ ngoài vô máy chủ web khi chưa đưa ra ngoài

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2 # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.1.2

Hình 3.5 Truy cập được tới máy chủ web sau khi đưa ra ngoài FTP:

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.1.2 # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j DNAT --to 192.168.1.2

Mail:

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to 192.168.1.2 # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to 192.168.1.2

3.2.1.3 Một số dịch vụ * Chặn truy cập internet: * Chặn truy cập internet:

Hình 3.6 Thư truy cập google.com.vn khi chưa chặn internet

* Cấm IP: 192.168.1.2 truy cập internet

# iptables -A INPUT -i eth0 -s 192.168.1.2 –p tcp --dport 80 -j DROP # iptables –I FORWARD –i eth1 –s 192.168.1.2 –p tcp --dport 80 -j DROP

* Cấm 1 dãy IP truy cập internet:

iptables -I FORWARD -m iprange --src-range 192.168.1.100-192.168.1.150 –p tcp -- dport 80 -j DROP

Hình 3.7 Sau khi chặn internet. Client không thể truy cập * Cấm truy cập theo thời gian

iptables –I FORWARD –s 192.168.1.15 –p tcp --dport 80 –m time –timestart 11:00 – timestop 11.30 --weekdays Mon,Tue,Wed,Thu,Fri,Sun –j DROP

Truy cập web lại lúc: 11:32 AM

Hình 3.9 Truy cập lại website sau khoản thời gian bị giới hạn 3.2.2 Nessus

Vẽ Mô Hình

Hình 3.10 Mô hình mạng dùng Nessus

3.2.2.1 Hướng dẫn cài đặt

Lưu ý:

Máy chủ Nessus cần được cấu hình trên các hệ thống Linux, nhưng chương trình giao tiếp (Nessus client) có thể cài trên các hệ thống Windows OS hoặc Linux.

Cách 1:Đầu tiên chúng ta tải về bốn tập tin

1. nessus-libraries-2.0.9.tar.gz

2. libnasl-2.0.9.tar.gz

3. nessus-core-2.0.9.tar.gz

4. nessus-plugins-2.0.9.tar.gz

Tiến hành cài đặt theo thứ tự sau: #tar –zxvf nessus-libraries-2.0.9.tar.gz #cd ../nessus-libraries-2.0.9

#./configure && make && make install #cd ../

#tar –zxvf libnasl-2.0.9.tar.gz #cd libnasl-2.0.9

#./configure && make && make install #cd ../

#tar –zxvf nessus-core-2.0.9.tar.gz #cd nessus-core-2.0.9

#./configure && make && make install #cd ../

#tar –zxvf nessus-plugins-2.0.9.tar.gz #cd nessus-plugins-2.0.9

#./configure && make && make install

Các dòng lệnh trên sẽ giải nén và lần lượt cài đặt các gói tin thư viện và các plug-in cần thiết cho quá trình quét lỗi. Khi tiến trình cài đặt hoàn tất bạn hãy dùng trình soạn thảo

vi, hay emac thêm dòng /usr/local/lib vào tập tin ld.so.conf trong thư mục /etc, lưu lại

và chạylệnh\ldconfig.

Để kết nối với máy chủ Nessus bằng giao thức an toàn SSL thì chúng ta cần tạo các SSL certificate cho Nessus thông qua lệnh nessus-mkcert và tiến hành theo các chỉ thị đưa ra.

Cách 2:

#sudo apt-get install nessusd nessus nessus-plugins #sudo update-rc.d nessusd defaults

#/etc/init.d/nessusd start

Bảng 3.4 Cài đặt từ dòng lệnh apt-get

Tạo tài khoản:

Tiếp theo ta cần tạo tài khoản dùng để chạy nessus bằng tiện ích nessus-adduser. Điều này có thể giúp chúng ta tạo ra các tài khoản chỉ có thể quét lỗi trên lớp mạng con mà mình quản lý.

Hình 3.11 Tạo user trên nessus

Chú ý: Mặc định khi cài đặt nessus bằng dòng lệnh apt-get thì mật khẩu “Authentication (pass/cert)” bằng rỗng.

Như vậy ta đã hoàn thành các bước cài đặt cho máy chủ nessus, hãy khởi động bằng lệnh nessusd &, sau đó chạy trình khách nessus thông qua dòng lệnh nessus ở bất kỳ

terminal nào và cấu hình các tham số cần thiết cho quá trình quét lỗi.

3.2.2.2 Dò tìm lỗ hỗng trong hệ thống

Đầu tiên chúng ta cần log-in vào máy chủ nessus thông qua trang đang nhập với tài khoản đã tạo ra.

Hình 3.12 Màn hình đăng nhập

Tiếp theo là chọn các plug-in để tiến hành quét lỗi, càng nhiều plug-in được chọn thì kết quả thu được sẽ tốt hơn tuy nhiên thời gian cũng sẽ lâu hơn, hãy click chuột vào ô check-box bên phải để chọn các plug-in mình muốn:

Hình 3.13 Chọn dịch vụ muốn quét

Cuối cùng là nhập địa chỉ các máy cần kiểm tra lổi trong trang Target selection rồi

lưu lại với tùy chọn Save this section, nhấn phím Start the scan để nessus bắt đầu hoạt

Hình 3.14 Chọn dãy IP muốn quét

Hình 3.15 Dò tìm IP tồn tại trong mạng

Trong dãy IP từ: 192.168.1.1 tới 192.168.1.20, có 1 PC dùng hệ điều hành Windows và chương trình bắt đầu quét lổ hổng trên máy 15

Hình 3.16 Quét địa chỉ IP tồn tại trong mạng

Tùy vào số lượng máy được quét và số plug-in bạn chọn mà thời gian tiến hành lâu hay mau. Kết quả thu được sẽ được trình bày như khung sau:

Hình 3.17 Hiển thị thông tin sau khi quét

Dựa trên kết quả thu được, chương trình cho biết máy đang dùng hệ điều Windows và cảnh báo trên cổng số 135 thì dễ dàng bị tấn công và chiếm đoạt quyền trên hệ thống. Và cảnh báo nên cập nhật lại bản vá lổi này từ Microsoft theo đường dẫn: http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx

3.2.3 SQUID PROXY

MÔ HÌNH

Hình 3.18 Mô hình hệ thống tích hợp với Squid

3.2.3.1 Hướng dẫn cài đặt Mô tả :

Tất cả các máy trong mạng khi truy cập Internet sẽ đi qua Squid Proxy và các giao thức đi qua đây sẽ được lọc và kiểm tra. Nếu chúng hợp lệ thì sẽ truy cập được internet, ngược lại sẽ không truy cập được dựa trên những quy luật mà người quản trị cài đặt trên Squid.

Chú ý :

-Nếu trên Iptables chặn hết tất cả các cổng thì chỉnh iptables theo như sau :

#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

#iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -i eth1 -p tcp --dport 8080

#iptables -A OUTPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -o eth0 -p tcp --dport 80

#iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -i eth0 -p tcp --sport 80

#iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -o eth1 -p tcp --sport 80

-Nếu Squid và Iptables là 2 con server khác nhau. Ví dụ : Squid có Ip : 192.168.1.100 thì các anh/chị cấu hình iptables như sau :

#iptables -t nat -A PREROUTING -i eth1 -s ! 192.168.1.100 -p tcp --dport 80 -j DNAT --to 192.168.1.100:8080

#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d 192.168.1.100 -j SNAT --to 192.168.1.254

#iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.1.100 -i eth1 -o eth1 -m state -- state NEW,ESTABLISHED,RELATED -p tcp --dport 8080 -j ACCEPT

#iptables -A FORWARD -d 192.168.1.0/24 -s 192.168.1.100 - i eth1 -o eth1 -m state --state ESTABLISHED,RELATED -p tcp --sport 8080 -j ACCEPT

Cài đặt : # sudo apt-get install squid squid-common Note :

Trong trường hợp nếu khi không dùng được câu lệnh trên thì vô trong đường dẫn sau update lại source.list của hệ điều hành Ubuntu : gedit /etc/apt/sources.list. Thêm vào những dòng sau bên trong tập tin sources.list :

deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ hardy main restricted deb http://us.archive.ubutntu.com/ubuntu/ hardy-updates main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb http://archive.canonical.com/ubuntu hardy partner

deb-src http://archive.canonical.com/ubuntu hardy partner

Bảng 3.5 Đường dẫn để cập nhật những gói phần mềm mới trên ubuntu

Cấu hình Squid : Mở tập tin cấu hình squid : gedit /etc/squid/squid.conf và

khai báo 1 số thông tin visible_hostname server http_port 8080

cache_mem 10 MB

access_log /var/log/squid/access.log squid cache_dir ufs /var/spool/squid 100 16 256 acl all src 192.168.1.0/24

http_access allow all

Cấu hình máy client :

Cấu hình địa chỉ IP Client : Mở Network Connections và chỉnh lại IP của máy con như sau :

Hình 3.19 Địa chỉ IP của máy con

Sau đó mở Internet Explorer : vô mục : tools internet options  Connections. Sau đó chọn Lan Settings

Hình 3.20 Cấu hình IE thông qua Proxy

Truy cập Internet :

Kiểm tra trên server : tail –n 10 /var/log/squid/access.log

Hình 3.22 Xem lại sự kiện truy cập web của các máy con

3.2.3.2 Một số tính năng trên Squid

* Cho phép truy cập / cấm truy cập tới một số websites

Tạo 1 file tên là blacklist.txt trong : /etc/squid/ Blacklist.txt:

.vnexpress.net .plaboy.com .gmail.com

.microsoft.com .ubuntuforums.org

Bảng 3.6 Danh sách chặn website khi truy cập thông qua proxy

Chỉnh lại cấu hình trên squid.conf Squid.conf:

acl blacklist dstdomain "/etc/squid/blacklist" #define blaclist http_access deny blacklist

Kiểm tra lại ở máy client

Hình 3.23 Thử truy cập trang web sau khi đã chặn * Dùng Proxy Authentication để truy cập internet

Cài đặt 2 gói phần mềm để hỗ trợ cho việc uy quyền truy cập internet #sudo apt-get install mini-httpd

#sudo apt-get install apache2-utils Tạo user để ủy quyền truy cập internet :

#htpasswd /etc/squid/passwd user1 Màn hình xuất ra :

New password :

Re-type new pasword :

Adding password for user user1

Cấp quyền truy cập lên tập tin passwd : #chmod o+r /etc/squid/passwd

Kiểm tra đã có gói cài đặt ncsa_auth #dpkg –L squid | grep ncsa_auth

Xuất ra màn hình vị trí của gói cài đặt : /usr/lib/squid/ncsa_auth

Cấu hình ncsa_auth trên squid : gedit /etc/squid/squid.conf

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd auth_param basic children 5

auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours

Tạo ủy quyền users truy cập internet acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users

Khỏi động lại Squid : #/etc/init.d/squid restart Khi client truy cập intetnet :

Hình 3.24 Truy cập internet thông qua sự ủy quyền * Giới hạn nội dung download

Cấm những download những đuôi mở rộng sau : mp3, mpg, mp2, avi, wmv, wma, exe

- Tạo down.txt trong thư mục : /etc/squid/down.txt \.gif

\.jpeg \.exe \.mp3 \.wma

Bảng 3.7 Chặn những file mở rộng thông qua proxy

Chỉnh lại squid.conf

acl down_music urlpath_regex ’’/etc/squid/down.txt’’ http_access deny down_music

Kiểm tra ở client

Hình 3.25 Kiểm tra lại sau khi khóa download những tập tin hình ảnh

Note: Những dấu X : không download được những hình ảnh jpeg

Hình 3.26 Thử download tập tin với đuôi mở rộng exe

Note: không download được đuôi mở rông exe

* Giới hạn truy cập theo IP

acl deny_host dst 192.168.1.200 http_access deny deny_host * Giới hạn truy cập theo cổng

Squid.conf

acl deny_port port 3000 1000 http_access deny deny_port

* Giới hạn truy cập theo giao thức

acl deny_protocols proto FTP, HTTP,POP3 http_access deny deny_protocols

* Một số dịch vụ chat trên mạng

#Cho phép truy cập Yahoo Messenger acl YIM_ports port 5050

acl YIM_domains dstdomain .yahoo.com .yahoo.co.jp

acl YIM_hosts dstdomain scs.msg.yahoo.com cs.yahoo.co.jp acl YIM_methods method CONNECT

http_access allow YIM_methods YIM_ports YIM_hosts http_access allow YIM_methods YIM_ports YIM_domains #Cho phép truy cập Google Talk

acl GTALK_ports port 5222 5050

Một phần của tài liệu Cấu hình Iptables và Squid (Trang 26 - 88)

Tải bản đầy đủ (PDF)

(88 trang)