Triển khai, thực nghiệm và đánh giá

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Cơ chế phòng thủ di chuyển mục tiêu và điều tra mạng cho SDN (Trang 72 - 106)

4.1. Mô hình triển khai

Trién khai 2 máy ao gia lập băng vSphere, câu hình và cai đặt các công cụ như sau:

UBUNTU 2 UBUNTU 4

Hình 4.1: Mô hình triển khai

Máy Ubuntu 2

Chức năng Triên khai mô hình mạng SDN, cai đặt Docker,

Zabbix server, MySQL server, httpd, Apache2, php,

java. Gia lap 2 host End-Users Docker container. Cai

đặt OpenvSwitch. Chứa bộ điều khiển RYU controller. IDS Snort phát hiện tấn công.

Câu hình 2 CPU, 4GB RAM, 64GB disk

Hệ điều hành Ubuntu 18.04

48

Ubuntu 4

Chức nang Trién khai mô hình mang SDN, cai dat Docker. Cài

dat switch Open vSwitch

Cấu hình 2 CPU, 4GB RAM, 64GB disk

Hệ điều hành Ubuntu 18.04

Các host End-Users

Chức nang Các host là các Docker container, trên mỗi container

cài đặt Zabbix Agent,

Cau hình Sử dụng chung tài nguyên chung với máy vật lý

Hệ điều hành Ubuntu 18.04

Trong mô hình, OpenvSwitch đóng vai trò là bộ chuyển đổi, Ryu làm bộ điều khiển

trong môi trường mạng SDN và 2 máy vật lý câu hình giống nhau: 2 Cpu, RAM 4GB

với hệ điều hành Ubuntu 18.04. Ubuntu 2 sử dung dịch web chạy giao diện quan lý

của Zabbix server.

49

4.2. Cài đặt môi trường

4.2.1. RYU controller

$ apt install gcc python-dev libffi-dev libssl-dev libxm12-dev libxslt1-dev zlib1g-dev

$ git clone https://github.com/faucetsdn/ryu.git

$ git clone https://github.com/faucetsdn/ryu.git

Deep packet

(3) inspection

Alert

-——————==== IDS(Snort)

snort

control app

Ryu

(2)

” = ơ

OpenFlow switch

~ Í (1) L1~L4

matching

Hình 4.2: Vai trò cua RYU controller trong mô hình

ryu 4.34

Hình 4.3: Kiểm tra phiên ban RYU controller cài đặt thành công

4.2.2. Docker container

e Cài dat Docker trên cả 2 máy Ubuntu 2 va Ubuntu 4

$ sudo apt-get update

$ sudo apt-get install \

apt-transport-https \ ca-certificates \

curl \ gnupg-agent \ software-properties-common

50

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add —

$ sudo apt-key fingerprint OEBFCD88

$ sudo add-apt-repository \

"deb [arch=amd64] https://download.docker.com/linux/ubuntu \

$(sb_ release -cs) \

stable"

$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

$ sudo systemctl status docker

e Kiém tra ban cai dat cua Docker trén may:

:~$ docker --version

Docker version 19.03.13, build 4484c46d9d

:~$ []

Hinh 4.4: Phién ban cai dat cua Docker trén ca 2 may

e Tạo trên mỗi máy 2 Docker container từ image 22101998/khangvu chứa dich

vu Zabbix-agent

5 :~$ docker image ls

i REPOSITORY TAG IMAGE ID CREATED

De 21e155e/khanoDi hostdebiansdn e9b769c6323e 2 months ago

stretch c4ccba324c9c 2 months ago latest 1510e8501783 2 months ago

latest 9140108b62dc 3 months ago

latest fce289e99eb9 24 months ago

Hình 4.6: 2 container được tao tir image trên máy Ubuntu 4 4.2.3. Cai dat OpenvSwitch

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

$ sudo apt-get install openvswitch-switch

51

DB Schema 7.15.1

“al

Hình 4.7: Kiểm tra phiên ban OpenvSwitch đã cài

Câu lệnh hién thị cấu hình của OpenvSwitch có trong database.

$ ovs-vsctl show

:~§ sudo ovs-vsctL show [sudo] password for susu:

9329f679-6c8b-48fb-8b2a-bô7c5e3c7854

Bridge "sdn_br9"

Controller ”tcp:19. 102.196. 1094:6633”

is_connected: true Port "gree"

Interface "gree"

type: gre options: {remote_ip="10.102.196.104"}

Port "5c552033f02f4_1L"

Interface "5c552033f02f4_1"

Port "d19a2719869a4_L"

Interface "d19a2719869a4_1"

Port "sdn_bro"

Interface "sdn_br@"

type: internal Bridge tun_br

Port "tepo”

Interface "tepo"

type: internal Port tun_br

Interface tun_br

type: internal ovs_version: "2.9.5"

Hình 4.8: Nội dung cau hình của OpenvSwitch

4.2.4. Cài đặt Zabbix

Zabbix gồm ba thành phần chính: Zabbix-server, Zabbix-agent và Zabbix proxy.

e Zabbix-server được cài đặt và cấu hình tại máy Ubuntu 2.

$ wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-

release/zabbix-release_3.4-1+xenial_all.deb

$ apt-get update

$ apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent zabbix-get

zabbix-sender snmp snmpd snmp-mibs-downloader php7.0-bcmath php7.0-xml

php7.0-mbstring

52

Tạo database và truy cập database

$ mysql -u root -p

$ create database zabbix character set utf8 collate utf8_bin

$ grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’

Kiểm tra dich vu Zabbix-server được cai đặt thành công trên máy Ubuntu2.

:~$ /etc/tntt.d/zabbtx-server status zabbix-server.service - Zabbtx Server

Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled) Active: since Thu 2020-12-17 22:18:49 +07; 1 weeks 3 days ago

Main PID: 29301 (zabbix_server)

Tasks: 34 (limit: 4667) CGroup: /system.slice/zabbix-server.service

29301 /usr/sbtn/zabbtx_server -c /etc/zabbix/zabbix_server.conf

29328 /usr/sbin/zabbix_server: configuration syncer [synced conf..

29331 /usr/sbin/zabbix_server: housekeeper [deleted 3206 hist/tr

29332 /usr/sbin/zabbix_server: timer #1 [updated 6 hosts, suppre..

29333 /usr/sbin/zabbix_server: http poller #1 [got 6 values in 6...

29334 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules ..

29335 /usr/sbin/zabbix_server: history syncer #1 [processed 1 va..

29336 /usr/sbin/zabbix_server: history syncer #2 [processed © va..

29337 /usr/sbin/zabbix_server: history syncer #3 [processed 0 va...

29338 /usr/sbin/zabbix_server: history syncer #4 [processed © va..

29339 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalat...

29340 /usr/sbtn/zabbtx_server: proxy poller #1 [exchanged data w..

29341 /usr/sbin/zabbi: : self-monitoring [processed data i

29342 sbin/z i task manager [proc

`. 4 nall nna Pant ols

Hình 4.9: Trạng thái hoạt động của Zabbix-server

€ ce & 10.102.196.104/zabbix/zabbix.phpzaction= s .. ( +mO® #=

Fitter Y

Show | Recent problems History Host inventory | Type Mi Remove

= Add

Host groups Select

Equa Remove

Application Select

Add

Show tags | None | 1 | 2 [EM Tag name SE Shortened | None

Tag display priority

Triggers o Select

Problem

Minimum severty [Not cassited "|

Aeik=im cays

Compact vw show tnetne [2

show deais ma.

‘Show latest values

L2 |

Time ¥ Severity Host Problem

14:02:58 s ‘Dsaster host 192.168.10.12 Zabbix agent on host 192.168.10.12 is unreachable for 2 minutes 9m 28s No

14025 + rest 182 1891022 23h ages on host 192 1681022 uneachaile for 2 minutes se No

14:02:45 + host 192.168.10.11 Zabbix agent on host 192.168.10.11 is unreachable for 2 minutes 9m 41s No

14:02:41 $ Dgaser host 192 168.10.21 Zabbix agent on host 192.168.10.21 is unreachable for 2 minutes 9m 45s No

Hinh 4.10: Giao dién web cua Zabbix-server

e Cài đặt Zabbix-agent trên mỗi Docker container. Trên mỗi máy ubuntu có hai

Docker container đóng vai trò là End-Users, các container này được xây dung

từ image 22101998/khangvu, image được xây dựng va đưa lên Docker Hub, điêu này giúp cho việc mỗi lân cân cài đặt một container chưa dịch vụ Zabbix-

53

agent thì quan trị viên sẽ kéo image từ Hub về và tạo mới một container dễ dàng. Imgae 22101998/khangvu chứa các dịch vụ, cau hình và cái gói cài đặt

cân thiệt đê phụ vụ cho việc triên khai mô hình.

Hình 4.11: Image chứa Zabbix-agent

e Kiêm tra dich vụ Zabbix-agent trên các container

AINER_ID ND CREAT

ceebf47e ' 11

e Kiểm tra cấu hình container Zabbix-agent dé dịch vụ này trỏ về Zabbix

server. Đường dan file cau hình /etc/zabbix/zabbix-agent.conf

r IPv6 addresses are optional.

cks are disable

### Option: Hostname

Unique, case sensitive hostname.

Required for active checks and must match hostname as configured on the server.

Value is acquired from HostnameItem if undefined.

lostnane=host4

Hình 4.13: Container Zabbix-agent trỏ vé dia chi IP cua Zabbix-server

4.2.5. Snort

Cai dat:

- daq-2.0.6.tar.gz:

# weet -c https://www.snort.org/downloads/archive/snort/daq-2.0.6.tar.gz

# tar -xzf /home/susu/Downloads/daq-2.0.6.tar.gz

# cd daq-2.0.6

54

# apt-get install bison flex

# /configure

Build AFPacket DAQ module.. : yes Build Dump DAO) module... : yes

Build IPFW DAQ module... : yes

Build IPQ DAQ module... :no Build NFQ DAO) module... : no Build PCAP DAO module... : yes

Build netmap DAQ module.... : no

pc16:/usr/local/src/daq-2.0.6 #

Hình 4.14: Cau hình thành công

$ make

make[2]: Leaving directory '/usr/local/src/daq-2.0.6/os-daq-modules' make[2]: Entering directory '/usr/local/src/daq-2.0.6'

make[2]: Leaving directory '/usr/local/src/daq-2.0.6' make[1]: Leaving directory '/usr/local/src/daq-2.0.6' pc16:/usr/local/src/daq-2.0.6 #

Hình 4.15: Make thành công

$ make install

make[2]: Entering directory '/usr/local/src/daq-2.0.6'

make[2]: Nothing to be done for 'install-exec-am'.

make[2]: Nothing to be done for 'install-data-am.

make[2]: Leaving directory '/usr/local/src/daq-2.0.6' make[1]: Leaving directory '/usr/local/src/daq-2.0.6'

pc16:/usr/local/src/daq-2.0.6 #

Hình 4.16: Cai đặt thành công

55

- snort-2.9.9.0.tar.gz:

$ wget -c https://www.snort.org/downloads/archive/snort/snort-2.9.9.0.tar.gz

$ tar -xzf /home/susu/Downloads/snort-2.9.9.0.tar.gz

$ cd snort-2.9.9.0.tar.gz

$ /configure --enable-sourcefire

$ make

$ make install

$ ldconfig

/ust/bin/mkdir -p '/usr/local/lib64/pkgcontfig' /usr/bin/install -c -m 644 snort.pc '/usr/local/lib64/pkgconfig' make[2]: Leaving directory '/usr/local/src/snort-2.9.9.0'

make[1]: Leaving directory /usr/local/src/snort-2.9.9.0 pc16:/usr/local/src/snort-2.9.9.0 #

Hình 4.17: Thực hiện cài dat thành công Kiêm tra lại snort:

root@susu-virtual-machine: /etc/snort# snort -V

-®> Snort! <*-

Version 2.9.9.0 GRE (Build 56)

By Martin Roesch & The Snort Team: http://www.snort.org/contact#team Copyright (C) 2614-2016 Cisco and/or its affiliates. All rights reser

Copyright (C) 1998-2613 Sourcefire, Inc., et al.

Using Libpcap version 1.8.1 Using PCRE version: 8.39 2016-06-14 Using ZLIB version: 1.2.11

Hình 4.18: Kiểm tra Snort đã được cài thành công

56

- Create rules folder and config snort.config:

$ cd /etc

$ mkdir /etc/snort

$ mkdir /etc/snort/preproc_rules

$ mkdir /etc/snort/rules

$ mkdir /var/log/snort

$ mkdir /usr/local/lib/snort_dynamicrules

$ touch /etc/snort/rules/white_list.rules

$ touch /etc/snort/rules/black_list.rules

$ touch /etc/snort/rules/local.rules

$ chmod -R 5775 /etc/snort/

$ chmod -R 5775 /var/log/snort/

$ chmod -R 5775 /usr/local/lib/snort

$ chmod -R 5775 /usr/local/lib/snort_dynamicrules/

$ cd /etc/snort/ && cp /home/susu/Desktop/snort-2.9.9.0/* . (Dấu cham cuối lệnh)

$ sed -i "s/include \SRULE\_PATH/#include \§RULE\A_PATH/" etc/snort/snort.conf

Edit lai file snort.conf:

$ nano /etc/snort/snort.conf

57

HOME_ NET: Lớp mạng mà bạn muốn bảo vệ.

pvar EXTERNAL_ NET any

ipvar DNS_SERVERS $HOME_ NET

Hình 4.19: Lớp mạng của các host được bảo vệ

x_PATH: Đường dẫn folder các rules.

RULE_PATH /etc/snort/rules SO_RULE_PATH /etc/snort/so_rules PREPROC_RULE_PATH /etc/snort/preproc_rules WHITE_LIST_PATH /etc/snort/rutes

BLACK_LIST_PATH /etc/snort/rules

Hình 4.20: Các tệp chứa cầu hình các rule của Snort

Include $RULE_PATH/<tén tệp rule muốn áp dung>

include $RULE_PATH/local.rules

58

4.3. Thực nghiệm

Y tưởng cốt lõi của mạng được xác định bang phan mềm (SDN) là trừu tượng hoá và tách rời mặt phẳng điều khiển và mặt phẳng chuyên tiếp dir liệu, giúp quản lý mạng

và mở rộng linh hoạt hơn. Câu trúc của SDN được chia thành bộ điều khiển tập cung

và thiết bị chuyên tiếp (vd: switch). Bộ điều khién chịu trách nhiệm về quan lý, điều khiến và cấu hình các thiết bị mạng sử dụng giao thức OpenFlow. Nó đưa ra các quy tắc luồng được tạo từ đó cho các thiết bị chuyển tiếp thông qua kênh an toàn, thiết bi chuyền tiếp duy trì bảng luồng và chuyên tiếp dữ liệu mạng theo quy luật dòng chảy.

Bộ chuyên tiếp nhận lệnh truy van do bộ điều khiến gửi dé báo cáo trạng thái mạng.

Công nghệ OpenFlow hiện là giao thức thực hiện thành công theo định hướng của

SDN. Trong bat kì triển khai SDN nào, bộ điều khiển luôn đóng vai trò cốt lõi chức năng trong hệ thống SDN va là phan dễ tồn thương nhất nên liên kết yếu nhất trong toàn bộ chuỗi bảo mật hệ thống SDN. Điểm yếu duy nhất là mối đe doạ bảo mật rất phổ biến đối với bộ điều khién tập trung. Nó có thể được gây ra bởi một số lượng các yếu tố bao gồm thiệt hai vật chất, sự cố đường truyền và một loạt các cuộc tan công.

Bộ điều khiến SDN là một tập hợp các bề mặt điều khiển. Đó là nhiều hướng dẫn giữa bộ điều khiến va switch. Trong trường hợp chuyền đổi nhận các gói tin ban dau,

nó sẽ chuyên tiếp các gói tin này đến bộ điều khiển. Trong môi trường phức tạp, tài nguyên băng thông hoặc tài nguyên máy tính của bộ điều khiến có thé trở thành điểm nút của hệ thống SDN. Đặc biệt trong chế độ OF_ONLY, switch phụ thuộc nhiều vào

bộ điều khiển, vì toàn bộ mang sẽ bị tê liệt khi bộ điều khiển bị hỏng.

Dé giải quyết van dé này, nghiên cứu đề xuất phương pháp bảo mật bộ điều khiển dựa trên phương thức phòng thủ di chuyên mục tiêu (MTD) với kỹ thuật Random Host Mutation (đột biến), áp dụng chiến lược dé triển khai trong bộ điều khiến có thé

mở rộng động trong cau trúc mang SDN. Ngay cả trong giai đoạn quét, thời gian phản hồi của các gói tin sẽ được thay đổi linh hoạt bởi chiến lược MTD. Quá trình thực

nghiệm của mô hình gồm: phân tích nguyên tắc của tan công DDoS trong mạng SDN,

trình bày phương thức và kỹ thuật của MTD trong mô hình, phương pháp phòng thủ MTD được thực nghiệm.

59

4.3.1. Phân tích nguyên tắc tấn công DDoS

Khi dùng OpenFlow, OpenvSwitch chuyền tiếp các gói tin phù hợp với quy tắc bảng luồng, trong đó, các gói mới hoặc gói bất thường không thé xử lý trong bảng luồng

sẽ được gửi đến bộ điều khiển. Khi những kẻ tan công có được thông tin cần thiết, kẻ tan công thực hiện tấn công có chủ đích với mục đích làm gián đoạn- từ chối dịch vụ DdoS. Chúng có thé chống lại bộ điều khiển trong SDN hoặc dung lượng lưu trữ của flow table trong OpenFlow. Bộ điều khiển bị tan công DDoS thông qua đường dây

liên lạc giữa bộ điều khiển (control plane) và mặt phăng dt liệu (data plane). Các cuộc tan công DDoS hướng một lượng lớn lưu lượng truy cập đến OpenFlow trên mặt phang dit liệu data plane. Nếu các gói đến switch không khớp với đầu vào luồng trong table flow, các gói được đưa vào bộ đệm luồng (flow buffer). Sau đó, chúng được truyền tới bộ điều khién với thống báo Packet-in dé viết một quy tắc mới. Trong tình huống này, các tài nguyên của bộ điều khiển (bộ nhớ, băng thông, bộ xử ly, ...) vẫn khống có khả năng và mạng bị tê liệt. Ngoài ra, băng thông của đường truyền giữa bộ điều khién bị tiếp xúc với lưu lượng tan công va OpenFlow bị ảnh hưởng. Do

đó, hiệu suất mạng giảm sút. Mặt phẳng dữ liệu bi tan công DdoS thông qua OpenFlow trong trong thiết bi mạng. Trong các cuộc tan công DDoS như vậy, các gói được gửi đến switch từ các nguồn không xác định. Người quan tri mang viết một quy tắc cho các gói đến này và chuyên tiếp chúng đến table flow của switch. Sau một lúc, công suất của flow table của switch trở nên đầy. Do đó, các quy tắc mới không thé được ghi vào flow table và các gói không thé được chuyên tiếp. Ngoài ra, các gói đến tự động bị drop vào dung lượng bộ đệm dẫn đến bị đầy bởi các tấn công. OpenFlow quản lý các gói chỉ với flow vào tự bộ điều khiển. DO đó, việc giảm các cuộc tan công DDoS trong SDN sẽ khó hơn khi so với mạng truyền thống.

4.3.2. Phương thức và kỹ thuật của MTD trong mô hình

Các hệ thống phòng thủ hiện tại bao gồm Firewall, IDS, IPS, WAF, ... đều áp dụng tĩnh các công nghệ phòng thủ thụ động, do đó, chúng không thê cung cấp bảo bệ an

ninh hiệu quả chông lại các cuộc tân công không xác định hoặc tức thời vào mạng.

60

Hau hết các hệ thống phòng thủ đều dành dé tăng khả năng phát hiện và ngăn chặn moi cuộc tan công. (Moving target defense - MTD) Di chuyên mục tiêu phòng thủ là một trong những thành tựu hoàn toàn khác với các chiến lược phòng thủ trước đây.

La một loại phòng thủ mới, MTD không tìm cách thiết lập hệ thống một cách hoàn hảo dé chống lại mọi cuộc tan công. Ý tưởng phòng thủ di chuyền mục tiêu là tiên

tục đánh lạc hướng hoặc thay đổi mục tiêu dé giảm khả năng bộc lộ lỗ hồng, điều

này sẽ làm tăng độ khó và chi phí của kẻ tấn công. Về bản chat, kỹ thuật phòng thủ

di chuyền mục tiêu thực hiện bảo vệ các đối tượng băng cách di chuyền, thay đổi

chúng. Phân tích khả năng SDN dé thực hiện MTD — What, How va When to move (cái gì, như thé nào, khi nào thi di chuyén?)

e_ What to move: Kỹ thuật đột biến máy chủ ngẫu nhiên dựa trên OpenFlow dé

chuyên đổi IP ảo (chuyền đổi cái gì). SDN sử dung giao thức OpenFlow dé kiểm soát lưu lượng ở mặt phẳng dữ liệu (data plane). Đề thay đôi địa chỉ IP với mức độ khó đoán trước trong khi vẫn giữ cau hình mạng ổn định và chi phí hoạt động tối thiêu. Địa chỉ IP biến đổi là minh bạch đối với các host. Các

địa chỉ IP thực được gọi là real-IP (rIP- Ip thực), được giữ nguyên, nhưng nó

được liên kết với một virtual-IP (vIP- IP ảo) tồn tai trong thời gian ngắn và vào một khoảng thời gian đều đặn. vIP được phân giải trước máy host. Quá trình rIP-vIP xảy ra tại gateway của mạng và bộ điều khiển tập trung SDN- RYU thực hiện biến đổi IP trên toàn mạng. OF-RHM (OpenFlow- Random Host Mutation) được thực hiện bằng cachs sử dụng trình mô phỏng mạng Mininet và bộ điều khién RYU SDN. OF-RHM có thé ngăn chặn tối đa các nỗ

lực thu thập thông tin và quét từ bên ngoài.

e How to move: Các cuộc tấn công DDoS là một mối đe doa bảo mật lớn đến

mạng. Kẻ tan công tận dung các bot dé tao nên một lượng lớn lưu lượng truy cập mạng va áp đảo các dịch vụ quan trọng. Dé giao tiếp với OpenFlow bằng southbound REST API, trong khi bất kì quyết định về mặt phăng ứng dụng

(application plane) va phân tích mạng vào được thực hiện bởi northbound

61

REST API. Snort IDS phát hiện các DDoS độc hại, phân tích các hành vi từ

các nút độc hai.

When to move: Tần suất tôi thiêu MTD. Phương pháp MTD tối thiêu tần suất xem xét tinh khả dụng của tài nguyên, QoS và xác suất khai thác dé thực hiện

MTD trong SDN:

Xác suất tần suất di chuyền tối ưu, đảm bao không lãng phí tài nguyên: thời gian cố định chuyền đổi IP là 10 phút/ lần.

Thời điểm ưu tiên của việc chuyên đôi mà không ảnh hưởng đến hiệu suất ứng dụng: ngay khi Zabbix server phát hiện ra có tan công hoặc sự cô xảy ra

1.Random Timer

2, Random IP Addresses Mutation `”

sre: TẾ are: vl dst: v1 dst: T2

Appli¢ation

Execution S$

Host1

Hình 4.22: Cầu trúc MTD thực hiện chiến lược IP Mutation

62

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Cơ chế phòng thủ di chuyển mục tiêu và điều tra mạng cho SDN (Trang 72 - 106)

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

(106 trang)