Khi hệ thống đăng ký PacketFence được thiết lập đúng chỗ, thì các máy tính trong mạng muốn truy cập ra ngoài sẽ phải đăng ký.. Bạn sẽ thực hiện quá trình thiết lập đăng ký với PacketFenc
Trang 1Ngăn chặn truy cập mạng trái phép với PacketFence
Nguồn : quantrimang.com
PacketFence - hệ thống điều khiển truy cập mạng (NAC) mã nguồn mở - là ứng dụng được đánh giá cao hơn các ứng dụng khác bởi hệ thống đăng
ký Hệ thống đăng ký trong PacketFence khiến cho hệ thống này là một giải pháp hoàn toàn cho rất nhiều hoàn cảnh khác nhau: các tập đoàn, tiệm cà phê, cơ quan, doanh nghiệp và mạng không dây
Khi hệ thống đăng ký PacketFence được thiết lập đúng chỗ, thì các máy tính trong mạng muốn truy cập ra ngoài sẽ phải đăng ký Nếu không đăng ký thì máy tính đó sẽ bị khóa
Hệ thống đăng ký PacketFence hoạt động như thế nào
Hệ thống đăng ký PacketFence tương tự như các hệ thống bản quyền khác (ví
dụ như Bluesocket, NoCatAuth) Thẩm định quyền người dùng dựa trên sự
chứng thực HTTP thông qua SSL Bất kỳ mô hình được HTTP chấp nhận đều có thể quản lý chứng thực đó (ví dụ LDAP, nội bộ, RADIUS) Trong bài này chúng tôi sẽ giới thiệu mô hình đơn giản nhất- nội bộ - bởi vì mô hình này yêu cầu ít thiết lập
Bạn sẽ thực hiện quá trình thiết lập đăng ký với PacketFence trên cài đặt Ubuntu Server 6.06 Trong thế giới nguồn mở khổng lồ thì một trong những lợi ích khi sử dụng phần mềm này là nó không đòi hỏi nhiều cấu hình Thật ra, tôi đang sử dụng hệ thống được thiết lập trên một bộ xử lý AMD 2075 MHz với 512 MB RAM
bộ nhớ Cấu hình như vậy là trung bình so với các chuẩn ngày nay Máy tính cũng không được kiểm tra, do vậy truy nhập SSH sẽ được yêu cầu
Một vài thay đổi để bắt đầu
Có một số thay đổi mà bạn cần quan tâm tới; Những sự thay đổi này sẽ không khác nhiều so với cài đặt gốc Hãy chắc chắn rằng bạn đang có các mô đun sau
sử dụng CPAN Trước tiên, là người dùng gốc, nhập lệnh cpan -e để đưa bạn tới dòng lệnh CPAN Bây giờ chạy các lệnh sau đây:
install Date::Parse
install IPTables::IPv4
install Term::ReadKey
install IO::Socket::SSL
install Net::Telnet
install Net::Nessus::Client
Trang 2install Net::Nessus::Message
install Net::Nessus::ScanLite
Trường hợp bạn đã cài đặt các bước như trên thì sẽ nhận được thông báo "XXX
is already up to date" trong đó XXX là tên mô đun
Thêm dòng vào tập tin /usr/local/pf/conf/pf.conf để kích hoạt SNORT Bây giờ hãy chạy lệnh which snort Lệnh này cho biết Snort của bạn sẽ hoạt động như thế nào Lệnh này cũng sẽ được đặt tại /usr/sbin/snort Thêm dòng lệnh sau: snort = /usr/sbin/snort ở phía dưới đoạn [services]
Cấu hình cuối cùng đó là kiểm tra tập tin php.ini Trong quá trình cài đặt, tập tin được đặt ở vị trí thư mục /etc/php5/apache2/ Tìm tới dòng lệnh 522 và chắc chắn tìm thấy:
allow_url_fopen = On
Nếu không thấy lệnh trên hoặc lệnh đó đang có giá trị Off, hãy thay đổi lại giá trị thành On
Bạn cũng cần thay đổi giờ chuẩn Thông tin về giờ chuẩn có thể tìm thấy tại dòng 574 như sau:
date.timezone =
Bạn cần thêm giờ chuẩn Ví dụ như America/Louisville
Cài đặt Bind là bước cuối cùng bạn cần thực hiện Để làm được điều này, hãy
đưa vào lệnh (người dùng gốc hoặc sử dụng sudo) apt-get install bind
Với những thay đổi trên, bạn đã sẵn sàng để đăng ký
Thiết lập chứng thực
Bạn sẽ dùng quá trình chứng thực local Có nghĩa là htpasswd sẽ được tận
dụng để nắm bắt các những việc làm không đúng Trước khi bắt đầu quá trình,
hãy xem lại thư mục /usr/local/pf/conf/templates Trong thư mục này bạn sẽ
thấy một tập tin có tên local.conf Nội dung tập tin đó như sau:
AuthUserFile /usr/local/pf/conf/user.conf
AuthGroupFile /dev/null
AuthName "Local"
Trang 3AuthType Basic
require valid-user
Bạn cần quan tâm tới dòng AuthUserFile /usr/local/pf/conf/user.conf khi tạo
tập tin mật khẩu với htpasswd Dòng lệnh này thường không được thiết lập sẵn
do vậy bạn hãy thiết lập nó như ví dụ ở trên user.conf sẽ là tập tin được tạo bởi
htpasswd
Chứng thực nội bộ tức là mọi thành viên phải tạo cho mình một tên đăng nhập
và mật khẩu Nhưng với những công ty lớn có nhiều nhân viên thì thực hiện điều này sẽ mất rất nhiều thời gian, do đó hãy sử dụng loại chứng thực khác áp dụng đối với các công ty lớn Để đơn giản ta sử dụng loại chứng thực nội bộ
Đầu tiên bạn chạy lệnh htpasswd dùng kí hiệu -c để tạo tập tin Do đó lệnh đầu
tiên sẽ là:
htpasswd -c /usr/local/pf/conf/user.conf USERNAME
Trong đó USERNAME là tên người dùng đầu tiên Đưa ra lệnh này, bạn sẽ được
nhắc hai lần về mật khẩu người dùng Đây sẽ là sự kết hợp giữa tên truy cập và mật khẩu mà người dùng sử dụng khi đăng ký PacketFence Giờ đây bạn sẽ phải tạo tất cả tên đăng nhập và mật khẩu cho mỗi người dùng Lần tiếp theo khi
bạn thực hiện lệnh, sẽ không có kí hiệu c- nữa bởi tập tin đã được tạo Vì thế
lệnh còn lại như sau:
htpasswd /usr/local/pf/conf/user.conf USERNAME
Vậy là bạn đã cấu hình xong PacketFence
Chạy lại tập lệnh configurator.pl
Chúng ta đã cài đặt PacketFence bằng việc chạy tập lệnh configurator.pl ở chế độ thử nghiệm Bây giờ bạn sẽ chạy tập lệnh configuator.pl trong môi trường đăng ký Tìm tới thư mục /usr/local/pf và đưa ra lệnh
./configurator.pl Quá trình xử lý như sau:
Checking existing configuration
Existing configuration found, upgrading
Would you like to modify the existing configuration [y|n]
y
Would you like to use a template configuration or custom [t|c]
Trang 4t
Which template would you like:
1) Test mode
2) Registration
3) Detection
4) Registration & Detection
5) Registration, Detection &
Scanning
6) Session-based Authentication Answer: [1|2|3|4|5]: [1|2|3|4|5|6]
5
Setting option scan to template value enabled
Setting option dhcpdetector to template value enabled Setting option mode to template value passive
Setting option isolation to template value disabled Setting option testing to template value disabled
Setting option detection to template value enabled
Setting option registration to template value enabled Setting option auth to template value local
Setting option skip_mode to template value window
Setting option skip_window to template value 2w
Setting option aup to template value disabled
Setting option skip_reminder to template value 1d
Setting option pass to template value packet
Setting option ssl to template value enabled
Setting option user to template value admin
Setting option port to template value 1241
Setting option registration to template value enabled Setting option host to template value 127.0.0.1
Loading Template: Warning PacketFence is going LIVE -
WEAPONS HOT
Enabling host trapping! Please make sure to review
conf/violations.conf and disable any violations that don't fit your environment ** NOTE: The configuration can be a bit tedious If you get bored, you can always just edit /usr/local/pf/conf/pf.conf directly ** What is my
management interface? (default: eth0) [eth0|?]:
eth0 - ok? [y|n]
y
What is its IP address? (default: 192.168.1.29 [?]):
192.168.1.29 - ok? [y|n]
y
What is its mask? (default: 255.255.255.0 [?]):
255.255.255.0 - ok? [y|n] y
Trang 5What is my gateway? (default: 192.168.1.1 [?]):
192.168.1.1 - ok? [y|n] y
TRAPPING CONFIGURATION
What is my monitor interface? (default: eth1) [eth0|?]: eth0
eth0 - ok? [y|n] y
ALERTING CONFIGURATION
Where would you like notifications of traps, rogue DHCP servers, and other sundry goods sent? (default:
root@mydomain.com[?]):
root@mydomain.com - ok? [y|n] y
What should I use as my SMTP relay server? (default:
mail.mydomain.comt [?]):
mail.mydomain.com - ok? [y|n] y
Please review conf/pf.conf to correct any errors or change pathing to daemons
After starting PF, use bin/pfcmd or the web interface
(https://ubuntu.:1443) to administer the system
Committing settings
Enjoy!
Sau quá trình thực hiện trên, PacketFence đã sẵn sàng hoạt động Thực hiện đưa ra các lệnh /usr/local/pf/bin/start và bạn sẽ thu được kết quả như sau:
Checking configuration sanity
service|command
config files|start
iptables|start
httpd|start
pfmon|start
pfdetect|start
named|start
snort|start
PacketFence giờ đã sẵn sàng cho quá trình đăng ký
Đăng ký một máy
Điều đầu tiên bạn muốn làm đó là thu thập các địa chỉ MAC của tất cả các thiết
bị trong mạng (Router, máy in, hub) Bạn sẽ phải tự đăng kí cho các thiết bị này
sử dụng lệnh /usr/local/pf/bin/pfcmd:
/usr/local/pf/bin/pfcmd node edit 00:e0:4d:0d:94:a2
Trang 6status="reg",pid=NAME
Chú ý sử dụng tên khác nhau cho các thiết bị Các thiết bị sẽ được đăng ký và
có thể truy cập vào được
Từ giờ trở đi bất kì máy tính nào muốn truy cập bên ngoài mạng sẽ phải đăng nhập (Hình A)
Hình A: Bạn có thể cấu hình Acceptable Use Policy thông qua công cụ
PacketFence Web administration
Người dùng sẽ lựa chọn loại chứng thực từ danh sách xổ xuống Trong bài này
ta đang ví dụ chọn loại Local Bạn sẽ thấy màn hình đăng nhập như Hình B
Trang 7Hình B: admin không phải tên người dùng thích hợp sử dụng để đăng ký
Khi người dùng nhập sai giá trị tên đăng nhập hay mật khẩu thì họ sẽ được yêu cầu cho phép quét toàn bộ hệ thống để tìm ra những vị trí không được bảo vệ Tại màn hình cảnh báo, bạn phải ấn nút Scan để cho phép quét hệ thống Ngay khi hệ thống đã được quét thành công, người dùng sẽ thấy cửa sổ thông báo đăng ký thành công giống như hình C
Hình C: Ngay cả khi đã đăng ký thành công thì người dùng vẫn phải kích nút
Complete Registration để kích hoạt truy cập mạng
Khi người dùng kích nút Complete Registration, sẽ xuất hiện một cửa sổ báo
hiệu rằng truy cập mạng đã được kích hoạt Vậy là bạn đã hoàn thiện quá trình đăng ký
Cấu hình thêm
Sẽ thuận tiện hơn nữa nếu bạn cấu hình PacketFence bằng cách sử dụng công
cụ quản trị cơ sở mạng Hãy vào trang web https://
IP_OF_PacketFence_SERVER:1443 và bạn sẽ dùng mật khẩu quản trị đã thiết lập trong suốt quá trình cài đặt Từ đó bạn có thể tinh chỉnh cài đặt PacketFence
Giải pháp nguồn mở
PacketFence thực hiện thông qua mã nguồn mở, cái mà rất nhiều ứng dụng đã phải tốn hàng trăm tới hàng nghìn đô la để có được Nhiều giải pháp sở hữu riêng gần như không cấu hình được như PacketFence Mặc dù PacketFence có thể hơi phiền toái trong cả cài đặt lẫn cấu hình, nhưng nó rất đáng giá nếu bạn đang tìm kiếm lớp bảo vệ an toàn khác cho mạng