Cà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 trong 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:

sudo 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-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 đặ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

sudo apt-get install libparse-recdescent-perl libnet-rawip-perl libtimedate-perl libwww-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:

sudo 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:

1. 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).

Khở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.

Sau 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

Thứ Sáu, 04/01/2008 10:11
31 👨 2.986
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp