Lỗi unable to locate package libapache2-mod-php5

  • 1. BẢO MẬT LINUX SERVER GVHD: Nguyễn Hữu Hiếu Lớp L03 STT Họ tên MSSV 1 Huỳnh Hồng Hiển 1411239 2 Hồ Ngọc Sơn 1413289 3 Lê Xuân Hải 1411055 4 Hồ Quang Thanh 1413494
  • 2. An ninh mạng – Bài tập lớn 2 3 MỤC LỤC I. Tóm tắt .......................................................................................................................................................5 1. Đề tài 1: ..................................................................................................................................................5 2. Giới hạn..................................................................................................................................................5 II. Các chức năng của hệ thống.............................................................................................................6 1. Cài đặt đầu tiên trên server..............................................................................................................6 a) Tạo user mới:......................................................................................................................................6 b) Lấy IP của server:...............................................................................................................................6 c) Cài đặt OpenSSH cho server ............................................................................................................6 d) Cài đặt Apache2 .................................................................................................................................6 e) Cài đặt SSL ..........................................................................................................................................7 f) Cài đặt MySQL ....................................................................................................................................8 g) Cài đặt PHP5.......................................................................................................................................9 h) Cài đặt phpMyAdmin:......................................................................................................................10 i) Cài đặt GUI cho server ....................................................................................................................11 2. Firewall: Shorewall............................................................................................................................11 a) Cài đặt ShoreWall. ...........................................................................................................................11 b) Những file cấu hình cho shorewall................................................................................................14 c) Testing...............................................................................................................................................15 d) Applying Setting ..............................................................................................................................15 e) Auto update blacklist IP. .................................................................................................................16 3. Lọc web: DansGuardian ...................................................................................................................17 a) Cài đặt lọc web: DansGuardian .....................................................................................................17 b) Cấu hình DansGuardian .................................................................................................................17 c) Cấu hình Tinyproxy..........................................................................................................................18 d) Khởi động service ............................................................................................................................18 e) Những file cần cấu hình..................................................................................................................18 4. Antivirus: Clam Antivirus.................................................................................................................18
  • 3. An ninh mạng – Bài tập lớn 2 4 a) Cài đặt ClamAV.................................................................................................................................18 b) Chỉnh sửa file clamd.conf ...............................................................................................................19 c) Chỉnh sửa file freshclam.conf ........................................................................................................19 d) Mở clamav-daemon và khởi đông lại để cập nhật tùy chỉnh.....................................................20 e) Cập nhật cơ sở dữ liệu mới thủ công ............................................................................................20 f) Quét virus với lệnh: sudo clamdscan “đường dẫn file/thư mục”...............................................20 5. Quản trị: Webmin ..............................................................................................................................21 a) Thêm webmin repository ...............................................................................................................21 b) Cài đặt Webmin:...............................................................................................................................22 III. Tổng kết ...............................................................................................................................................23 IV. Phụ lục..................................................................................................................................................23
  • 4. An ninh mạng – Bài tập lớn 2 5 I. Tóm tắt 1. Đề tài 1: Trong bài tập lớn này, nhóm cần phải triển khai một hệ thống bức tường lửa với nhiều chức năng bổ sung. Nhóm có thể dùng các mã nguồn mở có trên web như Shorewall, Squid, SquidGuard, DansGuardian, ClamAV, Webmin,... Hệ thống của nhóm phải có các chức năng sau:  Firewall: bộ lọc gói có trạng thái, không giới hạn số lượng giao tiếp mạng, nhiều giao tiếp mạng trên một zone và nhiều zone trên một giao tiếp, quản lý địa chỉ linh động (NAT, PAT).  Lọc Web: chặn dựa trên URL/Keyword/Pharse, chặn Java Applet, Cookies, Active X.  Antivirus: Hỗ trợ lọc trên các giao thức HTTP/SMTP/POP3/IMAP/FTP/IM và cơ sở dữ liệu về virus được cập nhật tự động.  AntiSpam: Hỗ trợ lọc dựa trên Real-Time Blacklist/Open Relay Database Server, keyword/Phrase, IP Addresses Blacklist và cơ sở dữ liệu về các loại này được cập nhật tự động.  Quản trị: Thông qua Web. 2. Giới hạn Trong giới hạn đề tài, báo cáo này xin được trình bày về tác dụng, cách cài đặt (có hình ảnh demo đi kèm) một số các công cụ mã nguồn mở đáp ứng được các chức năng trên cho một server chạy hệ điều hành Ubuntu Server. Tất cả các câu lệnh, thao tác trong báo cáo được thực hiện trên một máy chủ giả định cấu hình CPU 2 core, RAM 2 GB sử dụng Ubuntu Server phiên bản 16.04.
  • 5. An ninh mạng – Bài tập lớn 2 6 II. Các chức năng của hệ thống 1. Cài đặt đầu tiên trên server a) Tạo user mới: sudo adduser Trong trường hợp này: sudo adduser thanh Thêm user mới vào nhóm sudo (sudo group): sudo usermod –aG sudo thanh b) Lấy IP của server: ip route get 8.8.8.8 | awk '{print $NF; exit}' Server hiện tại có Internal IP: 192.168.242.133 c) Cài đặt OpenSSH cho server sudo apt-get install openssh-server d) Cài đặt Apache2 Cài đặt: sudo apt-get update
  • 6. An ninh mạng – Bài tập lớn 2 7 sudo apt-get install apache2 Sau khi cài thành công Apache2, ra ngoài trình duyệt ta kiểm tra bằng cách vào địa chỉ http://192.168.242.133/ Nếu cài đặt thành công nó hiển thị trang web “It works!” e) Cài đặt SSL Khởi động SSL Module: sudo a2enmod ssl Restart Apache: sudo service apache2 restart Tạo thư mục mới chứa server key và certificate: sudo mkdir /etc/apache2/ssl Tạo Self Signed SSL Certificate sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
  • 7. An ninh mạng – Bài tập lớn 2 8 Cài đặt Certificate sudo nano /etc/apache2/sites-available/default-ssl.conf Thêm và sửa các dòng sau ServerName demo.com:443 SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key Kích hoạt SSL sudo a2ensite default-ssl Restart Apache2 để mọi cài đặt được áp dụng sudo service apache2 reload f) Cài đặt MySQL Cài đặt: sudo apt‐get install mysql‐server php‐mysql Configuration: (Password cho root user là 123) Cấu hình bảo mật cho MySQL server: sudo mysql_secure_installation
  • 8. An ninh mạng – Bài tập lớn 2 9 Kiểm tra MySQL server: systemctl status mysql.service g) Cài đặt PHP5 sudo apt-get install php libapache2-mod-php php-mcrypt Để kiểm tra PHP và Apache có tương thích với nhau không, ta sẽ khởi động lại Apache bằng câu lệnh: sudo service apache2 restart Sau đó, tạo 1 file test.php: sudo nano /var/www/html/test.php với nội dụng như sau:
  • 9. An ninh mạng – Bài tập lớn 2 10
  • 10. An ninh mạng – Bài tập lớn 2 11 Include /etc/phpmyadmin/apache.conf Cuối cùng, khởi động lại Apache bằng lệnh: sudo service apache2 restart i) Cài đặt GUI cho server sudo apt‐get install ubuntu‐desktop 2. Firewall: Shorewall Mọi lưu thông mạng đều được gửi dạng packet. Một lượng lớn lưu thông được chia ra thành những phần nhỏ dễ xử lý và được tập hợp lại khi đến đích. Packet header của mọi packet chứa thông tin cách đến và nơi đến và thông tin này chính xác là những thông tin mà firewall cần dùng để phát huy tính năng của mình:  Cho phép hoặc không cho phép packet dựa trên địa chỉ IP nguồn/đích  Cho phép hoặc không cho phép packet dựa trên cổng nguồn/đích  Cho phép hoặc không cho phép packet dựa trên giao thức  Cho phép hoặc không cho phép packet dựa trên cờ hiệu của giao thức xác định Nói cách khác, firewall lọc theo thông tin trong header, không phải nội dung packet. Nhờ vậy firewall dễ cài đặt, đơn giản, có thể dự báo trước các nguồn tấn công nhưng lại không quét được các nội dung trong packet. Ở đây nhóm sử dụng Shorewall – tên đầy đủ là Shoreline Firewall, là một công cụ cấp cao cho phép tạo bộ lọc packet thông qua một số configuration file – để hiện thực firewall cho hệ thống. a) Cài đặt ShoreWall.
  • 11. An ninh mạng – Bài tập lớn 2 12  sudo apt-get install shorewall  Set IP_FORWARDING = Keep  IP_WORWARDING = On Trong file (/etc/shorewall/shorewall.conf)
  • 12. An ninh mạng – Bài tập lớn 2 13  Set Startup = 0  Starup = 1 Trong file (/etc/default/shorewall)
  • 13. An ninh mạng – Bài tập lớn 2 14 b) Những file cấu hình cho shorewall. Những file này chưa tồn tại, phải tạo mới và cấu hình chúng.  /etc/shorewall/interfaces Tại đây, chúng ta liên kết các interface với zone. Ta có thển có nhiều interface trên 1 zones. Và nhiều zones trên cùng 1 giao tiếp. Trong phần OPTIONS chúng ta có thể thêm vào các tùy chọn như : routefilter, tcpflags. Các tùy chọn này giúp lọc ra một số gói tin không hợp lệ và rác mà chúng ta thường thấy trên internet.  /etc/shorewall/zones Fw luôn luôn là LinuxShoreWall đang chạy, và hoàn toàn độc lập với interfaces, địa chỉ ip, hoặc các cài đặt mạng khác. Ở đây chúng ta đặt tên các zones và chỉ ra kiểu phiên bản IP.  /etc/shorewall/policy Mỗi dòng cấu hình trong file policy có nghĩa là: “Nếu một gói tin được gửi từ ___ đến ___ hãy ___ gói tin đó.”  /etc/shorewall/rules Mỗi dòng cấu hình trong file rules có thể hiểu là:
  • 14. An ninh mạng – Bài tập lớn 2 15 “___ gói tin nếu nó được gửi từ ___ đến ___ có giao thức là ___ đến cổng ___.”  /etc/shorewall/masq (NAT,PAT) File này cần thiết nếu bạn muốn shorewall box của mình trở thành bộ định tuyến. Về cơ bản, PAT cho phép router liên lạc giữa địa chỉ External IP (trong hình là ens33) với tất cả địa chỉ nội bộ (trong hình chưa có – có thể thêm vào tùy theo máy chủ) c) Testing sudo shorewall check d) Applying Setting sudo shorewall restart
  • 15. An ninh mạng – Bài tập lớn 2 16 e) Auto update blacklist IP. Khi chạy file bên dưới sẽ tự đông cập nhật blacklist IP từ 2 tên miền đề cập trong URL[0] và URL[1]. Tạo một file .sh như sau: BLACKLIST="/etc/shorewall/blacklist" URL[0]="http://feeds.dshield.org/block.txt" URL[1]="http://www.spamhaus.org/drop/drop.lasso" # Temporary dump staging folder TMP=$(mktemp -d -t tmp.XXXXXXXXXX) function finish { rm -rf "$TMP" } trap finish EXIT cat $BLACKLIST > "$TMP/blacklist"
  • 16. An ninh mạng – Bài tập lớn 2 17 cat /dev/null > $BLACKLIST echo "

    AUTO LIST" >> "$TMP/blacklist" ## top 20 attacking class C (/24) wget -q -O - ${URL[0]} | sed '1,/Start/d' | sed '/#/d' | awk '{print $1,$3}' | sed 's/ ///' >> "$TMP/blacklist" ## Spamhaus DROP List wget -q -O - ${URL[1]} | sed '1,/Expires/d' | awk '{print $1}' >> "$TMP/blacklist" echo "

    LAST LINE ADD YOUR ENTRIES BEFORE THIS ONE DO NOT REMOVE" >> "$TMP/blacklist" cat "$TMP/blacklist" > $BLACKLIST shorewall refresh &>/dev/nul 3. Lọc web: DansGuardian a) Cài đặt lọc web: DansGuardian Cài đặt: sudo apt-get install tinyproxy dansguardian b) Cấu hình DansGuardian sudo nano -c /etc/dansguardian/dansguardian.conf Vô hiệu dòng 3 (đặt dấu “#” trước "UNCONFIGURED"), Kiểm tra lại các thông số sau:

  • 17. An ninh mạng – Bài tập lớn 2 18 filterport = 8080 proxyport = 3128 Sau đó lưu lại và thoát ra. c) Cấu hình Tinyproxy sudo nano -c /etc/tinyproxy.conf Tùy vào phiên bản mà file config của Tinyproxy sẽ được đặt trong hoặc không đặt trong thư mục /tinyproxy Kiểm tra và sửa: Port 3128 d) Khởi động service sudo /etc/init.d/dansguardian start sudo /etc/init.d/tinyproxy start e) Những file cần cấu hình dansguardian.conf: dansguardianf1.conf: bannedsitelist: danh sách banned website bannedurllist: ban 1 URL mặc định bannedphraselist: ban từ khóa bannediplist: Ban danh sách IP exceptioniplist: White IP list exceptionsitelist: Whitelist configurations cho 1 domain name exceptionurllist: Whitelist configurations dành cho URL exceptionphraselist: Whitelist configurations cho từ khóa 4. Antivirus: Clam Antivirus a) Cài đặt ClamAV sudo apt-get install clamav clamav-freshclam clamav-daemon libclamunrar7
  • 18. An ninh mạng – Bài tập lớn 2 19 b) Chỉnh sửa file clamd.conf sudo nano /etc/clamav/clamd.conf Thêm 2 dòng sau, “ubuntusv” là username: OfficialDatabaseOnly false VirusEvent mv $CLAM_VIRUSEVENT_FILENAME /home/ubuntusv/quarantine c) Chỉnh sửa file freshclam.conf sudo nano /etc/clamav/freshclam.conf 4 dòng cuối để cập nhật tự động cơ sở dữ liệu về virus mỗi giờ.
  • 19. An ninh mạng – Bài tập lớn 2 20 d) Mở clamav-daemon và khởi đông lại để cập nhật tùy chỉnh sudo systemctl enable clamav-daemon sudo systemctl restart clamav-daemon e) Cập nhật cơ sở dữ liệu mới thủ công Trong lần đầu thực thi lệnh “freshclam” để cập nhật cơ sở dữ liệu virus, vì ClamAV mới được cài đặt nên vẫn chạy trong process, cần phải kill rồi mới thực thi lệnh: sudo freshclam Sau khi cập nhật thành công reboot lại Ubuntu. f) Quét virus với lệnh: sudo clamdscan “đường dẫn file/thư mục” Đánh giá:  Cần tắt ClamAV mới có thể cập nhật thủ công.  Download hoặc copy ClamAV sẽ không quét nhưng duyệt web hoặc thực thi lệnh, ... ClamAV sẽ quét. Nếu có bất kì phần mềm độc hại hoặc virus ClamAV sẽ nhận ra và di chuyển tới thư mục "quarantine" đã tạo ở trên. Có thể kiểm tra log tại "/var/log/clamav/clamav.log". Testing : Có thể cài đặt NO harm virus testing files for testing. sudo apt-get install clamav-testfiles The NO harm virus testing files are located at "/usr/share/clamav-testfiles".
  • 20. An ninh mạng – Bài tập lớn 2 21 Example: 5. Quản trị: Webmin a) Thêm webmin repository Trước hết ta cần thêm Webmin repository để ta có thể dễ dàng install và update Webmin. Thêm Webmin repository vào /etc/apt/sources.list sudo nano /etc/apt/sources.list Thêm dưòng này vào /etc/apt/sources.list: deb http://download.webmin.com/download/repository sarge contrib Thêm Webmin PGP key: wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc Update repository list sudo apt-get update
  • 21. An ninh mạng – Bài tập lớn 2 22 Để không bị lỗi “Unable to locate package” ta cần phải chạy update repository list cho apt. b) Cài đặt Webmin: sudo apt-get install webmin Thêm cổng 10000 vào Ubuntu firewall sudo ufw allow 10000 Ta sẽ truy cập vào server thông qua địa chỉ; https://192.168.242.133:10000/ Do chúng ta có là Self Signed SSL Certificate vì thế sẽ có thông báo “Không bảo mật” từ trình duyệt, chúng ta cứ tiếp tục, và có trang sau:
  • 22. An ninh mạng – Bài tập lớn 2 23 Tại đây chúng ta có thể thực hiện quản trị server. III. Tổng kết Báo cáo thể hiện những phương pháp cơ bản để cấu hình 1 server quản trị thông thường, thông qua đó giúp nhóm có thể review lại kiến thức và áp dụng kiến thức hiệu quả hơn vào thực tiễn. Nhóm xin trân trọng cảm ơn sự trợ giúp của các thầy. Hướng phát triển trong tương lai:  Khắc phục các lỗi trong quá trình hiện thực server: Lỗi về ClamAV, khắc phục nhược điểm của Dansguardian  Phát triển các tính năng khác: phát hiện DDOS, Real-time Blacklist,… IV. Tài liệu tham khảo: 1. https://www.digitalocean.com/ 2. askubuntu.com 3. http://stackoverflow.com/ 4. https://help.ubuntu.com/lts/serverguide/
  • 23. An ninh mạng – Bài tập lớn 2 24 V. Phụ lục Phân công công việc giữa các thành viên: STT Họ tên Nhiệm vụ Đóng góp 1 Huỳnh Hồng Hiển Cấu hình iptable Cấu hình firewall: Shorewall 27% 2 Hồ Ngọc Sơn Cấu hình cơ bản: SSL Antivirus: ClamAV 27% 3 Lê Xuân Hải Viết và định dạng báo cáo, tìm hiểu sơ qua về các công cụ, đóng góp ý kiến trong buổi họp. 19% 4 Hồ Quang Thanh Cấu hình cơ bản: LAMP, SSL. Cấu hình quản trị Webmin Cài đặt bộ lọc DansGuardian 27%