1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >

3 Cài đặt và cải tiến các dịch vụ

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 (613.59 KB, 124 trang )


Tìm hiểu về an toàn và bảo mật trên mạng



khiển truy cập đơn giản cho việc bảo vệ, cũng như là phát triển đăng nhập,

cho các dịch vụ được bắt đầu bằng inetd.

Việc sử dụng gói tin TCP Wrapper là đơn giản. Đõy là những việc

bạn cần làm:

1. Cài đặt gói tin và đưa ra một cặp file điều khiển truy cập

đơn giản sẽ xác định các máy chủ nào và các mạng được cho phép

để truy cập tới loại dịch vụ nào.

2. Định lại cấu hình inetd của bạn để chạy chương trình

TCP Wrapper chính (gọi là tcpd) thay cho dịch vụ “thực”.

3. Khi một yêu cầu cho một dịch vụ được đưa vào, inetd

khởi động tcpd, nó ước lượng yêu cầu ngược lại các file cấu hình

TCP Wrapper. Chương trình này quyết định khi nào hay không để

đăng nhập yêu cầu, và khi nào hay không thực hiện yêu cầu này.

4. Nếu tcpd quyết định yêu cầu này được chấp nhận, nó bắt

đầu dịch vụ “thực” để thực hiện yêu cầu này.

Ví dụ, nếu bạn muốn để các kết nối Telnet từ một máy chủ đặc biệt

(172.16.1.2) tới máy của bạn, nhưng từ chối các kết nối Telnet từ tất cả các

máy chủ khác, bạn sẽ thay đổi đường truyền cho Telnetd trong file

/etc/inetd.conf của bạn để tuyên bố gì đó như:

telnet stream tcp nowait root /usr/local/libexec/tcpd telnetd

Bạn cũng sẽ không cần tạo một file /etc/host.allow thông tin cho gói

tin TCP Wrapper (chương trình tcpd) máy chủ nào được cho phép kết nối từ

đó:

Telnetd: 172.16.1.2



Tìm hiểu về an toàn và bảo mật trên mạng



Cuối cùng, bạn cần tạo một file /etc/host.deny để thông tin cho gói tin

TCP Wrapper để từ chối tất cả các kết nối từ tất cả các máy chủ bằng nặc

định, và để gửi thư tới gốc về mỗi thăm dò:

ALL : ALL : (/usr/local/etc/safe_finger –1 @%h | \

/usr/ucb/Mail –s “PROBE %d from %C” root)&

Lưu ý rằng file /etc/host.deny chỉ áp dụng cho việc bảo vệ các dịch vụ

bằng gói tin TCP Wrapper (nghĩa là, các dịch vụ mà bạn vủa định cấu hình

inetd để chạy tcpd thay cho dịch vụ thực). Nếu bạn không thông tin cho

inetd để chạy gói tin TCP Wrapper (chương trình tcpd) cho một dịch vụ

được đưa ra, sau đú gói tin TCP Wrapper sẽ không làm bất cứ việc gì để ý

đến dịch vụ đó.

Mặc dù tên của nó, gói tin TCP Wrapper hỗ trợ các dịch vụ dựa trên

UDP trong việc bổ sung tới các dịch vụ dựa trên TCP. Chú ý rằng gói tin

TCP Wrapper chỉ có thể điề khiển khi khởi động các dịch vụ dựa trên UDP;

nó không thể điều khiển truy cập tới các dịch vụ đó mỗi khi chúng được

khởi động, và nhiều dịch vụ dựa trên UDP sẽ treo xung quanh và tiếp tục

thực hiện các yêu cầu cho một thời kỳ nào đó trừ yêu cầu khởi tạo đầu. Một

số thời điểm thoát và huỷ cuối cùng, nhưng mỗi khi chúng vừa được khởi

tạo qua một yêu cầu hợp pháp

7.3.2 Sử dụng netacl để bảo vệ dịch vụ

Thành phần netacl của TIS FWTK cung cấp cùng khả năng với gói

tin TCP Wrapper. Để thực hiện cùng ví dụ nh ở trên ( ngoại trừ khả năng

theo vết từ những hệ thống không hợp pháp) sử dụng netacl, Bạn thay đổi

hàng cho telnetd bên trong file /etc/inetd.conf

telnet stream tcp nowait root /usr/local/lib/netacl telnetd



Tìm hiểu về an toàn và bảo mật trên mạng



Sau đó bạn có thể bổ sung dòng sau vào file cấu hình của FWTK

netperm (bất cứ nơi nào trong hệ thống của bạn)

netacl-telnetd: permit-hosts 172.16.1.2 -exec /usr/libexec/telnetd



7.4. Định lại cấu hình cho sự sản xuất

Bây giờ sẽ là thời gian chuyển máy từ cấu hình hữu Ých đối với bạn

khi bạn đang xây dựng nó tới cấu hình tốt nhất để chạy nó. Bạn sẽ cần làm

vài các thứ :

Xây dựng và định lại cấu hình nhân.

Loại bỏ tất cả các chương trình không cần thiết.

Gán hệ thống file sang dạng chỉ đọc nếu có thể.

Xoá tất cả các dịch vụ mà bạn không được sử dụng hàng ngày, bạn sẽ

gặp nhiều khó khăn trong khi làm việc với máy chủ pháo đài, e.g., khi bạn

cần thiết lập phần mềm mới hoặc nâng cấp những cái hiện hữu. Đấy là một

số đề nghị những việc mà bạn nên làm khi làm việc với máy chủ pháo đài.

Ghi tất cả các công cụ trên đĩa trước khi xóa chúng, và khôi

phục chúng từ đĩa khi cần. Không quên rằng để xóa

chúng mỗi lần sau khi bạn được làm.

Thiết lập một đĩa khởi động nhỏ, ngoài, với tất cả các công cụ

trên nó. Sau đó, hãy đưa đĩa vào và khởi động từ nó khi

bạn cần công cụ. Không tháo đĩa trong suốt thời gian

thao tác, tuy nhiên; bạn không muốn kẻ tấn công có thể

gắn đĩa và sử dụng những công cụ để chống lại bạn.

Bạn không muốn một người nào đó tấn công máy trong khi bạn đang

làm việc trên nó. Để tránh việc đó khỏi xảy ra, hãy đi theo những bước

này :



Tìm hiểu về an toàn và bảo mật trên mạng



1.



Ngắt kết nối của máy chu pháo đài khỏi mạng hoặc



Internet trước khi bạn bắt đầu.

2.



Đưa vào máy chủ pháo đài những công cụ nếu cần thiết.



3.



Sau khi bạn đã kết thúc công việc của bạn, trả lại nó cho



điều kiện điều hành bình thường

4.



Kết nối lại máy chủ pháo đài tới mạng hoặc hoặc mạng



của bạn tới Internet.

Bạn có thể thấy nó đơn giản hơn để đơn giản tháo rời và gắn đĩa của

máy chủ pháo đài tới một máy nội bộ như là một đĩa phi hệ thống; sau đó

bạn có thể sử dụng những công cụ của máy nội bộ không phải lo ngại việc

có chúng vẫn có sẵn khi máy chủ pháo đài được trả lại cho dịch vụ. Thủ tục

này cũng bảo đảm rằng máy chủ pháo đài không thể bị tổn thương để thỏa

hiệp từ bên ngoài trong khi bạn đang làm việc, một khi nó là hoàn toàn phi

chức năng trong khi đĩa của nó bị loại bỏ và không bị ảnh hưởng tới việc kết

nối lại ngẫu nhiên.

7.4.1 Định lại cấu hình và xây dựng lại hạt nhân

Bước đầu tiên trong pha này trong việc xây dựng máy chủ pháo đài

của bạn là xây dựng lại hạt nhân hệ điều hành để loại bỏ những khả năng hạt

nhân mà bạn không cần. Nó có thể có cơ hội đe doạ, nhưng nhìn chung nó là

một thao tác tương đối dễ hiểu; nó là cần thiết, vì bạn sẽ sử dụng cùng các

khả năng đó mà bạn đã sử dụng để cài đặt một kiểu thiết bị mới trên hệ

thống của bạn. Mỗi hệ thống UNIX, nh shipped, chứa dạng nào đó của cấu

hình hỗ trợ ( chúng hạn chế đáng kể trong cách định lại cấu hình hạt nhân

được hỗ trợ và trong đó bạn có thể thực hiện). Ngoài ra việc giảm bớt kích

thước nhân của bạn (và do đó tạo ra nhiều bộ nhớ có sãn hơn cho những



Tìm hiểu về an toàn và bảo mật trên mạng



mục đích khác), xây dựng lại hạt nhân phủ nhận những người tấn công cơ

hội để khai thác những khả năng này.

Một số khả năng là đặc biệt nguy hiểm. Đặc biệt, bạn cần phải chắc

chắn loại bỏ những khả năng sau hoặc các bộ điều khiển thiết bị :





NFS và những khả năng liên quan







Bất cứ khả năng nào cho phép mạng sniffing, ví



dụ Network Interface Tap (NIT) hay lọc gói tin Berkeley

(BPF)

Mặc dù NIT và BPF được cung cấp cho mục đích kiểm tra và gỡ lỗi,

chúng thường bị sử dụng bởi những người tấn công. NIT và BPF nguy hiểm

vì chúng để cho máy lấy tất cả các gói tin ra khái Ethernet mà nó được gán

vào, thay cho chỉ những gói tin gửi tới nó. Việc vô hiệu hóa những khả năng

này có thể cản trở bạn sử dụng máy nh một hệ thống lọc gói tin, vì vậy bạn

có thể không thể xóa chúng trong tất cả các kiến trúc.

Nếu máy chủ pháo đài của bạn là một máy chủ lưỡng đích, thì đây là

lúc vô hiệu hóa IP đẩy tới.

Bạn phải là cẩn thận khi bạn vô hiệu hóa những khả năng hạt nhân

hơn là khi bạn vô hiệu hóa những dịch vụ bắt đầu bằng inetd hay ở thời điểm

khởi động từ các file /etc/rc (như đã mô tả trước đây). Có nhiều sự phụ thuộc

lẫn nhau giữa những khả năng hạt nhân. Với lý do này, đôi khi khó xác định

chính xác khả năng đã cho nào được sử dụng. Hệ quả của việc vô hiệu hóa

một khả năng thật sự được cần có thể là rất xấu, ví dụ hạt nhân mới có thể

không khởi động.

Đảm bảo rằng bạn theo những chỉ dẫn của nhà cung cấp của bạn cho

việc xây dựng và cài đặt những hạt nhân mới. Luôn luôn giữ một bản sao



Tìm hiểu về an toàn và bảo mật trên mạng



lưu hạt nhân cũ của bạn. Nếu bạn có một bản sao lưu, thì bạn có thể khởi

động từ nó khi bạn tìm thấy cái gì đó bị sai với hạt nhân mới. Chắc chắn bạn

biết cách khởi động một hạt nhân sao lưu và xem thủ tục trước khi bạn thử

khởi động trên hạt nhân mới. Chắc chắn hạt nhân sao lưu ở trong phần dành

riêng gốc; bạn không thể khởi động từ một hạt nhân không nằm trên phần

dành riêng gốc.

Khi bạn có thể khởi động lại máy, qua các file cấu hình hạt nhân với

phương thức giống như khi bạn qua những file khởi động, kiểm tra mỗi

tuyến đơn để chắc chắn rằng nó là cái bạn muốn. Một lần nữa, xem xét

những vị trí mà một file cấu hình chứa file khác, và kiểm tra thư mục của

bạn để đảm bảo rằng bạn đã xem xét tất cả các file cấu hình đã được tham

khảo. Thông thường có một file cho chứa những bộ điều khiển thiết bị và

một hoặc hơn nhiều hơn cho những tham sè; IP đẩy tới sẽ ở trong file đó.

Mét khi bạn đã có một hạt nhân đang hoạt động, bạn có lẽ sẽ muốn

xóa hoặc mã hóa hạt nhân “đầy đủ chức năng” cũ. Thay thế nó bởi một bản

sao lưu của hạt nhân cực tiểu đang hoạt động. Nh vậy sẽ giữ một người bẻ

khoá mà bằng cách nào đó xoay xở để phá hỏng máy của bạn đơn giản sử

dụng hạt nhân cũ để khởi động lại, và do đó khôi phục tất cả các dịch vụ mà

bạn đã cẩn thận vô hiệu hóa. Với những lý do tương tự, bạn có lẽ sẽ cũng

muốn xóa những file và những chương trình cần để xây dựng một hạt nhân

mới.

Nếu hạt nhân của bạn sử dụng các mô đun có thể tải được, thì có thể

khó xác định khi nào chúng được sử dụng. Bạn sẽ muốn xóa hoặc mã hóa

mọi thứ mà bạn không muốn sử dụng, nhưng vì chúng không phải thường

xuyên được tải, bạn có thể không biết chúng là cái gì. Giữ cho một môi

trường khởi động luân phiên thuận tiện, thử di chuyển chúng ra khỏi thư



Tìm hiểu về an toàn và bảo mật trên mạng



mục cho các mô đun có thể tải. Chạy máy qua các bước của nó trước khi bạn

cuối cùng loại bỏ hoặc mã hóa chúng.

Cẩn thận! Nhà cung cấp của bạn có thể đã cung cấp các bản sao của

các hạt nhân “chung” (mà tiêu biểu có mỗi khả năng có thể được cho phép)

trong các định vị bất ngờ cho việc sử dụng trong việc cài đặt máy khách

( không tồn tại) của nó. Ví dụ SunOS 4.x có những hạt nhân như vậy trong

thư mục /Usr/stand. Mò mẫm xung quanh trong tất cả các thư mục nơi

những file cài đặt được giữ và tất cả các thư mục cho các máy khách . Tài

liệu nói chung thông tin cho bạn nơi có các hạt nhân máy khách, nhưng hiếm

khi thông tin cho bạn các nội bộ của tiến trình cài đặt. Kiểm tra tài liệu cho

lời khuyên khôi phục tai hoạ, mà có thể có Ých thông tin cho bạn nơi để

định vị không gian các hình ảnh hạt nhân.

7.4.2. Loại bỏ các chương trình không cần thiết

Bước tiếp theo sẽ loại bỏ tất cả các chương trình mà không cần thiết

đối với thao tác hằng ngày. Nếu một chương trình không ở đó, thì một

người tấn công không thể khai thác bất kỳ những lỗi nào mà nó có thể chứa.

Nó đặc biệt đúng cho các chương trình setuid/setgid, đây là một đích rất hấp

dẫn cho một người tấn công. Bạn cần phải loại bỏ những chương trình mà

bạn thường nghĩ chúng cần thiết. Nhớ rằng máy chủ pháo đài đang thuần túy

cung cấp những dịch vụ Internet; nó không cần là một môi trường thuận tiện

để làm việc trên đó.

Những hệ thống Window và những trình biên dịch là những ví dụ của

các chương trình chính mà bạn có thể giải phóng. Những người tấn công tìm

thấy các chương trình này rất hữu Ých : các hệ thống Window là nền phong

phó cho các vấn đề bảo mật, và những trình biên dịch có thể bị sử dụng để

xây dựng những công cụ cho chính người tấn công.



Tìm hiểu về an toàn và bảo mật trên mạng



Trước khi xóa những chương trình như trình biên dịch, đảm bảo rằng

chính bạn là người sử dụng chúng cuối cùng; đảm bảo rằng bạn xây dựng,

cài đặt, và kiểm tra mọi thứ bạn sẽ cần trên máy này, như những công cụ cho

sự kiểm toán hệ thống (được thảo luận sau trong chương này).

Thay vì đơn giản xóa khóa những công cụ mà bạn chờ đợi một người

tấn công sử dụng, như trình biên dịch, bạn có thể muốn thay thế chúng với

các chương trình đưa lên một báo động (ví dụ, gửi thư hoặc nhả máy nhắn

tin của bạn) khi người nào đó cố gắng chạy chúng. Bạn có thể thậm chí

muốn có các chương trình dừng hệ thống sau đưa lên báo động, nếu bạn tin

tưởng sẽ tốt cho máy khi bị hỏng hơn là dưới là sự tấn công. Đây là một

phương thức đầu tiên làm bẽ mặt chính bạn, tuy nhiên; chính bạn có lẽ là

người hầu nh quên nơi bạn sẽ cố gắng chạy một lệnh ngăn cấm. Nó cũng là

phương thức tốt để thiết lập cho chính bạn cho sự từ chối dịch vụ tấn công.

Bạn sẽ muốn quét qua hai lần tìm kiếm các thứ để xóa :

1.



Qua tất cả các thư mục chuẩn cho các nhị phân trên hệ



thống của bạn (mọi thứ trong đường dẫn gốc hoặc trong đường dẫn

người dùng mặc định). Nếu bạn không chắc chắn liệu một chương

trình được cần đến, hãy bỏ cho phép thực hiện trên nó một thời gian

(mét Ýt ngày) trước khi bạn loại bỏ hoặc mã hóa nó và xem cái gì xảy

ra. Bạn có thể cũng muốn chạy máy một thời gian trước bạn quét và

kiểm tra các thời điểm truy cập trên các file để thấy phải chăng chúng

đã được sử dụng.

2.



Sử dông find để tìm kiếm mỗi file trên hệ thống mà có bit



setuid hoặc setgid được chạy. Các đối số để tìm thấy khác căn bản từ

hệ thống đến hệ thống, nhưng bạn sẽ có thể muốn cái gì đó nh thế.



Tìm hiểu về an toàn và bảo mật trên mạng



find / -type f \( -perm -04000 -o -perm -02000 \) -ls

3.



Vài phiên bản của find cung cấp những căn bản đặc biệt



cho việc xác định các file setuid và setgid.

7.4.3. Gắn các hệ thống file chỉ đọc

Mét khi bạn đã có máy chủ pháo đài được định cấu hình, bạn không

muốn bất cứ ai (đặc biệt là một người tấn công) có thể thay đổi cấu hình. Để

đề phòng điều này xảy ra, hãy đặt các hệ thống file trên máy chủ pháo đài

chỉ được đọc nếu có thể (đặc biệt các hệ thống file chứa lập trình các nhị

phân) để bảo vệ chống lại sự can thiệp.

Nó sẽ tốt hơn nếu bạn có thể sử dụng phần cứng bảo vệ chống ghi;

một người tấn công có thể có khả năng đặt lại các đĩa với việc cho phép ghi

mà không đặt sự truy cập vật lý tới máy, nhưng nó không thực hiện tốt nếu

phần cứng bảo vệ chống ghi trên đĩa đang chạy. Hầu hết các đĩa IPI và SMD

có những chuyển đổi cho điều này trên những bảng đằng trước của chúng.

Nhiều đĩa SCSI có một cầu nối nhảy cóc “Vô hiệu hóa ghi” mà bạn có thể

đặt. Nếu bạn tìm thấy khả năng đĩa hỏng và loại bỏ nó từ trường hợp không

thể chấp nhận như một cách để có truy cập được ghi, bạn có thể báo cầu nối

nhảy cóc này đến một bộ chuyển đổi bên ngoài trên đĩa đính kèm.

Tất nhiên bạn không thể bảo vệ chống ghi mọi thứ. Bạn phải cung cấp

một số lượng nhất định không gian các hệ thống file có thể ghi cho các thứ

nh không gian hỗ tạp, hệ thống các bản ghi, và thư từ đẩy ra đường ống máy

in. Bạn có thể có khă năng sử dụng một đĩa RAM cho việc này; tuy nhiên,

bạn sẽ phải chắc chắn là hệ điều hành của bạn hỗ trợ việc này, mà bạn có đủ

RAM, và bạn nghĩ rằng bạn có thể làm mất nội dung của đĩa RAM (ví dụ,



Tìm hiểu về an toàn và bảo mật trên mạng



thư điện tử trong khi truyền giữa những máy chủ nội bộ và Internet) mỗi khi

máy của bạn khởi động lại.

Với đa số các phiên bản của UNIX, bạn cũng sẽ phải hoặc cung cấp

không gian đĩa có thể ghi cho bộ nhớ trao đổi hoặc bỏ trao đổi. Nhiều phiên

bản của UNIX không cho phép bạn bỏ trao đổi; tuy nhiên, chúng thường sẽ

cho phép bạn sử dụng một đĩa riêng biệt cho không gian trao đổi, và đĩa đó

có thể an toàn được để lại có thể ghi. Việc sử dụng một đĩa RAM sẽ làm

tăng thêm việc sử dụng bộ nhớ của bạn tới mức mà bạn có lẽ sẽ cần không

gian trao đổi.

Những hệ thống dựa trên BSD 4.4 - Lite (chẳng hạn, những phiên bản

hiện thời của NetBSD, FreeBSD, và sản phẩm BSDI) có một thuộc tính

không thay đổi mới có thể được đặt trên một cơ sở bằng file. Nếu một file là

rõ ràng “không thay đổi”, file không thể được thay đổi, thì không chỉ bởi

gốc, trừ khi hệ thống đang chạy trong kiểu đơn người sử dụng. Nếu hệ điều

hành của bạn cung cấp khả năng này, hãy sử dụng nó để bảo vệ các file cấu

hình và các chương trình của bạn khỏi sự xem xét bởi một người tấn công.

(Chúng ta khuyến cáo rằng cách tiếp cận đó chỉ khi bạn không thể sử dụng

phần cứng bảo vệ chống ghi, hoặc một lớp bổ sung bảo mật để sử dụng với

phần cứng bảo vệ chống ghi. Vì nó được thực hiện trong phần mềm, nó sẽ

có vẻ dễ bị tổn hại hơn.)



7.5. Kiểm tra bảo mật

Mét khi bạn có máy chủ pháo đài đã định cấu hình, bước tiếp theo sẽ

là chạy một kiểm toán bảo mật. Có hai lý do để làm việc này. Trước hết, nó

cho cho bạn một cách để bảo đảm rằng bạn chưa có bất cứ giám sát nào

trong thời gian cài đặt hệ thống. Sau nữa, nó thiết lập một “tuyến gốc”, hoặc



Tìm hiểu về an toàn và bảo mật trên mạng



một cơ sở cho sù so sánh, chống lại cái bạn có thể so sánh các kiểm toán

tương lai. Trong cách này, bạn sẽ có thể phát hiện ra bất kỳ phá rối máy nào.

7.5.1. Kiểm tra gãi tin.

Đa số các gói kiểm toán có hai mục đích cơ bản :





Kiểm tra cho các lỗ hổng an toàn đã biết. Đó là



những lỗ hổng mà đã bị để hở bởi những người quản trị hệ

thống, bị những người tấn công khai thác cho việc gãy hệ

thống, hoặc đưa ra tài liệu trong những quyển sách và những

giấy máy tính bảo mật.





Thiết lập một cơ sở dữ liệu để tổng kiểm tra tất cả



các file trên một hệ thống; việc làm điều này cho phép một

người quản trị hệ thống đoán nhận những những sự thay đổi

tương lai để sắp xếp các thay đổi không hợp pháp của các file

riêng.

Có nhiều các gói tin kiểm toán tự động tốt có sẵn rộng rãi trên

Internet. Ba gói thường được sử dụng nhất là:





COPS- The Computer Oracle and Password System,



được phát triển bởi Dan Farmer và Gene Spafford





Tiger - được phát triển nh một bộ phận của gói tin



TAMU bởi trường đại học Texas A&M





Tripwire- được phát triển bởi Gene H. Kim và Gene



Spafford

Cả COPS và Tiger đều kiểm tra cho những lỗ hổng an toàn nổi tiếng.

Có sự gối lên nhau quan trọng trong việc kiểm tra của COPS và Tiger; tuy



Xem Thêm
Tải bản đầy đủ (.doc) (124 trang)

×