PacketFence có thể giải quyết một trong những vấn đề khó khăn khi cài đặt mà tôi đã thực hiện trong hơn mười năm sử dụng Linux.. Sẽ không có mật khẩu gốc vì thế mật khẩu mà bạn tạo cho n
Trang 1Cài đặt và cấu hình điều khiển truy cập mạng với PacketFence
PacketFence là câu trả lời của cộng đồng nguồn
mở dành cho NAC Là người trợ giúp đặc biệt của cộng đồng nguồn mở, tôi nhận thấy đây là một dự án thú vị cần được quan tâm
PacketFence có thể giải quyết một trong những vấn đề khó khăn khi cài đặt mà tôi đã thực hiện trong hơn mười năm sử dụng Linux Một phần khó khăn là việc phản đối cài đặt PacketFence trong môi trường khuyến cáo Tại sao lại phải phản đối? Bởi môi trường khuyến cáo đã lỗi thời ví dụ như Fedora 4
Nhưng rồi sự lựa chọn logic nhất chính là máy chủ Ubuntu 6.06 Vì thế hãy chuẩn bị sẵn sàng: Sự cài đặt này sẽ được hoàn thành bởi các dòng lệnh và sẽ có rất nhiều lệnh để chạy
Bước chuẩn bị đầu tiên
Điều đầu tiên bạn cần thực hiện đó là cài đặt Ubuntu Server 6.06 LTS Rất may là phiên bản này đã được hỗ trợ tới năm 2011 do đó bạn
hoàn toàn không phải lo lắng về vấn đề sửa chữa các lỗi bảo mật sẽ phát sinh Ngay khi tải về, hình ảnh ISO sử dụng K3B (hoặc những cái tương tự) để ghi đĩa Cài đặt máy chủ và chuẩn bị cho quá trình cài
đặt (Cảnh báo: Đây chỉ là cài đặt văn bản)
Do bạn sẽ sử dụng Ubuntu cho nên lệnh sudo sẽ được dùng rất nhiều
Sẽ không có mật khẩu gốc vì thế mật khẩu mà bạn tạo cho người dùng (trong suốt quá trình cài đặt) cũng sẽ là mật khẩu sử dụng Tuy nhiên,
khi sử dụng Ubuntu và sudo, bạn nên tạo một mật khẩu root bởi nó có
thể giúp bỏ qua khá nhiều vấn đề nảy sinh khi thử cài đặt một vài ứng dụng (hay như cấu hình MySQL) Để thực hiện điều này, chạy lệnh
sudo passwd và nhập vào mật khẩu rood mới
Trước hết muốn thiết lập quản trị từ xa với SSH Bạn sẽ cần thiết lập trong trường hợp máy chủ này sẽ giải quyết vấn đề máy chủ không có người điều khiển (hoặc trường hợp cần quản lý nó từ xa) Hãy thực
hiện lệnh sau: sudo apt-get install ssh openssh-server Một
Trang 2trong những lý do chính tôi sử dụng cài đặt thông qua SSH là bởi vì khi cần tìm kiếm một cái gì đó tôi không cần phải chuyển qua lại giữa các máy Khi SSH đã được cài đặt xong, bạn truy cập mạng và đăng nhập vào máy chủ Ubuntu với SSH Hãy tiếp tục theo dõi bài viết này và thực hiện cài đặt
Chuẩn bị cài đặt phần mềm
Bạn sẽ dùng lệnh apt-get để cài đặt phần mềm cho quá trình thiết lập
Để thực hiện điều này, trước tiên bạn phải chỉnh sửa nguồn tương ứng bởi các gói phần mềm Hãy sử dụng các lệnh sau:
Sao lưu danh sách các nguồn nguyên bản:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.BACKUP
Bây giờ bạn vào danh sách các nguồn và bỏ ghi chú của tất cả mục
được liệt kê trong tập tin sources.list Tìm tới /etc/apt, mở tập tin
sources.list và gỡ bỏ tất cả dấu # để bỏ ghi chú các nguồn Hoặc là
bạn có thể thực hiện lệnh:
sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list
Sau đó hãy cập nhật các nguồn apt bằng lệnh dưới đây:
sudo apt-get update
Một bước cuối cùng trước khi bắt đầu cài đặt các ứng dụng: Bạn sẽ phải biên dịch từ nguồn Theo mặc định thì máy chủ Ubuntu 6.06
không có chức năng này Vì thế để máy chủ có khả năng biên dịch cần thiết thì hãy áp dụng lệnh sau:
sudo apt-get install build-essential
Thực hiện xong các bước trên là bạn đã hoàn thành quá trình cài đặt
Snort
Trước hết bạn nên cài đặt một gói nhận biết sự xâm nhập Khi Snort trở thành chuẩn một trên Linux (cũng giống như PacketFence) thì
chúng ta sẽ sử dụng Snort Thực hiện lệnh sau:
Trang 3sudo apt-get install snort
Trước khi tiếp tục, bạn cần phải ngừng Snort bằng lệnh sudo
/etc/init.d/snort stop Đồng thời cũng cần chắc chắn rằng Snort
không kích hoạt trong suốt quá trình khởi động hệ thống (mặt khác,
PacketFence cũng sẽ không được kích hoạt) Hãy dùng lệnh
update-rc.d như sau: sudo update-update-rc.d -f snort remove Vậy là Snort đã
được gỡ bỏ từ danh sách rc.d
MySQL
Bởi vì PacketFences sử dụng cơ sở dữ liệu, do đó bạn cần cài đặt
MySQL và quan tâm tới một số chi tiết trong cài đặt
Trước tiên, cài đặt MySQL sử dụng lệnh sudo apt-get install
mysql-server Bây giờ bạn cần thêm chút khéo léo Đây là vị trí bạn
muốn có một mật khẩu "root" Thực hiện lệnh sudo passwd và nhập
một mật khẩu "root" hai lần Vậy là bạn đã có thể đăng nhập như một người dùng mật khẩu gốc giả Điều cần làm bây giờ là thay đổi mật khẩu MySQL Theo mặc định thì mật khẩu là trống Như vậy rất không
an toàn và PacketFence yêu cầu bạn có một mật khẩu MySQL gốc
Thực hiện lệnh mysql -u root -p và nhấn [Enter] (hiện tại vẫn chưa
có mật khẩu) Bạn dừng ở dấu nhắc lệnh mysql> và nhập dòng lệnh
sau:
SET PASSWORD FOR root@localhost=PASSWORD('NEWPASSWORD');
Trong đó NEWPASSWORD là mật khẩu mới bạn sẽ sử dụng cho người
dùng MySQL gốc
MySQL đã được cài đặt xong
Apache và PHP
Bạn cần cài đặt Apache và tất cả các mô đun và các âm thanh cần thiết Sau đây là tuần tự các bước thực hiện:
sudo apt-get install apache2 libapache2-mod-proxy-html
Bước trên nhằm cài đặt Apache và mô đun Proxy Tiếp theo bạn cài
Trang 4đặt PHP:
sudo apt-get install libapache2-mod-php5 php-pear
php5-mysql php5-gd
Lệnh này sẽ cài đặt mọi thứ cần thiết cho PHP
Việc cần làm bây giờ là dừng máy chủ Apache và ngăn chặn Apache bắt đầu khởi động Trước tiên hãy chạy lệnh:
sudo /etc/init.d/apache2 stop
Để dừng Apache, chạy lệnh sudo update-rc.d -f apache2 remove
để gỡ bỏ Apache từ danh sách chạy rc.d
Mô đun Perl và Perls
Có một số mô đun Perl để cài đặt Để cài đặt các các mô đun này, bạn thực hiện dòng lệnh sau:
sudo apt-get install perl-suid libterm-readkey-perl
libconfig-inifiles-perl libnet-netmask-perl
và
sudo apt-get install libparse-recdescent-perl libnet-rawip-perl libtimedate-libnet-rawip-perl libwww-libnet-rawip-perl
Perl đã sẵn sàng
PacketFence
Cuối cùng bạn cài đặt ứng dụng PacketFence Không thể sử dụng apt-get để thực hiện cài đặt mà bạn phải tải nguồn về, mở nó ra và cài đặt
kèm theo Tải về phiên bản mới nhất (tới thời điểm này là bản 1.6.2)
với ứng dụng wget Nếu wget không hiển thị, bạn phải cài đặt với sudo
apt-get install wget
Bạn tải file về từ Sourceforge Địa chỉ tải về mới nhất là:
http://downloads.sourceforge.net/PacketFence/PacketFence-1.6.2.tar.gz, do đó thực hiện các lệnh sau:
Trang 5sudo cd /usr/local/
sudo wget
http://downloads.sourceforge.net/PacketFence/PacketFence-1.6.2.tar.gz
Mở tập tin tar bằng lệnh:
sudo tar xvzf PacketFence-1.6.2.tar.gz
Thư mục /usr/local/pf sẽ được tạo Thay đổi bên trong thư mục pf và
thực hiện lệnh sau để bắt đầu quá trình cài đặt:
sudo /installer.pl
Giờ đây bạn sẽ phải trả lời rất nhiều câu hỏi xung quanh vấn đề cài đặt Rất nhiều mặc định sẽ hoạt động Hãy nhớ mật khẩu người dùng gốc Đồng thời cho phép quá trình cài đặt tạo PacketFence tạo cho bạn các cơ sở dữ liệu cần thiết Tôi đã nhiều lần thử tạo cơ sở dữ liệu với phpMyAdmin chỉ để nhận thấy rằng hệ thống PacketFence không thể tạo ra bảng cần thiết cho các cơ sở dữ liệu
Trước khi thực hiện những bước cuối cùng trong quá trình cài đặt, bạn
sẽ muốn tạo một SSL Certificate với những mục đích bảo mật Bạn thực hiện các lệnh sau:
cd /tmp
openssl req -new > PacketFence.csr
openssl rsa -in privkey.pem -out server.key
openssl x509 -in PacketFence.csr -out server.crt -req
signkey
server.key -days 365
mv server.crt /usr/local/pf/conf/ssl/
mv server.key /usr/local/pf/conf/ssl/
rm -f PacketFence.csr privkey.pem
Các lệnh này sẽ cài đặt một chứng nhận duy nhất cho máy của bạn (thay cho các mặc định sẵn)
Ngay khi thực hiện xong các bước trên, bạn sẽ phải chạy
configurator.pl để hoàn tất cài đặt configurator thiết lập loại hệ thống bạn muốn sử dụng Khi chạy hệ thống này, bạn sẽ được cung cấp các tùy chọn sau:
Trang 61 Test mode
2 Registration
3 Detection
4 Registration & Detection
5 Registration, Detection & Scanning
6 Session-based Authentication
Tốt nhất là nên sử dụng hệ thống dạng Test mode Trả lời đầy đủ các
câu hỏi để hoàn thành quá trình cài đặt
Một số thay đổi
Một vấn đề mà tôi gặp phải từ việc hoàn thành cài đặt các đoạn mã start trên PacketFence đó không tìm thấy đoạn mã khởi động Apache,
bởi vì nó đang tìm kiếm /usr/bin/httpd thay vì /usr/bin/ apache2 như
được thiết lập trong một máy chủ Ubuntu Để thay đổi điều này bạn
phải thêm mục [service] vào trong tập tin pf.conf Mở tập tin
usr/local/pf/conf/pf.conf bằng trình soạn thảo bạn thường sử dụng và
thêm các dòng lệnh sau vào cuối tập tin:
[services]
httpd=/usr/sbin/apache2
Bây giờ, bạn mở tập tin /usr/local/pf/conf/templates/httpd.conf và
thêm lệnh sau:
ServerRoot /usr/lib/apache2
Và sau đó sửa đổi dòng:
LoadModule php4_module modules/libphp4.so
Tương ứng thành:
LoadModule php4_module /usr/lib/apache2/modules/libphp4.so
Có một số dòng khác cần được sửa đổi Do việc cài đặt Apache trên Ubuntu, tất cả các mô đun cần thiết phải phản chiếu với cấu trúc
/usr/lib/apache2/module Hãy duyệt qua toàn bộ tập tin
/usr/local/pf/conf/templates/httpd.conf và thay đổi đường dẫn mô đun
Bạn cũng sẽ cần bỏ ghi chú dòng đối với mô đun php5 (tại dòng 79) và ghi chú dòng đối với php4 (tại dòng 80)
Trang 7Khởi động PacketFence
Bạn có thể kiểm tra để chắc chắn rằng PacketFence khởi động đúng
bằng cách chạy lệnh /usr/local/pf/bin/start Bạn sẽ không thấy gì hơn
là các dòng sau đây:
Checking configuration sanity
service|command
config files|start
iptables|start
httpd|start
pfmon|start
pfdetect|start
snort|start
Bây giờ hãy dừng hệ thống PacketFence với lệnh
/usr/local/pf/bin/stop
Khi hệ thống đã khởi động đúng bạn có thể sửa đổi cài đặt để đoạn mã khởi động PacketFence được cài đặt và hệ thống rc.d để ý đến nó Bạn thực hiện các dòng lệnh sau:
sudo cp /usr/local/pf/PacketFence.init
/etc/init.d/PacketFence
sudo chmod 755 /etc/init.d/PacketFence
sudo update-rc.d PacketFence defaults
Khởi động lại hệ thống bằng lệnh:
sudo /etc/init.d/PacketFence start
Vậy là hệ thống đã cài đặt xong và có thể bắt đầu hoạt động
Đăng nhập
Mở trình duyệt và hướng tới địa chi IP của máy chủ PacketFence tại
cổng địa chỉ 1443 Do đó địa chỉ sẽ là https://192.168.1.29:1443 Chú
ý: HTTP đã được bảo vệ Bạn sẽ thấy màn hình đăng nhập để bạn
nhập tên quản trị (tên mặc định là admin) và nhập mật khẩu dành cho
quản trị viên
Trang 8Sau khi đăng nhập mật khẩu, bạn sẽ thấy màn hình chính dành cho quản trị viên như hình sau:
Hình A: Tại đây bạn có thể thực hiện mọi công việc