1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI 7 BẢO MẬT HỆ THỐNG LINUX

38 547 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 1,12 MB

Nội dung

Bài 7: BẢO MẬT HỆ THỐNG LINUX• Bảo mật hệ thống mạng bằng Squid Proxy • Bảo mật cho hệ thống Linux bằng Iptables Bảo mật hệ thống bằng squid proxy và iptables... Giải thích được các thôn

Trang 1

MH/MĐ: QUẢN TRỊ MẠNG LINUX

Bài 1: TRIỂN KHAI VÀ QUẢN TRỊ HỆ ĐIỀU HÀNH LINUX

Bài 2: QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG VÀ LẬP TRÌNH

SHELL

Bài 3: TRIỂN KHAI DỊCH VỤ DNS VÀ DHCP

Bài 4: TRIỂN KHAI DỊCH VỤ SAMBA VÀ NFS

Bài 5: TRIỂN KHAI DỊCH VỤ WEB VÀ FTP

Bài 6: TRIỂN KHAI DỊCH VỤ MAIL

Bài 7: BẢO MẬT HỆ THỐNG LINUX

ÔN TẬP

BÁO CÁO ĐỒ ÁN

THI

Trang 2

Bài 7: BẢO MẬT HỆ THỐNG LINUX

• Bảo mật hệ thống mạng bằng Squid Proxy

• Bảo mật cho hệ thống Linux bằng Iptables

Bảo mật hệ thống bằng squid proxy và iptables

Trang 3

MỤC TIÊU BÀI HỌC

Trình bày được khái niệm và các đặc điểm của hệ thống

proxy.

Giải thích được các thông số cấu hình của squid.

Cấu hình được squid hoạt động ở chế độ cache và

transparent.

Nhận biết hệ thống firewall dùng iptables.

Giải thích các thông số của iptables.

Cấu trúc lệnh của iptables.

Triển khai firewall dùng iptables.

Trang 4

Tầm quan trọng của cache Proxy

Chia sẻ và cân bằng tải.

Sử dụng lại các object đã được lưu trữ trong cache.

Giảm tải truy xuất trên đường truyền.

Cài đặt, cấu hình squid proxy

Trang 5

Yêu cầu hệ thống cho cache proxy Server

Tốc độ truy xuất đĩa nhanh

Yêu cầu dung lượng RAM lớn

Trang 6

Giới thiệu Squid proxy

Squid là chương trình Internet proxy-caching có vai trò tiếp nhận các yêu cầu từ client và truy vấn đến các Internet Server thích hợp

Trang 7

Giao thức được hỗ trợ trên Squid

Squid hỗ trợ những giao thức sau:

HTTP FTP Secure Socket Layer

Trang 8

Cơ chế cache của Squid

Trang 9

Cài đặt Squid Proxy

Cài đặt squid từ package rpm

Cài đặt từ package squid-version.i386.rpm trong CDROM.

Cấu trúc thư mục mặc định của Squid

/usr/sbin: Lưu những thư viện của Squid /etc/squid: Lưu các tập tin cấu hình squid ( /etc/squid/squid.conf ).

/var/log/squid: Lưu các tập tin log của squid /var/spool/squid: lưu trữ squid cache.

Trang 10

Cấu hình squid proxy

visible_hostname: Nếu không gán hostname khi đó việc khởi

cache_dir: chỉ định nơi cache data được lưu trữ

cache_dir ufs /var/spool/squid 100 16 256

Trang 11

Cấu hình squid proxy(tt) Tuỳ chọn Giải thích

cache_dir Định nghĩa những giá trị của thư mục cache được dùng

cho Squid.

chạy trên Linux

/var/spool/squid Thư mục lưu trữ cache /var/spool/squid.

Trang 12

Access List

Định nghĩa access list dùng acl Tag:

acl aclname acltype string1

acl aclname acltype "file"

Các acl phổ biến:

acl aclname src ip-address/netmask acl aclname src addr1-addr2/netmask acl aclname dst ip-address/netmask acl aclname srcdomain foo.com

acl aclname dstdomain foo.com acl aclname url_regex [-i] ^http://

acl aclname urlpath_regex [-i] \.gif$

acl aclname port 80 70 21 acl aclname port 0-1024 acl aclname proto HTTP FTP .

Trang 13

Access List(tt)

acl aclname method GET POST .

acl aclname time [ day ] [ h1:m1-h2:m2 ]

Ví dụ:

acl home_network src 192.168.1.0/24

acl business_hours time M T W H F 9:00-17:00 http_access allow/deny home_network bussiness_hours

Trang 14

Access List(tt)

http_access: điều khiển việc truy cập đến Squid

icp_port: dùng queries các cache khác

Mặc định: icp_port 8082

cache_peer: chỉ định cache khác theo sự phân cấp

Cú pháp: cache_peer hostname type http_port icp_port

cache_peer proxy2.ispace.edu.vn parent 8080 8082

cache_peer proxy.kcntt.ispace.edu.vn sibling 8080 8082

type :

‘parent’ : proxy cha ở cấp cao hơn

‘sibling’: proxy ngang hàng

Trang 15

Cấu hình tối thiểu cho squid server

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

Trang 16

Cấu hình tối thiểu cho squid server(tt)

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

For example:

http_access allow home_network business_hours

http_access allow localhost

http_access deny all

Trang 17

Theo dõi truy xuất internet thông qua Squid

tail –f /var/log/squid/access_log

Trang 18

Khởi động Squid

Để khởi động Squid ta dùng lệnh sau:

#/etc/init.d/squid start|stop|restart

Trang 19

Bảo mật Linux

Trang 20

Log file

Log file: File log để ghi nhận lại các sự kiện, một số file log chính

trong hệ thống

/var/log/messages /var/log/secure /var/log/wtmp /var/log/utmp

Triển khai bảo mật cơ bản trên Linux

Trang 21

Port Based Security

Cho phép thực thi chức năng lọc gói tin (packet filtering)

thông qua iptables

Triển khai hệ thống firewall trên Linux dùng iptables

Trang 22

Port Based Security(tt)

Giới thiệu iptables: Iptables do tổ chức Netfilter cung cấp để tăng

tính năng bảo mật trên hệ thống Linux.

Tích hợp tốt với kernel của Linux.

Có khả năng phân tích package hiệu quả.

Lọc package dựa vào MAC và một số cờ hiệu trong TCP header.

Cài đặt iptables: iptables được cài đặt mặc định trong hệ thống

Linux.

Trang 23

Port Based Security(tt)

Cơ chế và chức năng hoạt động của 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ự entry đầu tiên đến entry cuối cùng.

Có 3 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).

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 : lọc những gói tin đi qua hệ thống (đi vào một hệ thống khác).

 Input chain : lọc những gói tin đi vào hệ thống.

 Output chain : lọc những gói tin đi ra từ hệ thống

Trang 24

Port Based Security(tt)

NAT: thực thi chức năng NAT (Network Address

Translation), cung cấp hai loại built-in chains sau:

 Pre-routing : sửa địa chỉ đích của gói tin trước khi nó được routing bởi bảng routing của hệ thống (destination NAT hay DNAT)

 Post-routing : ngược lại với Pre-routing, nó sửa địa chỉ nguồn của gói tin sau khi gói tin đã được routing bởi hệ thống (SNAT)

Chú ý: Mỗi rule mà bạn tạo ra phải tương ứng với một chain, table

nào đấy Nếu bạn không xác định tables nào thì iptables coi mặc

định là cho bảng FILTER

Trang 25

Port Based Security(tt)

Sơ đồ sử lý gói tin:

Mangle Table PREROUTING Chain

NAT Table PREROUTING Chain

Routing

Routing OUTPUT Chain Filter Table OUTPUT Chain NAT Table

Mangle Table OUTPUT Chain

Data for the Firewall ?

Local Processing of Data

Filter Table INPUT Chain

Filter Table FORWARD Chain

NAT Table POSTROUTING Chain

NETWORK A

NETWORK B

Packet Out No

Yes

Firewall Reply Packet in

Trang 26

Port Based Security(tt)

iptables tiếp tục xử lý gói tin bằng những rules tiếp theo.

REJECT : chức năng của nó cũng giống như DROP tuy nhiên nó

sẽ gửi một error message tới host đã gửi gói tin.

MASQUERADE : cũng là một kiểu dùng để sửa địa chỉ nguồn của gói tin.

Trang 27

Port Based Security(tt)

Các tuỳ chọn của iptables:

định là FILTER ).

nghĩa ở trên nếu điều kiện so sánh thoả mãn.

-p tcp sport : xác định port nguồn của gói tin TCP.

-p tcp dport : xác định port đích của gói tin TCP

-p udp sport : xác định port nguồn của gói tin UDP

-p udp dport : xác định port đích của gói tin UDP

Trang 28

Port Based Security(tt)

syn : xác định gói tin có phải là một yêu cầu tạo một kết nối TCP mới không.

icmp-type : xác định loại gói icmp (reply hay request).

echo m multiport sport < port, port > : xác định các giá trị port nguồn

-m multiport dport < port, port > : xác định các giá trị port đích.

-m multiport port < port, port > : xác định các giá trị port ( không phân biệt nguồn hay đích ).

-m state < state > : xác định trạng thái kết nối mà gói tin thể hiện gồm:

ESTABLISHED : gói tin thuộc một kết nối đã được thiết lập.

RELATED : gói tin thể hiện một yêu cầu kết nối thứ hai (có liên quan đến kết nối thứ nhất, thường xuất hiện ở những giao

thức FPT hay ICMP)

INVALID : thể hiện một gói tin không hợp lệ

Trang 29

Port Based Security(tt)

Cấu trúc lệnh của iptables:

# iptables [ -t < table-name > ] < command > < chain-name >

< parameter-1 > < option-1 > < parameter-n > < option-n >

< table-name >: Cho phép chọn table khác table mặc định là Filter

< command >: Xác định hành động sẽ thực hiện, như appending

< chain-name >: định nghĩa một cặp thông số xác định điều gì sẽ

xảy ra khi các packet thoả các rule.

Trang 30

Port Based Security(tt)

Tạo rules firewall

ACCEPT|REJECT}

REJECT}

Ví dụ:

# iptables -A INPUT -p tcp dport 25 -j ACCEPT

# iptables -A OUTPUT -p tcp sport 25 -j ACCEPT

Trang 31

Port Based Security(tt)

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP Tạo firewall rule

# iptables append CHAIN selection-criteria jump {DROP|ACCEPT|

REJECT}

# iptables -A CHAIN selection-criteria -j {DROP|ACCEPT|REJECT}

Mở và đóng một port

# iptables -A INPUT -p tcp dport 25 -j ACCEPT

# iptables -A OUTPUT -p tcp sport 25 -j ACCEPT

Trang 32

Port Based Security(tt)

Dùng địa chỉ IP nguồn và đích

# iptables -A INPUT -s 172.24.0.0/16 -j DROP

# iptables -A OUTPUT -d 172.24.0.0/16 -j DROP

Lọc bởi interface

# iptables -A INPUT -s 192.168.9.0/24 -i eth0 -j DROP

# iptables -A FORWARD -s 192.168.9.0/24 -i eth0 -j DROP

# iptables -A FORWARD -s !192.168.9.0/24 -i eth1 -j DROP

# iptables -A OUTPUT -s !192.168.9.0/24 -i eth1 -j DROP

Trang 33

Port Based Security(tt)

/etc/sysconfig/iptables ta dùng lệnh sau:

#service iptables save

Trang 34

Port Based Security(tt)

Load kernel module cần cho iptables

Module ip_conntrack Module ip_conntrack_ftp Module iptable_nat

Module ip_nat_ftp

Có thể mô tả trong file /etc/rc.local

Modprobe ip_conntrack Modprobe ip_conntrack_ftp Modprobe iptable_nat

Modprobe ip_nat_ftp

Trang 35

Port Based Security(tt)

Bảo vệ HDH:

Thay đổi trong file /etc/sysctl.conf Net/ipv4/conf/all/rp_filter = 1 Net/ipv4/conf/all/log_martians = 1 Net/ipv4/conf/all/send_redirects = 0 Net/ipv4/conf/all/accept_source_route = 0 Net/ipv4/conf/all/accept_redirects = 0

Net/ipv4/tcp_syncookies = 1 Net/ipv4/icmp_echo_ignore_broadcasts = 1 Net/ipv4/ip_forward = 1

Trang 36

Port Based Security(tt)

Khắc phục sự cố trên iptables:

Để cho phép iptables ghi log vào file /var/log/message ta định nghĩa chain cho iptables như sau:

iptables -A OUTPUT -j LOG iptables -A INPUT -j LOG iptables -A FORWARD -j LOG iptables -A OUTPUT -j DROP iptables -A INPUT -j DROP iptables -A FORWARD -j DROP

Chú ý: Khi ta thay đổi cấu hình trên iptables thì ta dùng lệnh

#service iptables save để save lại thay đổi và khởi động lại iptables

#service iptables restart

Trang 37

Câu hỏi ôn tập

Trình bày các đặc điểm chính của squid proxy.

Giải thích các thông số cấu hình squid proxy.

Phân biệt cơ chế cache và transparent

Triển khai và cấu hình dịch vụ proxy.

Giải thích các thông số cấu hình iptables.

Các bước triển khai và cấu hình iptables.

Viết các rule cho các dịch vụ thông dụng: www,ftp,smtp,…

Trang 38

HỎI - ĐÁP

Ngày đăng: 19/11/2014, 09:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w