Xác thực vμ dịch vụ xác thực

Một phần của tài liệu Tìm hiểu về Firewall (Trang 51 - 56)

3. Hệ thống Firewall xây dựng bởi CSE

3.4.4Xác thực vμ dịch vụ xác thực

Bộ Firewall chứa ch−ơng trình server xác thực đ−ợc thiết kế để hỗ trợ cơ chế phân quyền. Authsrv chứa một cơ sở dữ liệu về ng−ời dùng trong mạng, mỗi bản ghi t−ơng ứng với một ng−ời dùng, chứa cơ chế xác thực cho mỗi anh ta, trong đó bao gồm tên nhóm, tên đầy đủ của ng−ời dùng, lần truy cập mới nhất. Mật khẩu không mã hoá (Plain text password) đ−ợc sử dụng cho ng−ời dùng trong mạng để việc quản trị đ−ợc đơn giản. Mật khẩu không mã hoá không nên dùng với những ng−òi sử dụng từ mạng bên ngoμi. Authsrv đ−ợc chạy trên một host an toμn thông th−ờng lμ bastion host. Để đơn giản cho việc quản trị authsrv ng−ời quản trị có thể sử dụng một shell authmsg để quản trị cơ sở dữ liệu có cung cấp cơ chế mã hoá dữ liệu.

Ng−ời dùng trong 1 cơ sở dữ liệu của authsrv có thể đ−ợc chia thμnh các nhóm khác nhau đ−ợc quản trị bởi quản trị nhóm lμ ng−ời có toμn quyền trong nhóm cả việc thêm, bớt ng−ời dùng. Điều nμy thuận lợi khi nhiều tổ chức cùng dùng chung một Firewall.

Để cấu hình authsrv, đầu tiên cần xác định 1 cổng TCP trống vμ thêm vμo một dòng vμo trong inetd.conf để gọi authsrv mỗi khi có yêu cầu kết nối. Authsrv không phải một tiến trình deamon chạy liên tục, nó lμ ch−ơng trình đ−ợc gọi mỗi khi có yêu cầu vμ chứa một bản sao CSDL để tránh rủi ro. Thêm authsrv vμo inet.conf đòi hỏi tạo thêm điểm vμo trong /etc/services. Vì authsrv không chấp nhận tham số, mμ phải thêm vμo inetd.conf vμ services các dòng nh− sau: Trong /etc/services:

Trong /etc/inetd.conf:

authsrv stream tcp nowait root /usr/proxy/bin/authsrv authsrv

Cổng dịch vụ dùng cho authsvr sẽ đ−ợc dùng để đặt cấu hình cho các ứng dụng client có sử dụng dịch vụ xác thực. Dịch vụ xác thực không cần áp dụng cho tất cả các dịch vụ hay tất cả các client.

#Example ftp gateway rules:

ftp-gw: authserver local host 7777

ftp-gw: denial-msg /usr/proxy/etc/ftp-deny.txt

ftp-gw: welcome-msg /usr/proxy/etc/ftp-welcome.txt

ftp-gw: help-msg /usr/proxy/etc/ftp-help.txt

ftp-gw: permit-host 192.33.112.100

ftp-gw: permit-host 192.33.112.* -log {retr stor} -auth {stor}

ftp-gw: permist-host * -authall

ftp-gw: timeout 36000

Trong ví dụ trên, xác thực dùng với FTP proxy. Dòng đầu tiên định nghĩa địa chỉ mạng cổng dịch vụ của ch−ơng trình xác thực. Dòng permist-host cho thấy một trong số sự mềm dẻo của hệ thống xác thực, một host đ−ợc lựa chọn để không phải chịu cơ chế xác thực, ng−ời dùng từ host nμy có thể truy cập tự do tới mọi dịch vụ của proxy. Permist-host thứ 2 đòi hỏi xác thực mọi hệ thống trong mạng 192.33.112 muốn truyền ra ngoμi với -auth {store} những thao tác của FTP sẽ bị khoá tới khi ng−ời dùng hoμn thμnh việc xác thực với server. Khi đó, lệnh đ−ợc mở khoá vμ ng−ời dùng có thể vμo hệ thống. Ví dụ cuối định nghĩa mọi ng−ời có thể nối với server nh−ng tr−ớc hết họ phải đ−ợc xác thực.

Authsrv server phải đ−ợc cấu hình để biết máy nμo đ−ợc cho phép kết nối. Điều nμy cấm tất cả những cố gắng truy

nhập bất hợp pháp vμo server từ những server không chạy những phần mềm xác thực. Trong Firewall authsrv sẽ chạy trên bastion host cùng với proxy trên đó. Nếu không có hệ thống nμo đòi hỏi truy cập, mỗi client vμ server coi “local host” nh− một địa chỉ truyền thông. Cấu hình authsrv định nghĩa nó sẽ vận hμnh CSDL vμ client hỗ trợ.

#Example authhsrv rules:

authsrv: database /usr/proxy/bin/authsrv.db

authsrv: permit-host localhost

authsrv: permit-host 192.5.214..32

Trong ví dụ trên, đ−ờng dẫn tới CSDL định nghĩa vμ 2 host đ−ợc nhận ra. Chú ý CSDL ở trên trong hệ thống đ−ợc bảo vệ hoặc đ−ợc bảo vệ nghiêm ngặt bởi cơ chế truy cập file. Bảo vệ CSDL rất quan trọng do đó nên để CSDL trên bastion host. Lối vμo thứ 2 lμ một ví dụ về client sử dụng mã hoá DES trong khi truyền thông với authsrv. Khoá mã chứa trong tệp cấu hình đòi hỏi file cấu hình phải đ−ợc bảo vệ. Nói chung, việc mã hoá lμ không cần thiết. Kết quả của việc mã hoá lμ cho phép quản trị có thể quản lý cơ sở dữ liệu xác thực từ trạm lμm việc. Luồng dữ liệu duy nhất cần phải bảo vệ lμ khi ng−ời quản trị mạng đặt lại mật khẩu qua mạng cục bộ, hay khi quản lý cơ sở dữ liệu xác thực qua mạng diện rộng.

Duy trì CSDL xác thực dựa vμo 2 công cụ authload vμ authdump để load vμ dump CSDL xác thực. Ng−ời quản trị nên chạy authdump trong crontab tạo bản sao dạng ASCII của CSDL để tránh tr−ờng hợp xấu khi CSDL bị hỏng hay bị xoá.

Authsrv quản lý nhóm rất mềm dẻo, quản trị có thể nhóm ng−ời dùng thμnh nhóm dùng “group wiz”, ng−ời có quyền

quản trị nhóm có thể xoá, thêm, tạo sửa bản ghi trong nhóm, cho phép hay cấm ng−ời dùng, thay đổi password của mật khẩu của user trong nhóm của mình. Quản trị nhóm không thay đổi đ−ợc ng−ời dùng của nhóm khác, tạo ra nhóm mới hay thay đổi quan hệ giữa các nhóm. Quản trị nhóm chỉ có quyền hạn trong nhóm của mình. Việc nμy có ích đối với tổ chức có nhiều nhóm lμm việc cùng sử dụng Firewall.

Tạo một ng−ời sử dụng bằng lệnh “adduser”

adduser mrj ‘Marcus J. Ranum’

Khi một user record mới đ−ợc tạo nó ch−a đ−ợc hoạt động vμ ng−ời sử dụng ch−a thể login. Tr−ớc khi ng−ời sử dụng login, quản trị mạng có thể thay đổi mật khẩu vμ số hiệu nhóm của ng−ời sử dụng đó

group users mjr

password “whumpus” mjr proto SecurID mjr enable mjr (adsbygoogle = window.adsbygoogle || []).push({});

Khi một user record tạo ra bởi ng−ời quản trị nhóm, nó thừa h−ởng số hiẹu nhóm cũng nh− giao thức xác thực. User record có thể xem bởi lệnh “display” hay “list”.

Ví dụ một phiên lμm việc với Authmsg:

%-> authmgs Connected to server authmgr-> login Username: wizard Challenge “200850” : 182312 Logged in

authmgs-> disp wizard

Report for user wizard (Auth DBA)

Last authenticated: Fri Oct 8 17:11:07 1993 Authentication protocol: Snk

Flags: WIZARD authmgr-> list

user group longname flags proto last --- --- --- --- --- ---

wizard users Auth DBA y W Snk Fri Oct 8 17:02:56 1993

avolio users Fred Avolio y passwd Fri Sep 24 10:52:14 1993 rnj users Robert N. Jesse y passwd Wed Sep 29 18:35:45 1993

mjr users Marcus J. Ranum y none ri Oct 8 17:02:10 1993 authmgr-> adduser dalva “Dave dalva”

ok - user added initially disable

authmgr-> enable dalva enabled

authmgr-> group dalva users

set group

authmgr-> proto dalva Skey changed

authmgr-> disp dalva

Report for user dalva, group users (Dave Dalva) Authentication protocol: Skey

Flags: none

authmgr-> password dalva Password: #######

Repeat Password: #######

ID dalva s/key is 999 sol32 authmgr-> quit

Trong ví dụ trên quản trị nối vμo authsrv qua mạng sử dụng giao diện authmsg sau khi xác thực user record hiển thị thời gian xác thực. Sau khi login, list CSDL user, tạo ng−ời dùng, đặt password, enable vμ đ−a vμo nhóm.

Khởi tạo CSDL Authsrv:

# authsrv

-administrator mode- authsrv# list

Report for user in database

user group longname flags proto last --- --- --- --- --- ---

authsrv# adduser admin ‘Auth DBA’ ok - user added initially disable authsrv# enable admin

enabled (adsbygoogle = window.adsbygoogle || []).push({});

authsrv# superwiz admin

set wizard

authsrv# proto admin Snk changed

authsrv# pass ‘160 270 203 065 022 034 232 162’ admin Secret key changed

authsrv# list

Report for user in database

user group longname flags roto last --- --- --- --- ---- ---

admin Auth DBA y W Snk never

authsrv# quit

Trong ví dụ, một CSDL mới đ−ợc tạo cùng với một record cho ng−ời quản trị. Ng−ời quản trị đ−ợc gán quyền, gán protocol xác thực.

Một phần của tài liệu Tìm hiểu về Firewall (Trang 51 - 56)