Tải bản đầy đủ (.pdf) (5 trang)

Đề án tốt nghiệp: Công nghệ bảo mật trên đà phát triển của công nghệ thông tin phần 2 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (244.08 KB, 5 trang )

Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 6


GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
bảo mật bao gồm việc kiểm toán chính xác và cả việc có nên để như thế hay không.
PortSentry là một ví dụ của công cụ theo dõi thời gian thực được thiết kế để quét
phát hiện ra hệ thống, và có khả cho bạn những hồi đáp.

4. Các ứng dụng an toàn
Một vài deamons chuẩn trong việc phân phối Linux hiện thời là những ứng dụng
đầy đủ mà nó có cấu trúc file phức tạp. Web, file, mail server sử dụng những giao
thức phức tạp. An toàn có thể được thực hiện bởi các đặc tính bảo mật của việc các
đại lý cho phép(MTA‟s) như Sendmail, Qmail và Postfix.
Web Server có thể cũng được giữ an toàn bởi các modul cho phép: mod_auth,
mod_auth_dbm, mod_auth_db,….Việc cho phép Open SS hỗ trợ cho Apache sẽ cũng
công tác với web server. Samba có thể làm an toàn bởi việc đọc các thông số đang
chạy. Bước đầu tiên sẽ được bảo vệ bởi công cụ quản trị web Samba (SAT) với SLL
nên các lệnh quản lý Samba được bảo vệ.

5. Chu vi an toàn
Cấp số tự nhiên của cách tiếp cận được sắp từng lớp đến sự an toàn máy tính
ra khỏi lớp từ lớp mạng đến lớp ứng dụng, và từ đó đền lớp chu vi. Đây là vùng được
quan tâm. Firewalls là thành phần chính của miền chu vi an toàn, là phần mền mà
chức năng bắt buộc tổ chức bảo mật an toàn bởi bộ lọc, bảo mật, đẩy mạnh, hay yêu
cầu nằm trong Linux server để kết nối đến cả mạng chính và Internet. Fireware có
thể được thực hiện nhiều cách dựa trên các lớp của mô hình OSI: lớp mạng, lớp giao
vận và ứng dụng. Có điểm tích cực và tiêu cực trong việc triển khai fireware tại các
lớp của mạng.Firewall mạng được biết như các packet-filtering gateway, nơi mà


chúng kiểm tra nhữg gói tin IP vào giao diện fireware và hoạt động phù hợp được giữ
lại. hoạt động bao gồm drop, cho phép/ hoặc log. Sự bất lợi là kiểu Firewall này
không khôn khéo. Firwall giao vận làm việc bởi khảo sát TCP hoặc UDP. Firewall yêu
cầu sự can thiệp người dùng sửa đổi những thủ tục. Firewall ứng dụng làm cho các
quyết định truy nhập ở tầng ứng dụng.Nó cho phép người quản trị may firewall cho
yêu cầu của mỗi loại ứng dụng. Caci bất tiện trong firewall là người quản trị cần định
hình triển khai theo dõi, và bảo trì quá trình firewall cho mỗi ứng dụng mà cần truy
nhập điều khiển.
Nó luôn là tôt đẻ thực hiện bảo mật bởi việc sử dụng kết hợp một firewall tại
tất cả ba tầng để tránh sự tổn thương. Firewall không chỉ cản trở những người làm
phiền không hợp pháp vào mạng nhưng phải cho phép người sử dụng truy nhập bên
ngoài vào nguồn tài nguyên, trong khi đó chấp nhận phê chuẩn nhất định những kết
nối sau cho người dùng. Đây là nhận thức dễ nhưng đó là một thách thức khi thi
hành.
o Firewall mạng
Có vài lợi thế trong việc sử dụng Linux như nền tảng fireware. Sự quản lý
đồng bộ, phần cứng, số người dùng, kiểm tra nền tảng, việc thực hiện, giá giữa các
lý do tại sao. Sự loc gói là lợi ích hiệu quả và cách bảo vẩptong phậm vi tránh xâm
nhập. Người sử dụng không cần xác nhận để sử dụng tin cậy những dịch vụ vùng
bên ngoài.
Những giải pháp cho việc lọc gói trong Linux bao gồm ipchains và ipfwadm.
tiện ích của việc lọc gói tin được sử dụng trong nhân từ phiên bản 1.2.1 về trước.
Phiên bản cuối cùng của ipfwadm vào tháng 7/1996, sau đó ipchains thay thế
nó. Những địa chỉ Ipchains là những giới hạn thiếu sót của ipfwadr như đếm 32 bit,
không có khả năng giải quyết cấu thành địa chỉ IP, v.v. Ipchains chiến thắng các
giới hạn đó bởi việc tận dụng lợi ích của ba kênh riêng biệt hay những quy tắc nối
tiếp để lọc. Ba kênh đó là : INPUT, OUTPUT, và FORWARD.
Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 7



GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
Tiện ích Ipchains theo cú pháp:
ipchains command chain rule-specification [options] -j action
Tại đây có thể một trong số kênh INPUT, OUTPUT hoặc FORWARD. Như nhân
2.4 về trước, tính hoạt động một lần của Ipchains được thay thế bởi Netfilter và
khoảng quy tắc Iptables. Netfilter được hỗ trợ bởi công nghệ Watchguard. Ipctables
được phát triển từ tiện ích của Ipchains và nó chỉ chạy trên những phiên bản 2.3 về
trước.
Một ví dụ về lệnh Iptables:
iptables -A INPUT -p tcp –-dport smtp -j ACCEPT.
Hiện nay có những thiết kế firewall bắt được hầu hết các cấu trúc mạng phổ
biến, báo hiệu đơn giản theo yêu cầu kết nối tới những nơi rất phức tạp kéo theo khu
vực được phi quân sự hoá(DMZ).

II. Bảo mật Linux Server

Những kinh nghiệm bảo mật
Hiện nay Linux đang dần trở thành một hệ điều hành khá phổ biến bởi tính
kinh tế, khả năng bảo mật và sự uyển chuyển cao. Thế nhưng, mọi hệ thống dù an
toàn đến đâu cũng dễ dàng bị xâm nhập nếu người dùng(và nhất là người quản trị-
root) không đặt sự bảo mật lên hàng đầu. Sâu đây là một só kinh nghiệm về bảo
mật trên hệ điều hành Red Hat Linux mà chúng tôi muốn chia sẽ cùng các bạn:
1. Không cho phép sử dụng tài khoảng root từ console: Sau khi cài đặt,
tài khoảng root sẽ không có quyền kết nối telnet vào dịch vụ telnet trên hệ thống,
trong khi đó tài khoản bình thường lại có thể kết nối, do nội dung tập tin
/etc/security chỉ quy định những console được phép truy cập bởi root và chỉ liệt kê
những console truy xuất khi ngồi trực tiếp tại máy chủ. Để tăng cường bảo mật hơn

nữa, hãy soạn thảo tập tin /etc/security và bỏ đi những console bạn không muốn
root truy cập.

2. Xoá bớt tài khoảng và nhóm đặc biệt:Người quản trị nên xoá bỏ tất cả
các tài khoảng và nhóm được tạo sẵn trong hệ thống nhưng không có nhu cầu sử
dụng.( ví dụ: lp, syne, shutdown, halt, news, uucp, operator, game, gophẻ…). Thực
hiện việc xoá bỏ tài khoảng bằng lệnh usedel và xoá bỏ nhóm với lệnh groupdel

3. Tắt các dịch vụ không sử dụng: Một điều khá nguy hiểm là sau khi cài
đặt, hệ thống tự động chạy khá nhiều dịch vụ, trong đó đa số là các dịch vụ không
mong muốn, dẫn đến tiêu tốn tài nguyên và sinh ra nhiều nguy cơ về bảo mật. Vì
vậy người quản trị nên tắt các dịch vụ không dùng tới(ntsysv) hoặc xoá bỏ các gói
dịch vụ không sử dụng bằng lệnh rpm

4. Không cho “SU” (Substitute) lên root: Lệnh su cho phép người dùng
chuyển sang tài khoảng khác. Nếu không muốn người dùng “su” thành root thì thêm
hai dòng sau vào tập tin /etc/pam.d/su:
Auth sufficient/lib/security/pam_root ok so debug
Auth required/lib/security/pam_wheel.so group= tên_nhóm_root

5. Che dấu tập tin mật khẩu: Giai đoạn đầu, mật khẩu toàn bộ tài khoảng
được lưu trong tập tin /etc/password, tập tin mà mọi người dùng đều có quyền đọc.
Đây là kẻ hở lớn trong bảo mật dù mật khẩu được mã hoá nhưng việc giải mã không
phải là không thể thực hiện được. Do đó, hiện nay các nhà phát triển Linux đã đặt
Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 8


GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang

Nguyễn Huy Chương
riêng mật khẩu mã hoá vào tập tin /ect/shadow chỉ có root mới đọc được, nhưng
yêu cầu phải chọn Enable the shadow password khi cài Red Hat.

6. Luôn nâng cấp cho nhân (kernel) Linux:Linux không hẵn được thiết kế
với tính năng bảo mật chặt chẽ, khá nhiều lỗ hỏng có thể bị lợi dụng bởi tin tặc. Vì
vậy việc sử dụng một hệ điều hành với nhân được nâng cấp là rất quan trọng vì một
khi nhân, phần cốt lõi nhất của hệ điều hành được thiết kế tốt thì nguy cơ bị phá hoại
sẽ giảm đi rất nhiều.

7. Tự động thoát khỏi Shell: Người quản trị hệ thống và kể cả người sử
dụng bình thường rất hay quên thoát ra dấu nhắc shell khi kết thúc công việc. Thât
nguy hiểm nếu có một kẻ nào sẽ có toàn quyền truy suất hệ thống mà chăng tốn
chút công sức nào cả. Do vậy người quản trị nên cài đặt tính năng tự động thoát khỏi
shell khi không có sự truy xuất trong khoảng thời gian định trước bằng cách sử dụng
biến môi trường và gán một giá trị quy định Số giây hệ thống duy trì dấu nhắc,
bạn nên vào tâp tin /ect/ profile để luôn tác dụng trong mọi phiên làm việc.

8. Không cho phép truy nhập tập tin kịch bản khởi động của Linux: Khi hệ
điều hành Linux khởi động, các tập tin kịch bản (script) được đặt tại thư mục
/etc/rc.d/init.d sẽ được gọi thực thi. Vì thế, để tránh những sự tò mò không cần thiết
từ phía người dùng, với tư cách người quản trị, bạn nên hạn chế quyền truy xuất tới
các tập tin này và chỉ cho phép tài khoảng root xử lý bằng lệnh sau:
#chmod –R 700/etc/rc.d/init.d*

9. Giới hạn việc tự ý ghi nhận thông tin từ shell: Theo mặc định, tất cả
lệnh được thực thi tại dấu nhắc shell của tài khoảng đều được ghi vào tập tin
.bash_history( nếu sd bashshell) trong thư mục cá nhân của từng tài khoảng. Điều
này gây nên vô số nguy hiểm tiềm ẩn, đặc biệt đối với những ứng dụng đòi hỏi người
dùng phải gõ thông tin mật khẩu. Do đó người quản trị nên giới hạn việc tự ý ghi

nhận thông tin từ shell dựa vào hai biến môi trường HISTFILESIZE và HISTSIZE:
- Biến môi trường HISTFILESIZE quy định số lệnh gõ tại dấu nhắc shell sẽ
được lưu lại cho lần truy cập sau.
- Biến môi trường HISTSIZE quy định số lệnh sẽ được ghi nhớ trong phiên
làm việc hiện hành.
Vì vậy, ta sẽ phải giảm giá trị của HISTSIZE và cho giá trị HISTFILESIZE bằng
0 để giảm thiểu tối đa những nguy hiểm. Bạn thực hiện việc này bằng cách thay đổi
giá trị hai biến nêu trên trong tập tin /etc/profile như sau:
HISTFILESIZE = 0
HISTSIZE = xx
Trong đó xx là số lệnh mà shell sẽ ghi nhớ, đồng thời không ghi lại bất kỳ một
lệnh nào do người dùng đã gõ khi người dùng thoát khỏi shell.

10. Tắc các tiến trình SUID/SGID : Bình thường, các tiến trình được thực
hiện dưới quyền của tài khoản gọi thực thi ứng dụng đó. Đó là dưới windows, nhưng
Unix/Linux lại sử dụng một kỹ thuật đặc biệt cho phép một số chương trình được
thực hiện dưới quyền của người quản lý chương trình chứ không phải người gọi thực
thi chương trình. Và đây chính là lý do tại sao tất cả mọi người dùng trong hệ thống
đều có thể đổi mật khẩu của mình trong khi không hề có quyên truy xuất lên tập tin
/etc/shadow, đó là vì lệnh passwd đã được gán thuộc tính SUID và được quản lý bởi
root, mà root lại là người dùng duy nhất có quyền truy xuất /etc/shadow.
Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 9


GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
Tuy thế, khả năng tiên tiến này có thể gây nên những nguy cơ khá phức tạp vì
nếu một chương trình có khả năng thực thi được quản lý bởi root, do thiết kế tồi hoặc

do được cài đặt cố tình bởi những kẻ phá hoại mà lại được đặt thuộc tính SUID thì
mọi điều “ khủng khiếp” đều có thể xảy ra. Thực tế cho thấy có khá nhiều kỹ thuật
xâm phạm hệ thống mà không có quyền root được thực hiện bằng các kỹ thuật này:
kẻ phá hoại bằng cách nào đó tạo một shell được quản lý bởi root, có thuộc tính
SUID, kế đến mọi truy xuất phá hoại sẽ được thực hiện qua shell vừa tạo vì mọi lệnh
thực hiện trong shell sẽ được thực hiện giống như dưới quyền root.
Thuộc tính SGID cũng tương tự như SUID: các chương trình được thực hiện với
quyền nhóm quản lý chương trình chứ không phải nhóm của người chạy chương
trình. Như vậy người quản trị sẽ phải thường xuyên kiểm tra trong hệ thống có
những ứng dụng nào có thuộc tính SUID hoặc SGID mà không được sự quản lý của
root không, nếu phát hiện được tập tin có thuộc tính SUID/SGID “ ngoài luồng”, bạn
có thể loại bỏ các thuộc tình này bằng lệnh:
#chmod a-s

III. Linux Firewall

An toàn hệ thống luôn luôn là một vấn đề sống còn của mạng máy tính và firewall là
một thành phần cốt yếu cho việc đảm bảo an ninh.
Một firewall là một tập hợp các qui tắc, ứng dụng và chính sách đảm bảo cho người
dùng truy cập các dịch vụ mạng trong khi mạng bên trong vẫn an toàn đối với các kẻ tấn
công từ Internet hay từ các mạng khác. Có hai loại kiến trúc firewall cơ bản là :
Proxy/Application firewall và filtering gateway firewall. Hầu hết các hệ thống firewall hiện
đại là loại lai (hybrid) của cả hai loại trên.
Nhiều công ty và nhà cung cấp dịch vụ Internet sử dụng máy chủ Linux như một
Internet gateway. Những máy chủ này thường phục vụ như máy chủ mail, web, ftp, hay
dialup. Hơn nữa, chúng cũng thường hoạt động như các firewall, thi hành các chính sách
kiểm soát giữa Internet và mạng của công ty. Khả năng uyển chuyển khiến cho Linux thu
hút như là một thay thế cho những hệ điều hành thương mại.
Tính năng firewall chuẩn được cung cấp sẵn trong kernel của Linux được xây dựng từ
hai thành phần : ipchains và IP Masquerading.

Linux IP Firewalling Chains là một cơ chế lọc gói tin IP. Những tính năng của IP
Chains cho phép cấu hình máy chủ Linux như một filtering gateway/firewall dễ dàng. Một
thành phần quan trọng khác của nó trong kernel là IP Masquerading, một tính năng
chuyển đổi địa chỉ mạng (network address translation- NAT) mà có thể che giấu các địa
chỉ IP thực của mạng bên trong. Để sử dụng ipchains, bạn cần thiết lập một tập các luật
mà qui định các kết nối được cho phép hay bị cấm.
Các nguyên tắc Ipchains Thực hiện các chức năng sau:
± Accept: The packet is okay; allow it to pass to the appropriate chain
Cho phép chuyển gói tin qua chain thích hợp
± Deny: The packet is not okay; silently drop it in the bit bucket. Không
đồng ý , bị rớt.
± Reject: The packet is not okay; but inform the sender of this fact via
an ICMP packet. Không đồng ý, nhưng sự việc của người gởiqua gói ICMP
± Masq: Used for IP masquerading (network address translation). Sử
dụng cho IP masquerading ( việc dịch địa chỉ mạng)
± Redirect: Send this packet to someone else for processing. Gởi gói tin
này đến một người khác để sử lý
± Return: Terminate the rule list. Hoàn thành danh sách các quy tắc.
Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 10


GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
Chú ý: Các gói Ipfw(ipfilters/iptable) dưới hệ điều hành BSD cung cấp hoạt động
tương tự Ipchains.
Ví dụ:
# Cho phép các kết nối web tới Web Server của bạn
/sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT

# Cho phép các kết nối từ bên trong tới các Web Server bên ngoài
/sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j
ACCEPT
# Từ chối truy cập tất cả các dịch vu khác
/sbin/ipchains -P your_chains_rules input DENY
Ngoài ra, bạn có thể dùng các sản phẩm firewall thương mại như Check Point FireWall-
1, Phoenix Adaptive Firewall, Gateway Guardian, XSentry Firewall, Raptor, hay rất
nhiều các phiên bản miễn phí, mã nguồn mở cho Linux như T.Rex Firewall, Dante, SINUS,
TIS Firewall Toolkit,

1.DÙNG CÔNG CỤ DÕ TÌM ĐỂ KHẢO SÁT HỆ THỐNG

Thâm nhập vào một hệ thống bất kỳ nào cũng cần có sự chuẩn bị. Hacker phải xác
định ra máy đích và tìm xem những port nào đang mở trước khi hệ thống có thể bị xâm
phạm. Quá trình này thường được thực hiện bởi các công cụ dò tìm (scanning tool), kỹ
thuật chính để tìm ra máy đích và các port đang mở trên đó. Dò tìm là bước đầu tiên
hacker sẽ sử dụng trước khi thực hiện tấn công. Bằng cách sử dụng các công cụ dò tìm
như Nmap, hacker có thể rà khắp các mạng để tìm ra các máy đích có thể bị tấn công.
Một khi xác định được các máy này, kẻ xâm nhập có thể dò tìm các port đang lắng nghe.
Nmap cũng sử dụng một số kỹ thuật cho phép xác định khá chính xác loại máy đang
kiểm tra.
Bằng cách sử dụng những công cụ của chính các hacker thường dùng, người quản trị
hệ thống có thể nhìn vào hệ thống của mình từ góc độ của các hacker và giúp tăng cường
tính an toàn của hệ thống. Có rất nhiều công cụ dò tìm có thể sử dụng như: Nmap,
strobe, sscan, SATAN,
Nmap
Là chữ viết tắt của "Network exploration tool and security scanner" . Đây là chương trình
quét hàng đầu với tốc độ cực nhanh và cực mạnh. Nó có thể quét trên mạng diện rộng và
đặc biệt tốt đối với mạng đơn lẻ. NMAP giúp bạn xem những dịch vụ nào đang chạy trên
server (services/ports:webserver,ftpserver,pop3, ), server đang dùng hệ điều hành gì,

loại tường lửa mà server sử dụng, và rất nhiều tính năng khác. Nói chung NMAP hỗ trợ
hầu hết các kỹ thuật quét như : ICMP (ping aweep), IP protocol, Null scan, TCP SYN (half
open), NMAP được đánh giá là công cụ hàng đầu của các Hacker cũng như các nhà
quản trị mạng trên thế giới.
Quét an toàn Nmap là một trong số công cụ quét an toàn được sử dụng rộng
rãi nhất sẵn có. Nmap là một cổng quét mà chống lại các nhân tố, các cách khác tàn
phá đến mạng của bạn. Nó có thể phát sinh ra nhiều kiểu gói mà thăm dò các ngăn
xếp TCP/IP trên những hệ thống của bạn.
Nmap có thể phát sinh ra một danh sách của những cổng mở dịch vụ trên hệ
thống của bạn,thâm nhập firewalls, và cung cấp những tin quấy rầy, không tin cậy
đang chạy trên host của bạn. Nmap security có sẵn tại :
.Dưới đây là một ví dụ sử dụng Nmap:
# nmap -sS -O 192.168.1.200
Starting nmap V. 2.54 by Fyodor (, www.insecure.org/nmap/)
Interesting ports on comet (192.168.1.200):
Port State Protocol Service
7 open tcp echo
19 open tcp chargen

×