Cỏc biện phỏp hạn chế sniffer

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 66)

Khụng cho ngƣời lạ truy nhập vào cỏc thiết bị trờn hệ thống Quản lý cấu hỡnh hệ thống chặt chẽ

Thiết lập cỏc kết nối cú tớnh bảo mật cao thụng qua cỏc cơ chế mó hoỏ. (Phần 3 sẽ trỡnh bày cỏc biện phỏp tạo kết nối cú mó hoỏ).

CHƢƠNG 3: CÁC BIỆN PHÁP BẢO VỆ MẠNG MÁY TÍNH

Trong cỏc phần trờn khi trỡnh bày về một số lỗ hổng và điểm yếu của mạng đó trỡnh bày cỏc biện phỏp bảo vệ tƣơng ứng đối với từng trƣờng hợp cụ thể. Phần này sẽ trỡnh bày cỏc biện phỏp tổng quan hơn, cho phộp bảo vệ đồng thời nhiều loại dịch vụ trờn một hệ thống.

3.1. CÁC BIỆN PHÁP KIỂM SOÁT HỆ THỐNG

3.1.1. Kiểm soỏt hệ thống qua logfile:

Một trong những biện phỏp dũ tỡm cỏc dấu vết hoạt động trờn một hệ thống là dựa vào cỏc cụng cụ ghi logfile. Cỏc cụng cụ này thực hiện ghi lại nhật ký phiờn làm việc; nội dung chi tiết thụng tin ghi lại phụ thuộc vào cấu hỡnh ngƣời quản trị hệ thống. Ngoài việc rà soỏt theo dừi hoạt động, đối với nhiều hệ thống cỏc thụng tin trong logfile giỳp ngƣời quản trị đỏnh giỏ đƣợc chất lƣợng, hiệu năng của mạng lƣới. Phần dƣới đõy sẽ trỡnh bày hoạt động của một số cụng cụ ghi logfile hệ thống:

3.1.1.1. Hệ thống Logfie trong Unix:

Trong Unix, cỏc cụng cụ ghi log tạo những filelog là file đƣợc định dạng text thụng thƣờng; cho phộp ngƣời sử dụng dựng những cụng cụ soạn thảo file text bất kỳ đều cú thể đọc đƣợc nội dung. Tuy nhiờn, một số trƣờng hợp logfile đƣợc ghi dƣới dạng binary; chỉ cú thể sử dụng một số tiện ớch đặc biệt mới cú thể đọc đƣợc thụng tin.

Logfile lastlog:

Tiện ớch này ghi lại những lần truy nhập gần đõy đối với hệ thống. Cỏc thụng tin ghi lại gồm tờn ngƣời truy nhập; thời điểm, địa chỉ truy nhập... Cỏc chƣơng trỡnh login sẽ đọc nội dung file lastlog; kiểm tra theo UID truy nhập vào hệ thống và sẽ thụng bỏo lần truy nhập vào hệ thống gần đõy nhất của hệ thống. Vớ dụ nhƣ sau:

Last login: Fri Sep 15 2000 14:11:38

Sun Microsystems Inc. SunOS 5.7 Generic October 1998 No mail.

Sun Microsystems Inc. SunOS 5.7 Generic October 1998 /export/home/vhai%

Logfile UTMP:

Logfile này ghi lại thụng tin về những ngƣời đang login vào hệ thống; thƣờng nằm ở thƣ mục /etc/utmp; Để xem thụng tin trong logfile cú thể sử dụng cỏc tiện ớch nhƣ who, w, finger, rwho, users. Vớ dụ nội dung của logfile dựng lệnh who nhƣ sau:

/export/home/vhai% who

root console Aug 10 08:45 (:0)

vtoan pts/4 Sep 15 15:27 (203.162.0.87) vtoan pts/6 Sep 15 15:28 (203.162.0.87) vhai pts/10 Sep 18 08:44 (203.162.0.85) root pts/8 Sep 6 09:21 (:0.0) root pts/11 Sep 7 10:20 (:0.0) root pts/12 Sep 7 16:35 (:0.0) root pts/13 Sep 7 11:35 (:0.0) root pts/14 Sep 7 11:39 (:0.0)  Logfile WTMP:

Logfile này ghi lại cỏc thụng tin về cỏc hoạt động login và logout vào hệ thống. Nú cú chức năng tƣơng tự với logfile UTMP; ngoài ra cũn ghi lại cỏc thụng tin về cỏc lần shutdown, reboot hệ thống, cỏc phiờn truy nhập hoặc ftp; thƣờng nằm ở thƣ mục /var/adm/wtmp; Logfile này thƣờng đƣợc sử dụng qua lệnh "last". Vớ dụ nội dung nhƣ sau:

/export/home/vhai% last | more

vhai pts/10 203.162.0.85 Mon Sep 18 08:44 still logged in vtoan pts/10 Sat Sep 16 16:52 - 16:52 (00:00) vhai pts/16 Fri Sep 15 21:51 - 21:52 (00:00) vhai pts/17 Fri Sep 15 21:51 - 21:51 (00:00) vhai pts/17 203.162.0.85 Fri Sep 15 21:11 - 21:51 (00:40) vhai pts/16 203.162.0.85 Fri Sep 15 21:08 - 21:51 (00:43) vhai pts/16 Fri Sep 15 16:12 - 16:12 (00:00) vtoan pts/10 203.162.0.87 Fri Sep 15 15:30 - 16:52 (1+01:22) vtoan pts/6 203.162.0.87 Fri Sep 15 15:28 still logged in vtoan pts/4 203.162.0.87 Fri Sep 15 15:27 still logged in vtoan pts/4 Fri Sep 15 15:12 - 15:12 (00:00) vtoan pts/10 Fri Sep 15 15:11 - 15:11 (00:00)

Tiện ớch Syslog:

Đõy là một cụng cụ ghi logfile rất hữu ớch, đƣợc sử dụng rất thụng dụng trờn cỏc hệ thống UNIX. Tiện ớch syslog giỳp ngƣời quản trị hệ thống dễ dàng trong việc thực hiện ghi logfile đối với cỏc dịch vụ khỏc nhau. Thụng thƣờng tiện ớch syslog

thƣờng đƣợc chạy dƣới dạng một daemon và đƣợc kớch họat khi hệ thống khởi động. Daemon syslogd lấy thụng tin từ một số nguồn sau:

/dev/log: Nhận cỏc messages từ cỏc tiến trỡnh hoạt động trờn hệ thống /dev/klog: nhận messages từ kernel

port 514: nhận cỏc messages từ cỏc mỏy khỏc qua port 514 UDP.

Khi syslogd nhận cỏc messages từ cỏc nguồn thụng tin này nú sẽ thực hiện kiểm tra file cấu hỡnh của dịch vụ là syslog.conf - để tạo log file tƣơng ứng. Cú thể cấu hỡnh file syslog.conf để tạo một messages với nhiều dịch vụ khỏc nhau.

Vớ dụ nội dung một file syslog.conf nhƣ sau: # This file is processed by m4 so be careful to quote (`') names # that match m4 reserved words. Also, within ifdef's, arguments # containing commas must be quoted.

# *.err;kern.notice;auth.notice /dev/console *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator *.alert root *.emerg *

# if a non-loghost machine chooses to have authentication messages (adsbygoogle = window.adsbygoogle || []).push({});

Trong nội dung file syslog.conf chỉ ra, đối với cỏc messages co dạng *.emerg (messages cú tớnh khẩn cấp) sẽ đƣợc thụng bỏo tới tất cả ngƣời sử dụng trờn hệ thống; Đối với cỏc messages cú dạng *.err, hoặc kern.debug và những hoạt động truy cập khụng hợp phỏp sẽ đƣợc ghi log trong file /var/adm/messages.

Mặc định, cỏc messages đƣợc ghi vào logfile /var/adm/messages.  Tiện ớch sulog:

Bất cứ khi nào ngƣời sử dụng dựng lệnh "su" để chuyển sang hoạt động hệ thống dƣới quyền một user khỏc đều đƣợc ghi log thụng qua tiện ớch sulog. Những thụng tin logfile này đƣợc ghi vào logfile /var/adm/sulog. Tiện ớch này cho phộp phỏt hiện cỏc trƣờng hợp dựng quyền root để cú đƣợc quyền của một user nào khỏc trờn hệ thống.

# more /var/adm/sulog SU 01/04 13:34 + pts/1 vtoan-root SU 01/04 13:53 + pts/6 vtoan-root SU 01/04 14:19 + pts/6 vtoan-root SU 01/04 14:39 + pts/1 vtoan-root  Tiện ớch cron:

Tiện ớch cron sẽ ghi lại logfile của cỏc hoạt động thực hiện bởi lệnh crontabs. Thụng thƣờng, logfile của cỏc hoạt động cron lƣu trong file /var/log/cron/log; Ngoài ra, cú thể cấu hỡnh syslog để ghi lại cỏc logfile của hoạt động cron.

Vớ dụ nội dung của logfil e cron nhƣ sau:

# more olog

! *** cron started *** pid = 2367 Fri Aug 4 16:32:38 2000

> CMD: /export/home/mrtg/mrtg /export/home/mrtg/termcount.cfg > vhai 2386 c Fri Aug 4 16:34:01 2000

< vhai 2386 c Fri Aug 4 16:34:02 2000 > CMD: /export/home/mrtg/getcount.pl > vhai 2400 c Fri Aug 4 16:35:00 2000 < vhai 2400 c Fri Aug 4 16:35:10 2000

> CMD: /export/home/mrtg/mrtg /export/home/mrtg/termcount.cfg

Logfile của sendmail:

Hoạt động ghi log của sendmail cú thể đƣợc ghi qua tiện ớch syslog. Ngoài ra chƣơng trỡnh sendmail cũn cú lựa chọn "-L + level security" với mức độ bảo mật từ "debug" tới "crit" cho phộp ghi lại logfile. Vỡ sendmail là một chƣơng trỡnh cú nhiều bug, với nhiều lỗ hổng bảo mật nền ngƣời quản trị hệ thống thƣờng xuyờn nờn ghi lại logfile đối với dịch vụ này.

Logfile của dịch vụ FTP:

Hầu hết cỏc daemon FTP hiện nay đều cho phộp cấu hỡnh để ghi lại logfile sử dụng dịch vụ FTP trờn hệ thống đú. Hoạt động ghi logfile của dịch vụ FTP thƣờng đƣợc sử dụng với lựa chọn "-l", cấu hỡnh cụ thể trong file /etc/inetd.conf nhƣ sau: # more /etc/inetd.conf

Sau đú cấu hỡnh syslog.conf tƣơng ứng với dịch vụ FTP; cụ thể nhƣ sau: #

# Logfile FTP

daemon.info ftplogfile

Với lựa chọn này sẽ ghi lại nhiều thụng tin quan trọng trong một phiờn ftp nhƣ: thời điểm truy nhập, địa chỉ IP, dữ liệu get/put... vào site FTP đú. Vớ dụ nội dung logfile của một phiờn ftp nhƣ sau:

Sun Jul 16 21:55:06 2000 12 nms 8304640 /export/home/ntcong/PHSS_17926.depot b _ o r ntcong ftp 0 * c Sun Jul 16 21:56:45 2000 96 nms 64624640 /export/home/ntcong/PHSS_19345.depot b _ o r ntcong ftp 0 * c Sun Jul 16 21:57:41 2000 4 nms 3379200 /export/home/ntcong/PHSS_19423.depot b _ o r ntcong ftp 0 * c Sun Jul 16 22:00:38 2000 174 nms 130396160 /export/home/ntcong/PHSS_19987.depot b _ o r ntcong ftp 0 * c

Logfile của dịch vụ Web:

Tựy thuộc vào Web server sử dụng sẽ cú cỏc phƣơng thức và cấu hỡnh ghi logfile của dịch vụ Web khỏc nhau. Hầu hết cỏc web server thụng dụng hiện nay đều hỗ trợ cơ chế ghi log. Vớ dụ nội dung logfile của dịch vụ Web sử dụng Web server Netscape nhƣ sau:

202.167.123.170 - - [03/Aug/2000:10:59:43 +0700] "GET /support/cgi-bin/search.pl HTTP/1.0" 401 223 203.162.46.67 - - [03/Sep/2000:22:50:52 +0700] "GET http://www.geocities.com/ HTTP/1.1" 401 223 203.162.0.85 - - [15/Sep/2000:07:43:17 +0700] "GET /support/cgi-bin/search.pl HTTP/1.0" 401 223 203.162.0.85 - vhai [15/Sep/2000:07:43:22 +0700] "GET /support/cgi-bin/search.pl HTTP/1.0" 404 207 203.162.0.85 - - [15/Sep/2000:07:43:17 +0700] "GET /support/cgi-bin/search.pl HTTP/1.0" 401 223

3.1.1.2. Một số cụng cụ hữu ớch hỗ trợ phõn tớch logfile:

Đối với ngƣời quản trị, việc phõn tớch logfile của cỏc dịch vụ là hết sức quan trọng; cú một số cụng cụ trờn mạng giỳp ngƣời quản trị thực hiện cụng việc này dễ dàng hơn; đú là:

 Tiện ớch chklastlog và chkwtmp giỳp phõn tớch cỏc logfile lastlog và WTMP theo yờu cầu ngƣời quản trị. Cú thể tỡm thấy cỏc cụng cụ này ở địa chỉ ftp.fc.net (/pub/security/chklastlog-1.0.tar.gz và /pub/security/chkwtmp-1.0.tar.gz).

Tiện ớch netlog giỳp phõn tớch cỏc gúi tin, gồm 3 thành phần:

 TCPlogger: log lại tất cả cỏc kết nối TCP trờn một subnet

 UDPlogger: log lại tất cả cỏc kết nối UDP trờn một subnet

Tiện ớch này cú thể tỡm thấy ở địa chỉ ftp.fc.net/pub/security/netlog-1.2.tar.gz Tiện ớch TCP wrapper: Tiện ớch này cho phộp ngƣời quản trị hệ thống dễ dàng giỏm sỏt và lọc cỏc gúi tin TCP của cỏc dịch vụ nhƣ systat, finger, telnet, rlogin, rsh, talk… Tiện ớch này cú thể tỡm thấy ở địa chỉ: (adsbygoogle = window.adsbygoogle || []).push({});

ftp.cert.org/pub/tools/tcp_wrappers/tcp_wrappers_7.2.tar

3.1.1.3. Cỏc cụng cụ ghi log thường sử dụng trong Windows NT:

Trong hệ thống Windows NT 4.0 và Windows 2000 hiện nay đều hỗ trợ đầy đủ cỏc cơ chế ghi log với cỏc mức độ khỏc nhau. Ngƣời quản trị hệ thống tựy thuộc vào mức độ an toàn của dịch vụ và cỏc thụng tin sử dụng cú thể lựa chọn cỏc mức độ ghi log khỏc nhau. Ngoài ra, trờn hệ thống Windows NT cũn hỗ trợ cỏc cơ chế ghi logfile trực tiếp vào cỏc database để tạo bỏo cỏo; giỳp ngƣời quản trị phõn tớch và kiểm tra hệ thống nhanh chúng và thuận tiện. Sử dụng tiện ớch event view để xem cỏc thụng tin logfile trờn hệ thống với cỏc mức độ nhƣ Application log; Security log; System log. Cỏc hỡnh dƣới đõy sẽ minh hoạ một số hoạt động ghi logfile trờn hệ thống Windows:

Vớ dụ: Để ghi lại hoạt động đọc, viết, truy nhập.... đối với một file/thƣ mục là thành cụng hay khụng thành cụng ngƣời quản trị cú thể cấu hỡnh nhƣ sau:

Chọn File Manager - User Manager - Security - Auditing. Vớ dụ hỡnh sau minh họa cỏc hoạt động cú thể đƣợc ghi log trong Windows 2000:

 Sử dụng tiện ớch Event View cho phộp xem những thụng tin logfile nhƣ sau:

Hỡnh 18 - Cụng cụ Event View của Windows 2000

Thụng bỏo này cho biết nguyờn nhõn, thời điểm xảy ra lỗi cũng nhƣ nhiều thụng tin quan trọng khỏc.

Cú thể cấu hỡnh Event Service để thực hiện một action khi cú một thụng bỏo lỗi xảy ra nhƣ sau:

Hỡnh 20 - Cấu hỡnh dịchvụ ghi logs trong Windows 2000

Ngoài ra, cũng giống nhƣ trờn UNIX, trong Windows NT cũng cú cỏc cụng cụ theo dừi logfile của một số dịch vụ thụng dụng nhƣ FTP, Web; Tựy thuộc vào loại server sử dụng cú cỏc phƣơng phỏp cấu hỡnh khỏc nhau.

3.2. CÁC BIỆN PHÁP TẠO KẾT NỐI AN TOÀN

3.2.1. Giới thiệu chung:

Bảo mật của dịch vụ Web núi chung và của cỏc dịch vụ khỏc (nhƣ mail, FTP) đều dựa trờn nền một giao thức căn bản là SSL (Secure Socket Layer)

Trong mụ hỡnh kiến trỳc mạng TCP/IP, SSL nằm giữa tầng ứng dụng và tầng mạng. Hỡnh sau mụ tả vị trớ của SSL trong kiến trỳc TCP/IP nhƣ sau:

Giao thức SSL nằm trờn tầng TCP/UDP và nằm dƣới cỏc giao thức ở tầng ứng dụng nhƣ HTTP, IMAP, SMTP, POP3... Đối với dịch vụ Web núi riờng giao thức SSL đảm bảo thực hiện quỏ trỡnh kiểm tra tớnh xỏc thực giữa Server và Client , sau đú thực hiện một kết nối bảo mật giữa Client và Server

Để đảm bảo cho Server và Client làm việc đƣợc với nhau (vỡ chỳng cú thể sử dụng cỏc thuật toỏn mó hoỏ (Cipher) khỏc nhau), do vậy SSL đảm bảo tớnh tƣơng thớch giữa Cipher của Client và Server.

Giao thức SSL hỗ trợ nhiều Cipher khỏc nhau; Cỏc cipher đƣợc sử dụng trong cỏc quỏ trỡnh kiểm tra tớnh xỏc thực của Serves va Client; truyền Certificate, tạo secret keys của một phiờn làm việc. Thực tế là Client và Server sẽ sử dụng cỏc Cipher khỏc nhau, một tập hợp cỏc Cipher do đú cỏc phiờn bản SSL lần lƣợt ra đời hỗ trợ cỏc Cipher mới;

Một Cipher Suite hỗ trợ những thuật toỏn sau: DES DSA KEA MD5 RC2 và RC4 RSA MD5 RSA SHA-1

3.2.2. Cỏc hoạt động của giao thức SSL đối với dịch vụ

SSL Server Authentication (Kiểm tra tớnh xỏc thực của Server): Cho phộp ngƣời sử dụng kiểm tra tớnh đỳng đắn của một server mà nú giao tiếp; Phần mềm Client (cú hỗ trợ SSL) sẽ sử dụng cỏc chuẩn kỹ thuật của phƣơng thức mó húa khúa cụng khai kiểm tra cỏc thụng tin về Certificate của Server và public key của Server là hợp lệ hay khụng bằng việc hỏi một CA mà nú tin cậy. Kiểm tra tớnh xỏc thực một Server là quan trọng trong một giao tiếp Web yờu cầu cú tớnh bảo mật vớ dụ, trong trƣờng hợp ngƣời sử dụng cần gửi một thụng tin tới Web server là số Credit Card của mỡnh

SSL Client Authentication: Là quỏ trỡnh ngƣợc lại; kiểm tra tớnh xỏc thực của Client. Với cựng một phƣơng thức hoạt động nhƣ quỏ trỡnh kiểm tra tớnh xỏc thực của Server, Web Server (cú hỗ trợ SSL) sẽ kiểm tra tớnh đỳng đắn của public ID và Certificate của Client bằng việc hỏi CA mà nú tin cậy về tớnh hợp lệ của Client đú.

Thiết lập một kết nối SSL: Yờu cầu tất cả thụng tin trao đổi giữa Client và Server đƣợc mó húa bằng cỏc phần mềm gửi và phải giải mó đƣợc bằng phần mềm nhận; do vậy SSL là một giao thức đƣợc xõy dựng để hỗ trợ cỏc cơ chế bảo mật khỏc nhau. Ngoài ra tất cả cỏc dữ liệu đƣợc truyền qua một kết nối SSL đều đƣợc bảo vệ tớnh toàn vẹn dữ liệu và sẽ tự động phỏt hiện những thay đổi nội dung dữ liệu trờn đƣờng truyền.

Giao thức SSL bao gồm 2 giao thức con là SSL record protocol và SSL handshake Protocol. SSL record protocol sẽ định nghĩa dạng dữ liệu sử dụng để truyền trong một kết nối SSL. Giao thức SSL handshake sẽ sử dụng dữ liệu định dạng theo giao thức SSL record protocol để trao đổi message giữa SSL Server và SSL Client khi chỳng đầu tiờn thực hiện một kết nối SSL. Trao đổi một message đƣợc thiết kế cú những hoạt động chớnh nhƣ sau:

Kiểm tra tớnh xỏc thực của Server và Client

Cho phộp Client và Server lựa chọn cỏc phƣơng thức mó húa mà thực thể đú sử dụng (cipher) ; để đảm bảo chỳng làm việc đƣợcv ới nhau

Kiểm tra tớnh xỏc thực từ Client đến Server là một lựa chọn

Sử dụng kỹ thuật mó húa public key để tạo một secret key sử dụng trong kết nối SSL sau đú

Tạo một kết nối SSL

3.2.3. SSL Handshake (adsbygoogle = window.adsbygoogle || []).push({});

Giao thức SSL sử dụng kết hợp hai phƣơng thức mó húa dựng public-key và

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 66)