Squid server Squid server
1
ộ
ộN i dung N i dung
Gi i thi u Squid server ớ C u hình Squid server ấ Option C u hình ACL ấ Squid Authentication
2
ệ
Gi Gi
i thi u Squid server i thi u Squid server
ớ ớ
ệ ệ
Squid là m t caching proxy server. Squid ộ c đ t gi a Web client và Web ữ ượ
ặ
server đ server.
Khi có request yêu c u Web page, Squid s ẽ ầ c a request c đ nh nghĩa
ậ
ể ự
ki m tra, xác nh n tính h p l ợ ệ ủ d a trên nh ng policy đã đ ị ượ ữ trong Squid.
ể ả ề ế
ấ ế ế
Sau đó, truy v n Web page đ tr v k t qu ả cho request. N u k t qu đã có trong cache c a Squid, thì Squid tr k t qu v ngay cho ủ request.
3
ả ả ế ả ề
Gi Gi
i thi u Squid server (tt) i thi u Squid server (tt)
ớ ớ
ệ ệ
Squid server có th đ
c cài đ t b ng source ể ượ ặ ằ
Squid server g m nh ng file sau trong h ệ
ặ
ữ ho c b ng rpm. ằ ồ
4
th ng:ố /etc/squid /usr/lib/squid /usr/sbin/squid /var/log/squid
ấ
ấC u hình Squid server C u hình Squid server
M t s option chính c u hình Squid server:
ấ
ắ
đ ph c v . M c đ nh là port 3128.
ụ
ụ
ể
ặ
ị
cache_dir: đ nh nghĩa Squid server s ch a
ứ
ẽ
ị đâu
cache
ở
cache_dir storage_type directory-name
megabytes L1 L2 [options]
cache_dir ufs /var/spool/squid 10000 16 256
Directory Megabytes
Top level directory
Second level directory 5
ộ ố http_port: port Squid server l ng nghe request
ấ
ấC u hình Squid server (tt) C u hình Squid server (tt)
cache_mem: Squid server s s d ng bao
ẽ ử ụ
nhiêu memory c a RAM.
ủ
cache_access_log: Squid server ghi nh n l
i ậ ạ
acl: đây là ph n ph c t p nh t c a Squid
các request đã query Squid. ầ
c truy c p
ứ ạ ườ
ấ ủ ẽ ượ
ậ
ậ
ữ
i nào s đ server, cho phép ng Web, truy c p nh ng trang nào. acl intranet src 192.168.1.0/24 http_access allow intranet http_access deny all
6
ấ
ấC u hình Squid server (tt) C u hình Squid server (tt)
Có th dùng acl đ gi
ứ
i h n truy c p b ng ể ớ ạ ằ ậ
i h n truy c p theo th i gian. ờ ậ i h n truy c p theo IP. ậ i h n truy c p theo port. ậ i h n truy c p theo giao th c. ậ i h n truy c p theo trang web. ậ c phép download. i h n file đ ượ i đa đ i h n băng thông t
ớ ạ ớ ạ ớ ạ ớ ạ ớ ạ ớ ạ ớ ạ
ượ
ố
c s d ng. ử ụ
7
ể nhi u cách: ề Gi Gi Gi Gi Gi Gi Gi
ấ
ấC u hình Squid server (tt) C u hình Squid server (tt)
8
Squid Authentication Squid Authentication
Đ s d ng Squid, user ph i có username/pass h p l
=>
ể ử ụ
ợ ệ
ả
Squid Authentication.
Đ s d ng tính năng Squid Authentication, c n biên d ch
ể ử ụ
ầ
ị
ớ
ncsa_auth v i Squid. T o password cho user:
ạ
C u hình Squid h tr tính năng Squid Authentication:
ỗ ợ
ấ
9
Ự
ỰTH C HÀNH TH C HÀNH
10
Firewall Firewall
11
ộ
ộN i dung N i dung
Gi
ệ i thi u m t mô hình m ng.
ạ
ớ
ộ
ụ
i thi u iptables ớ Gi ệ Phân tích traffic. Áp d ng firewall. ử
ủ
Mô hình x lí logic c a iptables Cú pháp iptables
12
Gi Gi
i thi u iptables i thi u iptables
ớ ớ
ệ ệ
Mi n c n b o v ầ
ề
ả
ệ
13
Gi Gi
i thi u iptables i thi u iptables
ớ ớ
ệ ệ
C n qu n lý nh ng lo i traffic sau: ữ
trong firewall
ọ
ngoài vào trong
ấ ả
C m t ấ
ừ
firewall, ngo i tr nh ng traffic sau:
filter
nat
ế ế
ả
ế
14
ạ ầ Cho phép m i traffic t ừ (10.0.0.0/24) ra ngoài. t c các traffic t ữ ạ ừ TCP port 80, port 22, port 443 TCP port 80: forward đ n web server. TCP port 22: forward đ n file server. TCP port 443: forward đ n file server.
Mô hình logic iptables Mô hình logic iptables
chain
table
15
Mô hình logic iptables Mô hình logic iptables
Server 10.0.0.2 Default route: 10.0.0.1
From: 200.2.2.2: 1025 To: 10.0.0.2: 80
Eth1: 10.0.0.1
DNAT
Eth0: 172.20.12.88
From: 200.2.2.2: 1025 To: 172.20.12.88: 80
Client: 200.2.2.2
`
16
Mô hình logic iptables Mô hình logic iptables
Server: 10.0.0.2 Default route: 10.0.0.1
From: 10.0.0.2: 80 To: 200.2.2.2: 1025
Eth1: 10.0.0.1
SNAT
Eth0: 17.20.12.88
From: 172.20.12.88: 80 To: 200.2.2.2: 1025
Client: 200.2.2.2
`
17
Cú pháp iptables Cú pháp iptables
iptables –t table –A chain [match] [target]
rules
ộ
ộ
dòng [number].
ở
ệ
ộ
ị
table: filter (default), nat, mangle -A chain: thêm m t rule m i. ớ -D chain: xóa m t rule. -I chain number: chèn m t rule vào dòng [number]. ộ -R chain number: thay th m t rule ế ộ -L chain: xem các rule đã có. -F chain: xóa m i rule hi n có. ọ -N chain: đ nh nghĩa m t chain m i. ớ -E [old_chain] [new_chain]: đ i tên chain (ch có th ể
ỉ
ổ thay đ i v i nh ng chain do ng ữ
ổ ớ
i dùng t o ra). ạ
ườ
18
Cú pháp iptables (tt) Cú pháp iptables (tt)
iptables –A INPUT –p tcp –dport 22 –j ACCEPT
match
target
ứ ỏ
ợ
ặ
ACCEPT: cho phép gói tin đi qua. DROP: v t b gói tin. QUEUE: chuy n gói tin vào hàng đ i queue. RETURN: tr v cho chain c p trên ho c default policy. LOG: ghi l
ể ấ ả ề i thông tin packet trong system log
ạ
--log-level --log-prefix --log-tcp-sequence --log-tcp-options --log-ip-options
19
Cú pháp iptables – TARGET Cú pháp iptables – TARGET
REJECT:
drop gói tin, đ ng th i g i gói tin ICMP tr l ờ ở ề ầ ế
i ồ ả ờ i g i. N u đã g i quá nhi u l n, ử
v cho ng ề s không g i n a. ẽ
ườ ử ở ữ
--reject-with type: g i ICMP v i type ch đ nh.
ớ
ị
ỉ
ử icmp-net-unreachable icmp-host-unreachable icmp-port-unreachable icmp-proto-unreachable
20
TARGET (tt) TARGET (tt)
SNAT: ch có th s d ng trong table nat trong chain
ể ử ụ
ỉ
DNAT: ch có th s d ng trong table nat trong chain
POSTROUTING --to-source address[-address][:port-port] -j SNAT --to-source 172.20.12.88 ể ử ụ
ỉ
PREROUTING --to-destination address[-address][:port-port] -j DNAT --to-destination 10.0.0.2:80
MASQUERADE: là m t d ng đ c bi REDIRECT: chuy n h
ặ ng c a gói tin t
i m t port khác
ộ ạ ướ
ệ ủ ớ
t c a SNAT. ộ
ủ
ể
trên máy local. -j REDIRECT --to-ports 80
21
MatchMatch
ọ
ể
-p [!] name: ch n nh ng packet d a trên ữ protocol. Protocol có th là tên ho c port t ươ
-s [!] address[/mask]: ch n nh ng packet d a
ự ặ ng ng trong file /etc/protocols. ứ
ự ữ ọ
ị ể ồ ỉ
trên đ a ch ngu n. Address có th là hostname ho c đ a ch IP. ị ặ ỉ
ng h p ố ợ
-d [!] address[/mask]: cũng gi ng tr ị
22
ườ trên nh ng là đ a ch đích c a packet. ư ủ ỉ
Match (tt) Match (tt)
-i name: ch n packet đ
-o name: ch n nh ng packet đ
c nh n t interface ượ ậ ừ
c g i t ữ ượ ử ừ
[!] –f: ch n nh ng gói tin b phân m nh (t
ọ name (input). ọ interface name (output).
ả ị ừ
23
ọ m nh v n th hai). ụ ữ ứ ả
Match (tt) Match (tt)
--sport [!] [port][:port]: ch n nh ng packet có
ữ
port ngu n xác đ nh nh trên ồ ị
ọ ư ọ ữ
--dport [!] [port][:port]: ch n nh ng packet có ư iptables –A INPUT -p tcp –s 10.1.1.0/24 –i eth0 -d 192.168.1.1 --dport 80 -j ACCEPT
24
port đích xác đ nh nh trên. ị
Match icmp & mac (tt) Match icmp & mac (tt)
ể
ằ
ị
ỉ
Đ i v i mac (s d ng -m)
ữ
ọ
Đ i v i icmp (s d ng -p icmp) ố ớ --icmp-type [!] type: ch n nh ng packet icmp ọ ữ thu c ki u type. Type có th ch đ nh b ng s ộ ố ể ho c tên (iptables -p icmp -h) ặ ử ụ ố ớ --mac-source [!] address: ch n nh ng packet có đ a ch MAC ngu n là address. Address ồ ỉ i d ng 00:60:08:91:CC:B7 vi
ị t d
ế ướ ạ
25
ử ụ
Match limit (tt) Match limit (tt)
Đ i v i limit (s d ng -m)
c
ượ
i h n t n su t c a packet, đ ấ ủ ằ
ằ
ỉ
ố ớ --limit rate: gi ị
--limit-burst [number]: xác đ nh s l
ng packet
ố ượ
ị
i đa đ
c ch p nh n. Default là 5.
t ố
ượ
ấ
ậ
26
ử ụ ớ ạ ầ ch đ nh b ng 1 con s và đ ng sau là ố /second, /minute, /hour, /day. Default là 3/hour.
Match state (tt) Match state (tt)
Module state cho phép nh n bi
ậ t và ch n các ọ
ự ạ ế ế ố ủ
ọ
trong các tr ng thái đ
ạ t kê
states
ạ
ở
Các tr ng thái c a m t k t n i là: INVALID,
c li ượ ệ ộ ế ố
ạ
ủ ESTABLISHED, NEW, RELATED
27
packet d a trên tr ng thái k t n i c a các packet đó. Iptables là stateful. --state states: ch n gói tin có tr ng thái là 1
Ự
ỰTH C HÀNH TH C HÀNH
28