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