Luận văn nghiên cứu với mục tiêu đề xuất giải pháp cài đặt và cấu hình mạng doanh nghiệp sử dụng mã nguồn mở để hỗ trợ giải quyết những khó khăn trong công việc. Mời các bạn cùng tham khảo luận văn để nắm chi tiết nội dung nghiên cứu.
BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC KINH TẾ KĨ THUẬT CƠNG NGHIỆP LUẬN VĂN TỐT NGHIỆP TÊN ĐỀ TÀI LUẬN VĂN : XÂY DỰNG HỆ THỐNG MẠNG DOANH NGHIỆP SỬ DỤNG MÃ NGUỒN MỞ Ngành đào tạo : Cơng nghệ thơng tin Mã số ngành : 7480201 Họ và tên sinh viên : VŨ ANH NGỌC Người hướng dẫn luận văn tốt nghiệp : THS . TRẦN QUỐC HỒN Hà Nội – 2020 BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC KINH TẾ KĨ THUẬT CƠNG NGHIỆP LUẬN VĂN TỐT NGHIỆP TÊN ĐỀ TÀI LUẬN VĂN : XÂY DỰNG HỆ THỐNG MẠNG DOANH NGHIỆP SỬ DỤNG MÃ NGUỒN MỞ Ngành đào tạo : Cơng nghệ thơng tin Mã số ngành : 7480201 Họ và tên sinh viên : VŨ ANH NGỌC Người hướng dẫn luận văn tốt nghiệp : THS . TRẦN QUỐC HOÀN Hà Nội – 2020 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………….… …………………………………………………………………………… ……… ……………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… …………… ………………………………………………………………… Hà Nội , Ngày … tháng … năm … GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Hà Nội , Ngày … tháng … năm … GIÁO VIÊN PHẢN BIỆN NHẬN XÉT CỦA HỘI ĐỒNG ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Hà Nội , Ngày … tháng … năm … CHỦ TỊCH HỘI ĐỒNG LỜI CAM ĐOAN Tơi xin cam đoan luận văn này là cơng trình nghiên cứu của cá nhân tơi, được thực hiện dưới sự hướng dẫn của thạc sĩ Trần Quốc Hồn. Các số liệu, những kết luận nghiên cứu được trình bày trong luận văn này hồn tồn trung thực. Các tài liệu tham khảo sử dụng được trích dẫn và ghi rõ nguồn gốc trong phần tài liệu tham khảo. Tơi xin hồn tồn chịu trách nhiệm về lời cam đoan này Hà Nội , Ngày … tháng … năm … NGƯỜI CAM ĐOAN Vũ Anh Ngọc LỜI CẢM ƠN Chúng em xin được gửi lời cảm ơn trân trọng và sâu sắc nhất tới giáo viên hướng dẫn Thầy Trần Quốc Hồn – người đã tận tình chỉ bảo, hướng dẫn, truyền đạt kiến thức chúng em trong suốt q trình nghiên cứu thực hiện đề tài này. Trong q trình học tập, triển khai nghiên cứu đề tài và những gì đạt được hơm nay, chúng em khơng thể qn được cơng lao giảng dạy và hướng dẫn của các Thầy, Cơ trường Đại học Kinh tế Kĩ thuật Cơng nghiệp Hà Nội , đặc biệt là các Thầy, Cơ khoa Cơng nghệ thông tin trường Đại học Kinh tế Kĩ thuật Công nghiệp Hà Nội. Xin được cảm ơn bạn bè đã luôn bên chúng em, giúp đỡ và tạo điều kiện thuận lợi cho chúng em được học tập, nghiên cứu, hồn thành đề tài. Hà Nội , Ngày … tháng … năm … SINH VIÊN THỰC HIỆN Vũ Anh Ngọc MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC CÁC TỪ VIẾT TẮT DNS: Domain Name System DHCP: Dynamic Host Configuration Protocol SSH: Secure Shell LDAP: Lightweight Directory Access Protocol NFS: Network File System UDP: User Datagram Protocol TCP: Transmission Control Protocol SMTP: Simple Mail Transfer Protocol POP: Post Office Protocol IMAP: Internet Message Access Protocol FTP: File Transfer Protocol VPN: Virtual Private Network IDS: Intrusion detection system IPS: Intrusion prevention systems Bắt đầu thư mục PKI và xây dựng khóa CA bằng câu lệnh : /easyrsa initpki /easyrsa buildca nopass xây dựng khóa máy chủ và chúng tơi sẽ xây dựng khóa máy chủ có tên ‘ ‘server1’ . Xây dựng khóa máy chủ ‘server1’ bằng lệnh bên + nopass = tùy chọn vơ hiệu hóa mật khẩu cho khóa 'server1' 81 Cần xây dựng các khóa cho khách hàng. Chúng tơi sẽ tạo khóa khách hàng mới có tên 'client1'. Tạo khóa 'client1' bằng lệnh bên 82 Ký khóa 'server1' bằng chứng chỉ CA Ký khố client1 bằng chứng chỉ CA : Chỉnh sửa file vi /etc/openvpn/server.conf 83 + Dòng 78 : ca /usr/share/easyrsa/3.0.7/pki/ca.crt + Dòng 79 : cert /usr/share/easyrsa/3.0.7/pki/issued/server1.crt + Dòng 80 : key /usr/share/easyrsa/3.0.7/pki/private/server1.key # This file should be kept secret + Dòng 85 : dh /usr/share/easyrsa/3.0.7/pki/dh.pem + Dòng 200 : sửa thành push "dhcpoption DNS 8.8.8.8" + Dòng 201 : sửa push "dhcpoption DNS 8.8.3.4" + Dòng 274 : uncomment user nobody +Dòng 275 : uncomment group nobody Đóng và lưu file lại Tạo khóa DiffieHellman cần thiết để bảo mật tốt Và chúng tơi sẽ tạo khóa DH '2048' dựa trên tệp cấu hình 'vars' đã tạo Tạo khóa DiffieHellman lệnh bên 84 Kích hoạt port forwarding + Sửa file : vi /etc/sysctl.conf Thêm vào phần cuối: net.ipv3.ip_forward = 1 Cho phép tưởng lửa chạy Openvpn Copy và đổi tên file # cp /etc/openvpn/server.conf /etc/openvpn/service.conf Khởi động dịch vụ OpenVPN và cho phép chạy cùng hệ thống # systemctl start openvpn@server # systemctl enable openvpn@server Kiểm tra 85 # systemctl status openvpn@server Hình 3.12 : Cài đặt thành cơng Openvpn Server 3.8. IDSIPS 3.8.1. Giới thiệu IDS Là một thiết bị hay software có khả năng theo dõi các gói tin xảy ra trên hệ thống mạng để phát hiện ra các hoạt động xâm nhập vào hệ thống dựa vào các rules đã đề ra. Hệ thống IDS sẽ thu thập thơng tin từ nhiều nguồn trong hệ thống, sau đó phân tích thơng tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép. Khi một hệ thống có khả năng ngăn chặn những xâm nhập mà nó phát hiện thì được gọi là một hệ thống phòng chống xâm nhập hay IPS. Sự khác nhau giữa IDS và IPS + Các hệ thống IDS được thiết kế nhằm phát hiện và cảnh báo các xâm nhập trái phép. Trong khi đó một hệ thống IPS ngồi khả năng phát hiện còn có thể tự động chống lại các nguy cơ xâm nhập này theo các quy định đã được thiết lập của nhà quản trị. 86 + Tuy nhiên trong thực tế sự khác biệt này khơng thật rõ ràng. Các hệ thống IDS cũng được thiết lập chức năng ngăn chặn như một chức năng tùy chọn, còn hệ thống IPS lại khơng mang chức năng phòng chống theo đúng nghĩa + Dựa vào mơ hình, tính chất từng mạng cụ thể và các chính sách an ninh để người ta chọn giữa IDS hay IPS. Thơng thường, với mạng nhỏ ngưởi ta chọn IPS do tích hợp các tính chất vừa phát hiện vừa ngăn chặn, với quy mơ mạng lớn, các chức năng phát hiện và ngăn chặn sẽ được tách riêng cho từng máy. Ngăn chặn sẽ được giao cho firewall. Sự phân chia trách nhiệm sẽ an ninh hơn và linh động hơn 3.8.1.1. Phân loại IDS/IPS Người ta dựa vào đặc điểm của nguồn dữ liệu thu được để phân chia IDS (cũng như IPS) thành các loại: Hostbased IDS (HIDS): sử dụng dữ liệu kiểm tra từ một máy trạm đơn. + NIDS thường có 2 thành phần: Bộ cảm biến sensor: đặt tại một đoạn mạng. Trạm quản lý: nhận các tín hiệu từ bộ cảm biến và thơng báo cho người quản trị + Ưu điểm Chi phí thấp: chỉ cần cài đặt NIDS ở những vị trí trọng yếu có thể giám sát tồn lưu lượng mạng. Phát hiện các tấn cơng mà HIDS bỏ qua. NIDS kiểm tra header của tất cả gói tin vì thế nó khơng bỏ sót các dấu hiệu khả nghi nào Khó xóa bỏ dấu vết. Các file log có thể bị hacker xóa bỏ gây khó khăn cho HIDS, nhưng NIDS sử dụng lưu thơng hiện hành nên kẻ đột nhập khơng thể xóa được dấu vết. Phát hiện và đối phó kịp thởi. NIDS phát hiện tấn cơng ngay nên cảnh báo và ngăn chặn sẽ nhanh hơn. Có tính độc lập cao: lỗi hệ thống khơng ảnh hưởng đến các sensor trên mạng + Nhược điểm: 87 Bị hạn chế bởi switch. Switch chia hệ thống mạng thành nhiều nhánh khác nhau, gây khó khăn cho NIDS thu thập dữ liệu. Do NIDS chỉ kiểm tra các đoạn mạng nối trực tiếp với nó Hạn chế về hiệu suất: NIDS gặp khó khi phải xử lý tất cả các gói tin trên mạng diện rộng hoặc mật độ lưu thơng cao. Tăng thơng lượng mạng: với một gói tin sẽ sinh ra một lượng lớn tải phân tích Gặp khó khăn trong các cuộc tấn cơng có mã hóa NIDS gặp khó khăn với các gói tin phân mảnh, làm cho NIDS hoạt động sai hoặc đổ vỡ. Networkbased IDS (NIDS): sử dụng dữ liệu trên tồn bộ lưu thơng mạng, cùng với dữ liệu lấy từ một vài máy trạm để phát hiện xâm nhập + Tìm kiếm sự xâm nhập từ một máy cục bộ. Nó thường kiểm tra, tìm kiếm các hoạt động bất thường như login, truy nhập file khơng thích hợp, leo thang các đặc quyền khơng được chấp nhận. Ví dụ: đặc quyền của người sử dụng cao cấp được thực hiện thơng qua lệnh su user, như vậy những cố gắng liên tục để login vào tài khoản root được xem như là một tấn cơng + Ưu điểm: Xác định được kết quả của tấn cơng: có thể biết được kết quả tấn cơng hay thất bại cao hơn NIDS. Do đó, có thể kết hợp với NIDS bổ sung thơng tin tiếp theo khi cuộc tấn cơng xảy ra. Giám sát được các hoạt động của hệ thống. HIDS có thể giám sát các hoạt động mà NIDS khơng làm đươc như truy nhập file, thay đổi quyền, Phát hiện các xâm nhập mà NIDS bỏ qua như kẻ xâm nhập sử dụng bàn phím truy nhập Việc chuyển mạch và mã hóa trên mạng khơng ảnh hưởng đến HIDS Khơng u cầu thêm phần cứng. + Nhược điểm: Khó quản trị: Các HIDS phải được cài đặt trên tất cả các máy muốn bảo vệ 88 Thơng tin nguồn khơng an tồn: HIDS phải tin vào nhật ký và mức độ an tồn của sererver. Hệ thống HIDS tương đối đắt. Chiếm tài ngun hệ thống 3.8.1.2. Cơ chế hoạt động của hệ thống IDS/IPS Có 2 cách tiếp cận đối với việc phát hiện xâm nhập là: + Phát hiện sự lạm dụng: hệ thống sẽ so sánh hành động với các kỹ thuật xâm nhập đã biết trước hoặc các điểm dễ bị tấn cơng của hệ thống để phát hiện sự xâm nhập + Phát hiện sự bất thường: hệ thống sẽ tìm kiếm các hành động khác với các hành vi thơng thường của người dùng hoặc của hệ thống 3.13.1.3. Snort Snort là phần mềm IDS mã nguồn mở, được phát triển bởi Martin Roesh. Snort đầu tiên được xây dựng trên nền UNIIX sau đó được phát triển sang các nền tảng khác. Snort được đánh giá là IDS mã nguồn mở đáng chú ý nhất với tính năng rất mạnh. Với kiến trúc thiết kế theo module, người dùng có thể tự tăng cường tính năng cho hệ thống snort của mình bằng việc thêm các module mới. Cơ sở dữ liệu luật của snort đã lên đến 2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng. Khi snort hoạt động nó sẽ thực hiện việc lắng nghe và bắt giữ các gói tin. Các gói tin này sẽ được đưa vào module giải mã gói tin. Tiếp theo sẽ đưa vào module tiền xử lý nhằm kết hợp các gói tin đã phân mảnh, giải mã và chuẩn hóa giao thức các dịch vụ, phát hiện các xâm nhập bất thường. Sau khi tiền xử lý, gói tin sẽ đưa vào module phát hiện, module này dựa vào các luật được định nghĩa sẵn để phát hiện ra xâm nhập. Nếu khơng phát hiện xâm nhập sẽ cho gói tin đi qua, nếu có sẽ đưa gói tin vào module log và cảnh báo để xử lý. Khi các cảnh báo được xác định, module kết xuất thơng tin sẽ đưa ra các cảnh báo theo đúng định dạng mong muốn 3.8.2. Cài đặt và cấu hình snort 3.8.2.1. Update và cài đặt một số gói cần thiết # yum update y # yum install epelrelease –y 89 # yum install y gcc flex bison zlib libpcap pcre libdnet tcpdump # yum install y epelrelease # yum install y libnghttp2 + Kiểm tra libdnet có thể truy cập bằng cách tạo liên kết: # ln s /usr/lib64/libdnet.so.1.0.1 /lib64/libdnet.1 3.8.2.2. Cài đặt Snort Cài đặt bằng lệnh yum, lên trang chủ snort.org, kéo xuống dưới chọn Centos, copy link về để cài đặt: Hình 3.13 : Link trên trang chủ snort.org 3.8.2.3. Cấu hình Snort ở chế độ NIDS # ldconfig + Tạo các thư mục sau: # mkdir p /etc/snort/rules # mkdir /var/log/snort # mkdir /usr/local/lib/snort_dynamicrules + Cấp quyền cho các thư mục đó # chmod R 5775 /etc/snort # chmod R 5775 /var/log/snort # chmod R 5775 /usr/local/lib/snort_dynamicrules # chown R snort:snort /etc/snort # chown R snort:snort /var/log/snort # chown R snort:snort /usr/local/lib/snort_dynamicrules + Tạo các tệp mới cho danh sách trắng và đen cũng như các quy tắc cục bộ: # touch /etc/snort/rules/white_list.rules 90 # touch /etc/snort/rules/black_list.rules # touch /etc/snort/rules/local.rules # touch /var/log/snort/snort.log # sed i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf + Chỉnh sửa file snort.conf để thay đổi một vài thơng số: # vi /etc/snort/snort.conf + Tìm và chỉnh sửa các dòng như sau : Tìm dòng sau sửa IP lớp mạng bạn muốn nhận thơng tin xâm nhập # Setup the network addresses you are protecting ipvar HOME_NET /32 # Set up the external network addresses Leave as "any" in most situations ipvar EXTERNAL_NET !$HOME_NET # Path to your rules files (this can be a relative path) var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules # Set the absolute path appropriately var WHITE_LIST_PATH /etc/snort/rules var BLACK_LIST_PATH /etc/snort/rules # unified2 # Recommended for most installs output unified2: filename snort.log, limit 128 Kéo xuống dưới bỏ dấu # của dòng sau: include $RULE_PATH/local.rules + Sau khi chỉnh sửa xong thì lưu lại + Kiểm tra snort xem có lỗi khơng: snort T c /etc/snort/snort.conf 91 Kết quả nhận được: Hình 3.14 : Hiển thị cài đặt và cấu hình thành cơng Snort 3.8.2.4. Thử nghiệm Để kiểm tra xem Snort có ghi nhật ký cảnh báo như dự định hay khơng, hãy thêm cảnh báo quy tắc phát hiện tùy chỉnh trên các kết nối ICMP đến vào tệp local.rules: # vi /etc/snort/rules/local.rules Thêm dòng sau: alert icmp any any > $HOME_NET any (msg:"Phat hien ping"; sid:10000001; rev:001;) Bắt đầu Snort với tùy chọn A console để in cảnh báo ra thiết bị. Cần chọn giao diện mạng chính xác với địa chỉ IP của máy chủ, ví dụ: ens33 snort A console i ens33 u snort g snort c /etc/snort/snort.conf 92 3.8.2.3. Cấu hình chặn gói + Mở cấu hình snort inline mode trong snort.conf: # vim /etc/snort/snort.conf “## Under Step #2:” Thêm dòng sau: config policy_mode:inline + Cấu hình giá trị biến DAQ để chạy AFPacket trong inline (IPS) mode: “## Configure DAQ variables for AFPacket” config daq: afpacket config daq_mode: inline config daq_dir: /usr/local/lib/daq config daq_var: buffer_size_mb=128 Lưu cấu hình. Thêm rule chặn ping và kiểm tra: drop icmp any any > any any (itype:0;msg:">Da chan Ping !";gid:1000002;sid:1000002;rev:1;) # snort i ens33:ens37 A console c /etc/snort/snort.conf l /var/log/snort/ Q 93 KẾT LUẬN HƯỚNG PHÁT TRIỂN 1. Tổng kết những cơng việc đã làm Tìm hiểu kiến trúc mạng doanh nghiệp. Đề xuất mơ hình mạng cho doanh nghiệp. Tìm hiểu, cài đặt và cấu hình các dịch vụ mạng cơ bản trên sơ đồ đã đề xuất. 2. Kết quả đạt được: Nắm được lý thuyết cơ bản về kiến trúc mạng doanh nghiệp. Cài đặt và cấu hình cơ bản cho các dịch vụ DNS, LDAP, DHCP, SAMBA, NFS, Web server, Mail server, FTP server, Firewall, IDS/IPS, SSH, Telnet, Proxy, VPN trên mơ hình đã đề xuất. 3. Hướng phát triển Cài đặt thêm một số dịch vụ khác như: Syslog, VNC, NTP, Storage server,… Tìm hiểu sâu hơn và thiết lập security cho các dịch vụ. Cấu hình chứng thực openldap cho các dịch vụ cần thiết như apache, mail, vsftp, squid, vpn 94 TÀI LIỆU THAM KHẢO [1] Linux for Beginners Jason Cannon , 2014 [2] Mastering CentOS 7 Linux Server Packt Publishing, January 2016 [3] CentOS Bible Wiley & Sons August 2009 [4] Giáo trình Quản Trị Hệ Thống Linux 1,2 Cơng ty ISE [5] Quản Trị Mạng Linux 2 Trung tâm Khoa Học Tự Nhiên [6] Website Server World site https://www.serverworld.info/en/ [7] Tài liệu tham khảo : https://docs.google.com/document/d/1G_94MJ2EAQaIArBKAIM2lr7ZJY QBOTe/edit [8] DNS and BIND, 3trd Edition Paul Albitz and Cricket Liu, 09/1998 [9] Firewalls and Internet Security: Repelling the Wily Hacker, Steven M. Bellovin, 01/2003 [10] Website An Ninh Mạng site anninhmang.edu.vn [11] CCSP Cisco Secure PIX Firewall Advanced Exam Certification Guide, Greg Bastien and Christian Degu, 01/2003 [12] Cisco WEB site http://www.cisco.com Technologies 95 ... TRƯỜNG ĐẠI HỌC KINH TẾ KĨ THUẬT CƠNG NGHIỆP LUẬN VĂN TỐT NGHIỆP TÊN ĐỀ TÀI LUẬN VĂN : XÂY DỰNG HỆ THỐNG MẠNG DOANH NGHIỆP SỬ DỤNG MÃ NGUỒN MỞ Ngành đào tạo : Cơng nghệ thơng tin Mã số ngành : 7480201 Họ và tên sinh viên : VŨ ANH NGỌC... 1.3. GIỚI HẠN ĐỀ TÀI Đề tài Xây dựng hệ thống mạng doanh nghiệp sử dụng mã nguồn mở được nhóm chúng tơi lựa chọn để thực hiện khóa luận Để xây dựng được mơ hình mạng doanh nghiệp chạy ổn định và an ... xuất giải pháp cài đặt và cấu hình mạng doanh nghiệp sử dụng mã nguồn mở để hỗ trợ giải quyết những khó khăn trên. Bố cục bài luận văn được chia thành: Chương 1: Tổng quan về hệ thống mạng doanh nghiệp Đưa ra lý do chọn đề