[Question] Các bài viết về bảo mật |
02/07/2006 10:03:22 (+0700) | #1 | 3072 |
|
Angela_Belnett
Elite Member
|
0 |
|
|
Joined: 10/05/2003 11:21:14
Messages: 27
Location: Hà Nội
Offline
|
|
Xin lỗi vì đã gửi bài ở đây, nhưng quả thật không làm thế nào gửi được vào cái box ở trên.
Đây là một số bài mà trước đây em đã gửi và định gửi, đã gửi vì đã làm nó thành của mỉnh, còn chưa gửi bởi nó vẫn còn giống một ai đó.
Nhân lúc HVA đang "xa cơ lỡ vận", đàn em này tranh thủ gửi mấy bài, lúc này mà gửi chắc không sợ giống của ai. He he he. Em là người theo chủ nghĩa cơ hội mà. Nhưng dù sao cũng xin mạn phép các đàn anh nếu bài của em có giống giống hay rất giống thậm trí là của ai đó. Bởi em copy nội dung rồi biên tập lại cho nên "không nhớ tên tác giả". |
|
|
|
|
[Question] Re: Các bài viết về bảo mật |
02/07/2006 10:04:15 (+0700) | #2 | 3073 |
|
Angela_Belnett
Elite Member
|
0 |
|
|
Joined: 10/05/2003 11:21:14
Messages: 27
Location: Hà Nội
Offline
|
|
Ai cũng biết rằng các lỗ hổng bảo mật là các điểm yếu của một hệ thống. Các lỗ hổng này đều gây ra các nguy cơ về ngưng trệ dịch vụ, chiếm quyền điều khiển hoặc cho phép truy nhập bất hợp pháp vào hệ thống. Các lỗ hổng có thể được tìm thấy tại các dịch vụ cung cấp như e-mail, web ... Có thể các lỗ hổng còn nằm ngay tại hệ điều hành như Windows, Unix hoặc trong các ứng dụng như databases...
Đầu tiên là các lỗ hổng cho phép thực hiện các cuộc tấn công kiểu DoS.
<Trích =>”DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộ giao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng từ chối người sử dụng hợp pháp truy nhập hay sử dụng hệ thống. Một số lượng lớn các gói tin được gửi tới server trong khoảng thời gian liên tục làm cho hệ thống trở nên quá tải, kết quả là server đáp ứng chậm hoặc không thể đáp ứng các yêu cầu từ client gửi tới.”
Các dịch vụ có chứa lỗ hổng cho phép thực hiện các cuộc tấn công DoS có thể được nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ. Hiện nay, chưa có một giải pháp toàn diện nào để khắc phục các lỗ hổng loại này vì bản thân việc thiết kế giao thức ở tầng Internet (IP) và bộ giao thức TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này.
Tuy nhiên, mức độ nguy hiểm của các lỗ hổng loại này ít vì chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian mà không làm nguy hại đến dữ liệu và người tấn công cũng không đạt được quyền truy nhập bất hợp pháp vào hệ thống.
Một lỗ hổng khác cũng thường thấy đó là các điểm yếu của dịch vụ cho phép thực hiện tấn công làm ngưng trệ hệ thống của người sử dụng cuối. Chủ yếu của hình thức tấn công này là sử dụng dịch vụ Web. Ví dụ: trên một Web Server có những trang Web trong đó có chứa các đoạn mã Java hoặc JavaScripts thì ta có thể làm "treo" hệ thống của người sử dụng trình duyệt Web là Netscape bằng các bước sau:
- Viết các đoạn mã để nhận biết được Web Browers sử dụng Netscape
- Nếu sử dụng Netscape ta sẽ tạo một vòng lặp vô thời hạn, sinh ra vô số các cửa sổ, trong mỗi cửa sổ đó nối đến các Web Server khác nhau.
Với hình thức tấn công đơn giản này bạn có thể làm treo hệ thống. Đây cũng là một hình thức tấn công kiểu DoS. Trong trường hợp này chỉ có thể khởi động lại hệ thống.
Lại một lỗ hổng khác cũng thường gặp đối với các hệ thống mail là không xây dựng các cơ chế anti-relay (chống relay) cho phép thực hiện các hành động spam mail. Như chúng ta đã biết, cơ chế hoạt động của dịch vụ thư điện tử là lưu và chuyển tiếp; một số hệ thống mail không có các xác thực khi người dùng gửi thư, dẫn đến tình trạng các đối tượng tấn công lợi dụng các máy chủ mail này để thực hiện spam mail; Spam mail là hành động nhằm tê liệt dịch vụ mail của hệ thống bằng cách gửi một số lượng lớn các messages tới một địa chỉ không xác định, vì máy chủ mail luôn phải tốn công lực đi tìm những địa chỉ không có thực dẫn đến tình trạng tẩu hoả nhập ma dịch vụ. Số lượng chương trình bom thư thì không thể đếm hết được và rất phổ biến trên mạng Internet.
Tiếp theo, các lỗ hổng cho phép người sử dụng nội bộ có thể chiếm được quyền cao hơn (leo thang đặc quyền) hoặc truy nhập không hợp pháp vào hệ thống. Những lỗ hổng này thường xuất hiện trong các dịch vụ trên hệ thống. Người sử dụng nội bộ được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyền hạn nhất định.
Các lỗ hổng này thường xuất hiện trong các ứng dụng như:
Sendmail: một chương trình được sử dụng rất phổ biến trên hệ thống UNIX để thực hiện gửi thư điện tử cho những người sử dụng trong nội bộ mạng. Thông thường, sendmail là một daemon chạy ở chế độ nền được kích hoạt khi khởi động hệ thống. Trong trạng thái đang hoạt động, sendmail mở port 25 đợi một yêu cầu tới và sẽ thực hiện gửi hoặc chuyển tiếp thư. Sendmail khi được kích hoạt sẽ chạy dưới quyền root hoặc quyền tương ứng (vì liên quan đến các hành động tạo file và ghi log file). Lợi dụng đặc điểm này và một số lỗ hổng trong các đoạn mã của sendmail, mà các đối tượng tấn công có thể dùng sendmail để đạt được quyền root trên hệ thống.
Để khắc phục lỗi của sendmail cần tham gia các nhóm tin về bảo mật; vì sendmail là chương trình có khá nhiều lỗi; nhưng cũng có nhiều người sử dụng nên các lỗ hổng bảo mật thường được phát hiện và khắc phục nhanh chóng. Khi phát hiện lỗ hổng trong sendmail cần nâng cấp, thay thế phiên bản sendmail đang sử dụng.
Một loạt các vấn đề khác về quyền sử dụng chương trình trên UNIX cũng thường gây nên các lỗ hổng. Vì trên hệ thống UNIX, một chương trình có thể được thực thi với 2 khả năng:
- Người chủ sở hữu chương trình đó kích hoạt chạy
- Người mang quyền của người chủ sở hữu chủ nhân của file đó
Một dạng khác xảy ra đối với các chương trình có mã nguồn viết bằng C. Những chương trình viết bằng C thường sử dụng một vùng đệm - là một vùng trong bộ nhớ sử dụng để lưu dữ liệu trước khi xử lý. Những người lập trình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng không gian bộ nhớ cho từng khối dữ liệu. Ví dụ, người sử dụng viết chương trình nhập trường tên người sử dụng; qui định trường này dài 20 ký tự. Do đó họ sẽ khai báo:
char first_name [20];
Với khai báo này, cho phép người sử dụng nhập vào tối đa 20 ký tự. Khi nhập dữ liệu, trước tiên dữ liệu được lưu ở vùng đệm; nếu người sử dụng nhập vào 35 ký tự; sẽ xảy ra hiện tượng tràn vùng đệm và kết quả 15 ký tự dư thừa sẽ nằm ở một vị trí không kiểm soát được trong bộ nhớ. Đối với những người tấn công, có thể lợi dụng lỗ hổng này để nhập vào những ký tự đặc biệt, để thực thi một số lệnh đặc biệt trên hệ thống. Thông thường, lỗ hổng này thường được lợi dụng bởi những người sử dụng trên hệ thống để đạt được quyền root không hợp lệ. Việc kiểm soát chặt chẽ cấu hình hệ thống và các chương trình sẽ hạn chế được các lỗ hổng.
Cuối cùng, các lỗ hổng đe dọa tính toàn vẹn và bảo mật của hệ thống. Các lỗ hổng này thường xuất hiện ở những hệ thống quản trị yếu kém hoặc không kiểm soát được cấu hình mạng. Một ví dụ thường thấy là trên nhiều hệ thống sử dụng Web Server là Apache. Đối với Web Server này thường cấu hình thư mục mặc định để chạy các scripts là cgi-bin; trong đó có một Scripts được viết sẵn để thử hoạt động của apache là test-cgi. Đối với các phiên bản cũ của Apache (trước version 1.1), có dòng sau trong file test-cgi:
echo QUERY_STRING = $QUERY_STRING
Biến môi trường QUERY_STRING do không được đặt trong có dấu " (quote) nên khi phía client thưc hiện một yêu cầu trong đó chuỗi ký tự gửi đến gồm một số ký tự đặc biệt; ví dụ ký tự "*", web server sẽ trả về nội dung của toàn bộ thư mục hiện thời (là các thư mục chứa các scipts cgi). Người sử dụng có thể nhìn thấy toàn bộ nội dung các file trong thư mục hiện thời trên hệ thống server. Một ví dụ khác cũng xảy ra tương tự đối với các Web server chạy trên hệ điều hành Novell; Các web server này có một scripts là convert.bas, chạy scripts này cho phép đọc toàn bộ nội dung các files trên hệ thống. Những lỗ hổng này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phần mềm sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng sẽ có thể bỏ qua những điểm yếu này. Đối với những hệ thống cũ, thường xuyên phải kiểm tra các thông báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này. Một loạt các chương trình phiên bản cũ thường sử dụng có những lỗ hổng này như: FTP, Gopher, Telnet, Sendmail, ARP, finger...
Bây giờ mới là phần quan trọng nè, đó là ảnh hưởng của các lỗ hổng bảo mật trên mạng Internet :
Phần trình bày ở trên đã phân tích một số trường hợp có những lỗ hổng bảo mật, những người tấn công có thể lợi dụng những lỗ hổng này để tạo ra những lỗ hổng khác tạo thành một chuỗi mắt xích những lỗ hổng. Ví dụ, một người muốn xâm nhập vào hệ thống mà anh ta không có tài khoản truy nhập hợp lệ trên hệ thống đó. Trong trường hợp này, trước tiên anh ta sẽ tìm ra các điểm yếu trên hệ thống, hoặc từ các chính sách bảo mật, hoặc sử dụng các công cụ dò sét thông tin trên hệ thống đó để đạt được quyền truy nhập vào hệ thống. Sau khi mục tiêu thứ nhất đã đạt được, anh ta có thể tiếp tục tìm hiểu các dịch vụ trên hệ thống, nắm bắt được các điểm yếu và thực hiện các hành động tấn công tinh vi hơn. Tuy nhiên, có phải bất kỳ lỗ hổng bảo mật nào cùng nguy hiểm đến hệ thống hay không? Có rất nhiều thông báo liên quan đến lỗ hổng bảo mật trên mạng Internet, hầu hết trong số đó là các lỗ hổng không đặc biệt nguy hiểm đối với hệ thống. Ví dụ, khi những lỗ hổng về sendmail được thông báo trên mạng, không phải ngay lập tức ảnh hưởng trên toàn bộ hệ thống. Khi những thông báo về lỗ hổng được khẳng định chắc chắn, các nhóm tin sẽ đưa ra một số phương pháp để khắc phục hệ thống. Ngoài HVA ra trên mạng Internet có một số nhóm tin thường thảo luận về các chủ đề liên quan đến các lỗ hổng bảo mật đó là <Trích>:
- CERT (Computer Emergency Reponse Team): Nhóm tin này hình thành sau khi có phương thức tấn công Worm xuất hiện trên mạng Internet. Nhóm tin này thường thông báo và đưa ra các trợ giúp liên quan đến các lỗ hổng bảo mật. Ngoài ra nhóm tin còn có những báo cáo thường niên để khuyến nghị người quản trị mạng về các vấn đề liên quan đến bảo mật hệ thống. Địa chỉ Web site của nhóm tin: http://www.cert.org/
- CIAC (Department of Energy Computer Incident Advisory Capability): tổ chức này xây dựng một cơ sở dữ liệu liên quan đến bảo mật cho bộ năng lượng của Mỹ. Thông tin của CIAC được đánh giá là một kho dữ liệu đầy đủ nhất về các vấn đề liên quan đến bảo mật hệ thống. Địa chỉ web site của CIAC : http://ciac.llnl.org/
- FIRST (The Forum of Incident Response and Security Teams): Đây là một diễn đàn liên kết nhiều tổ chức xã hội và tư nhân, làm việc tình nguyện để giải quyết các vấn đề về an ninh của mạng Internet. Địa chỉ Web site của FIRST: http://www.first.org./ Một số thành viên của FIRST gồm:
- CIAC
- NASA Automated Systems Incident Response Capability.
- Purdue University Computer Emergency Response Team
- Stanford University Security Team
- IBM Emergency Response Team
Không có một hệ thống nào có thể đảm bảo an toàn tuyệt đối, bản thân mỗi dịch vụ đều có những lỗ hổng bảo mật tiềm tàng. Đứng trên góc độ người quản trị hệ thống, ngoài việc tìm hiểu phát hiện những lỗ hổng bảo mật còn luôn phải thực hiện các biện pháp kiểm tra hệ thống xem có dấu hiệu tấn công hay không. Các biện pháp đó đã được nói đến nhiều trên mạng nhưng ở đây để đảm bảo tính toàn vẹn của bài viết mình vẫn xin nêu ra như sau:
- Kiểm tra các dấu hiệu hệ thống bị tấn công: hệ thống thường bị treo hoặc bị crash bằng những thông báo lỗi không rõ ràng. Khó xác định nguyên nhân do thiếu thông tin liên quan. Trước tiên, xác định các nguyên nhân về phần cứng hay không, nếu không phải phần cứng hãy nghĩ đến khả năng bị tấn công.
- Kiểm tra các tài khoản người dùng mới trên hệ thống: một số tài khoản lạ, nhất là uid của tài khoản đó bằng 0.
- Kiểm tra xuất hiện các tập tin lạ. Thường phát hiện thông qua cách đặt tên các tệp tin, mỗi người quản trị hệ thống nên có thói quen đặt tên tập tin theo một mẫu nhất định để dễ dàng phát hiện tập tin lạ. Dùng các lệnh ls -l để kiểm tra thuộc tính setuid và setgid đối với những tập tin đáng chú ý (đặc biệt là các tập tin scripts).
- Kiểm tra thời gian thay đổi trên hệ thống, đặc biệt là các chương trình login, sh hoặc các scripts khởi động trong /etc/init.d, /etc/rc.d ...
- Kiểm tra hiệu năng của hệ thống. Sử dụng các tiện ích theo dõi tài nguyên và các tiến trình đang hoạt động trên hệ thống như ps hoặc top ...
- Kiểm tra hoạt động của các dịch vụ mà hệ thống cung cấp. Chúng ta đã biết rằng một trong các mục đích tấn công là làm cho tê liệt hệ thống (Hình thức tấn công DoS). Sử dụng các lệnh như ps, pstat, các tiện ích về mạng để phát hiện nguyên nhân trên hệ thống.
- Kiểm tra truy nhập hệ thống bằng các account thông thường, đề phòng trường hợp các account này bị truy nhập trái phép và thay đổi quyền hạn mà người sử dụng hợp pháp không kiểm sóat được.
- Kiểm tra các file liên quan đến cấu hình mạng và dịch vụ như /etc/inetd.conf; bỏ các dịch vụ không cần thiết; đối với những dịch vụ không cần thiết chỉ chạy dưới quyền root thì không cho chạy bằng các quyền yếu hơn.
- Kiểm tra các phiên bản của sendmail, /bin/mail, ftp; tham gia các nhóm tin về bảo mật để có thông tin về lỗ hổng của dịch vụ sử dụng
Các biện pháp này kết hợp với nhau tạo nên một chính sách về bảo mật đối với hệ thống.
XÂY DỰNG CHÍNH SÁCH BẢO MẬT
Qua trình bày ở các phần trên cho chúng ta thấy phần nào những hoạt động liên quan xây dựng một chính sách bảo mật. Đó là những hoạt động nhằm thiết lập các khung chính sách nhằm đảm an toàn cho hệ thống, đồng thời đảm bảo hệ thống ổn định và có tính thực thi cao, có khả năng chống lại các cuộc tấn công vào mạng. Tuy nhiên, một hệ thống nếu dựa vào mục tiêu bảo mật mà làm mất đi tính mềm dẻo và dễ sử dụng thì chính sách bảo mật trên hệ thống đó cũng chưa phải là tốt. Có thể nói rằng một hệ thống có chính sách bảo mật hợp lý là biện pháp tốt nhất để đảm bảo an toàn mạng. Do đó, phần sau đây sẽ trình bày những bước cần thiết để xây dựng một chính sách bảo mật hợp lý đối với các hệ thống cung cấp dịch vụ trên mạng.
I. CÁC BƯỚC CHUẨN BỊ
Trong các bước xây dựng một chính sách bảo mật đối với một hệ thống, nhiệm vụ đầu tiên của người quản trị là xác định được đúng mục tiêu cần bảo mật. Việc xác định những mục tiêu của chính sách bảo mật giúp người sử dụng biết được trách nhiệm của mình trong việc bảo vệ các tài nguyên thông tin trên mạng, đồng thời giúp các nhà quản trị thiết lập các biện pháp đảm bảo hữu hiệu trong quá trình trang bị, cấu hình và kiểm soát hoạt động của hệ thống. Những mục tiêu bảo mật bao gồm:
1. Xác định đối tượng cần bảo vệ:
Đây là mục tiêu đầu tiên và quan trọng nhất trong khi thiết lập một chính sách bảo mật. Người quản trị hệ thống cần xác định rõ những đối tượng nào là quan trọng nhất trong hệ thống cần bảo vệ; xác định rõ mức độ ưu tiên đối với những đối tượng đó. Ví dụ các đối tượng cần bảo vệ trên một hệ thống có thể là: Các máy chủ dịch vụ, các router, các điểm truy nhập hệ thống, các chương trình ứng dụng, hệ quản trị CSDL, các dịch vụ cung cấp ...
Trong bước này cần xác định rõ phạm vi và ranh giới giữa các thành phần trong hệ thống để khi xảy ra sự cố trên hệ thống có thể cố lập các thành phần này với nhau, dễ dàng dò tìm nguyên nhân và cách khác phục. Có thể chia các thành phần trên một hệ thống theo các cách sau:
- Phân tách các dịch vụ tùy theo mức độ truy cập và độ tin cậy
- Phân tách hệ thống theo các thành phần vật lý như các máy chủ (server), router, các máy trạm (workstation)...
- Phân tách theo phạm vi cung cấp của các dịch vụ như: các dịch vụ bên trong mạng (NIS, NFS ...) và các dịch vụ bên ngoài như Web, FTP, Mail ...
2. Xác định nguy cơ đối với hệ thống
Các nguy cơ đối với hệ thống chính là các lỗ hổng bảo mật của các dịch vụ, hệ thống đó cung cấp. Việc xác định đúng đắn các nguy cơ này giúp người quản trị có thể tránh được những cuộc tấn công mạng, hoặc có biện pháp bảo vệ đúng đắn. Thông thường, một số nguy cơ này nằm ở các thành phần sau trên hệ thống:
2.1. Các điểm truy nhập:
Các điểm truy nhập của hệ thống bất kỳ (Access Points) thường đóng vai trò quan trọng đối với mỗi hệ thống vì đây là điểm đầu tiên mà người sử dụng cũng như những người tấn công mạng quan tâm tới. Thông thường các điểm truy nhập thường phục vụ hầu hết người dùng trên mạng, không phụ thuộc vào quyền hạn cũng như dịch vụ mà người sử dụng dùng. Do đó, các điểm truy nhập thường là thành phần có tính bảo mật lỏng lẻo. Mặt khác, đối với nhiều hệ thống còn cho phép người sử dụng dùng các dịch vụ như Telnet, rlogin để truy nhập vào hệ thống, đây là những dịch vụ có nhiều lỗ hổng bảo mật.
2.2. Không kiểm soát được cấu hình hệ thống
Không kiểm soát hoặc mất cấu hình hệ thống chiếm một tỷ lệ lớn trong số các lỗ hổng bảo mật. Ngày nay, có một số lượng lớn các phần mềm sử dụng, yêu cầu cấu hình phức tạp và đa dạng hơn, điều này cũng dẫn đến những khó khăn để người quản trị nắm bắt được cấu hình hệ thống. Để khắc phục hiện tượng này, nhiều hãng sản xuất phần mềm đã đưa ra những cấu hình khởi tạo mặc định, trong khi đó những cấu hình này không được xem xét kỹ lưỡng trong một môi trường bảo mật. Do đó, nhiệm vụ của người quản trị là phải nắm được hoạt động của các phần mềm sử dụng, ý nghĩa của các file cấu hình quan trọng, áp dụng các biện pháp bảo vệ cấu hình như sử dụng phương thức mã hóa hashing code (MD5).
2.3. Những bug phần mềm sử dụng
Những bug phần mềm tạo nên những lỗ hổng của dịch vụ là cơ hội cho các hình thức tấn công khác nhau xâm nhập vào mạng; Các chương trình trojans và virus là những ví dụ cụ thể. Do đó, người quản trị phải thường xuyên cập nhật tin tức trên các nhóm tin về bảo mật và từ nhà cung cấp phần mềm để phát hiện những lỗi của phần mềm sử dụng. Khi phát hiện có bug cần thay thế hoặc ngừng sử dụng phần mềm đó chờ nâng cấp lên phiên bản tiếp theo.
2.4. Những nguy cơ trong nội bộ mạng
Một hệ thống không những chịu tấn công từ ngoài mạng, mà có thể bị tấn công ngay từ bên trong. Có thể là vô tình hoặc cố ý, các hình thức tấn công bên trong mạng vẫn thường xảy ra trên một số hệ thống lớn. Chủ yếu với hình thức tấn công ở bên trong mạng là người tấn công có thể tiếp cận về mặt vật lý đối với các thiết bị trên hệ thống, đạt được quyền truy nhập không hợp lệ tại ngay hệ thống đó.
3. Xác định phương án thực thi chính sách bảo mật
Sau khi thiết lập được một chính sách bảo mật, một hoạt động tiếp theo là lựa chọn các phương án thực thi một chính sách bảo mật. Một chính sách bảo mật là hoàn hảo khi nó có tình thực thi cao. Để đánh giá tính thực thi này, có một số tiêu chí để lựa chọn đó là:
3.1. Tính đúng đẵn
Đây là tiêu chí đầu tiên và quan trọng nhất để lựa chọn một chính sách bảo mật. Nó đảm bảo cho sự thành công của chính sách đó. Ví dụ, nếu như một hệ thống thường xuyên có các nguy cơ bị tấn công từ bên ngoài, một chính sách bảo mật cần phải đảm bảo kiểm soát được các truy nhập của khách hàng vào hệ thống bằng việc xây dựng các thủ tục quản lý tài khoản người dùng chặt chẽ và kỹ càng.
3.2. Tính thân thiện
Một chính sách bảo mật cần thiết lập các công cụ bảo mật thân thiện với người quản trị và dễ dàng thực thi các chính sách bảo mật. Đồng thời, còn đảm bảo các biện pháp bảo mật trên hệ thống không làm khó khăn hoặc bất tiện đối với người sử dụng. Ví dụ, những chính sách nhằm kiểm tra tính hợp lệ khi khách hàng truy nhập vào hệ thống; những chính sách về bảo vệ mật khẩu như yêu cầu khách hàng đối mật khẩu trong một thời gian xác định... các chính sách này phải có tính "trong suốt" đối với khách hàng sử dụng hệ thống.
3.3. Tính hiệu quả:
Sau cùng, một chính sách bảo mật được quyết định bởi các nhà quản lý; họ quan tâm đến hiệu quả mà chính sách đó mang lại. Một chính sách bảo mật có thể đảm bảo hệ thống an toàn, tin cậy, nhưng lại cần có chi phí quá cao so với lợi nhuận mà hệ thống đó đem lại sẽ không được quyết định thực thi. Tuy nhiên, trong một khía cạnh khác, có thể các chính sách không thể đem lại hiệu quả ngay, do đó cần xem xét mức độ chi phí bảo mật hệ thống đối với một thời gian dài cùng với các lợi nhuận khác đem lại từ hệ thống bảo mật như nâng cao chất lượng dịch vụ bằng tính ổn định của hệ thống, ...
II. THIẾT LẬP CÁC QUI TẮC/THỦ TỤC
1. Các thủ tục đối với hoạt động truy nhập không hợp lệ
Sử dụng một vài công cụ có thể phát hiện ra các hoạt động truy nhập không hợp lệ vào một hệ thống. Các công cụ này có thể đi kèm theo hệ điều hành, hoặc từ các hãng sản xuất phần mềm thứ ba
1.1. Các công cụ nhận biết truy nhập không hợp lệ
Đây là biện pháp phổ biến nhất để theo dõi các hoạt động hệ thống.
- Các công cụ logging: Ví dụ các công cụ theo dõi logfile, hầu hết các hệ điều hành đều hỗ trợ một số lượng lớn các công cụ ghi log với nhiều thông tin bổ ích. Để phát hiện những hoạt động truy nhập không hợp lệ, một số qui tắc khi phân tích logfile như sau:
. So sánh các hoạt động trong logfile với các log trong quá khứ. Đối với các hoạt động thông thường, các thông tin trong logfile thường có chu kỳ giống nhau; ví dụ thời điểm người sử dụng login hoặc log out, thời gian sử dụng các dịch vụ trên hệ thống...
. Nhiều hệ thống sử dụng các thông tin trong logfile để tạo hóa đơn cho khách hàng. Có thể dựa vào các thông tin trong hóa đơn thanh toán để xem xét các truy nhập không hợp lệ nếu thấy trong hóa đơn đó có những điểm bất thường như thời điểm truy nhập, số điện thoại lạ ...
. Dựa vào các tiện ích như syslog để xem xét, đặc biệt là các thông báo lỗi login không hợp lệ (bad login) trong nhiều lần.
. Dựa vào các tiện ích kèm theo hệ điều hành để theo dõi các tiến trình đang hoạt động trên hệ thống; để phát hiện những tiến trình lạ, hoặc những chương trình khởi tạo không hợp lệ ...
- Sử dụng các công cụ giám sát khác: Ví dụ sử dụng các tiện ích về mạng để theo dõi các lưu lượng, tài nguyên trên mạng để phát hiện những điểm nghi ngờ.
- Xây dựng kế hoạch giám sát: Do có nhiều công việc phải giám sát, nên người quản trị cần xây dựng kế hoạch giám sát thông qua các công cụ trên hệ thống như cron, tạo schedule ... Mặt khác, kế hoạch này đảm bảo các công cụ giám sát không chiếm nhiều tài nguyên hệ thống.
- Tạo các báo cáo từ các thông tin giám sát: Có thể sử dụng những thông tin từ logfile vào một CSDL; từ đó xây dựng các mẫu báo cáo theo kế hoạch giám sát. Dựa vào các báo cáo này người quản trị có thể phát hiện những điểm yếu trên mạng, đồng thời dự báo được hướng phát triển mạng trong tương lai.
1.2. Các phản ứng của hệ thống
Dựa vào các bước trên để xác định hệ thống bị tấn công. Khi phát hiện cần thực hiện các công việc sau:
- Xác định mức độ nguy hiểm: Đánh giá mức độ nguy hại và ảnh hưởng của nó.
- Xác định các hành động phá hoại
Trong một số trường hợp, có thể dựa vào pháp luật hiện hành để xử lý.
2. Triển khai chính sách bảo mật
Đào tạo người sử dụng
Người sử dụng đóng vai trò quan trọng trong quá trình thực thi một chính sách bảo mật. Về phía người dùng luôn mong muốn tính đơn giản về dễ dàng đối với các thủ tục. Do đó, khi xây dựng chính sách bảo mật, một mặt đảm bảo chính sách đó không làm cản trở người sử dụng, mặt khác người sử dụng cần nhận thức tầm quan trọng của các chính sách bảo mật và có trách nhiệm thực hiện nó; một số công việc người dùng cần lưu ý:
- Sử dụng tài khoản hợp lệ: Người sử dụng cần nhận thức được lợi ích khi sử dụng một tài khoản hợp lệ. Đối với nhà quản trị hệ thống cần có chính sách ưu đãi, khuyến khích người sử dụng dùng những tài khoản hợp lệ.
- Quản lý tài khoản: Người sử dụng nhận thức được vai trò quan trọng trong việc bảo vệ tài khoản của mình. Các hoạt động quản lý tài khoản bao gồm việc bảo vệ mật khẩu, thay đổi mật khẩu định kỳ, đăng ký thời điểm, ... Sử dụng các phần mềm bảo vệ máy trạm của người sử dụng, log out khỏi hệ thống sau một thời gian time-out ...
- Phát hiện tài khoản sử dụng trái phép: Người dùng cần được huấn luyện về các cách phát hiện tài khoản của mình sử dụng trái phép như thế nào. Người sử dụng cần thường xuyên kiểm tra các hoạt động của mình để đảm bảo không có người khác lợi dụng tài khoản thực hiện những hành động khác.
- Thủ tục tạo báo cáo khi có sự cố: Người sử dụng phải có thói quen thông báo sự cố đến người quản trị khi phát hiện nghi vấn đối với tài khoản của mình. Trong chính sách bảo mật cần xây dựng các mẫu báo cáo này để cung cấp cho người dùng.
3. Thiết lập các thủ tục bảo vệ hệ thống
3.1. Thủ tục quản lý tài khoản người sử dụng
Thủ tục quản lý tài khoản là hết sức quan trọng để chống lại các truy nhập không hợp lệ. Một số thông tin cần thiết khi xây dụng thủ tục quản lý tài khoản gồm: Đối tượng nào có thể truy nhập vào hệ thống. Một tài khoản tồn tại trong thời gian bao lâu trên hệ thống. Những đối tượng nào có quyền quản trị hệ thống... Trả lời những câu hỏi này sẽ thiết lập được các thủ tục quản lý tài khoản người sử dụng. Đồng thời cần thực hiện các biện pháp sau để bảo vệ tài khoản:
- Giám sát chặt chẽ hệ thống quản lý truy nhập người dùng. Ví dụ trên UNIX là file /etc/passwd, trên Windows NT là Database management users.
- Đối với một số dịch vụ, cho phép sử dụng các tài khoản không cần mật khẩu, hoặc dùng mật khẩu chung như FTP dùng tài khoản anonymous, dùng tài khoản guest để truy nhập vào hệ thống, cần xác định rõ quyền tác động của chúng; thông thường chỉ có quyền rất thấp trong một hệ thống. Đối với những hệ thống UNIX có hỗ trợ cơ chế che mật khẩu qua file /etc/shadow, thì cần sử dụng cơ chế này (vì thông thường file /etc/passwd trong UNIX để quyền đọc đối với tất cả người sử dụng, những kẻ tấn công có thể thấy được mật khẩu mã hóa của một tài khoản, dựa vào các chương trình bẻ khóa có thể phát hiện ra các mật khẩu yếu)
- Kiểm soát chặt chẽ các quyền của các tài khoản trên hệ thống; không sử dụng quyền root trong các trường hợp không cần thiết. Đối với các tài khoản không sử dụng trên hệ thống cần đổi mật khẩu hoặc hủy bỏ.
- Ngoài ra, có các biện pháp khác như: hạn chế tài khoản truy nhập theo thời điểm, theo địa chỉ máy trạm, các thông tin tài khoản rõ ràng, hợp lệ.
3.2. Thủ tục quản lý mật khẩu
Trong hầu hết các hệ thống hiện nay đều xác thực truy nhập qua mật khẩu người dùng, vì vậy các thủ tục quản lý mật khẩu là hết sức quan trọng và cần thiết. Các công việc liên quan đễn quản lý mật khẩu bao gồm:
- Lựa chọn mật khẩu: Như chúng ta đã biết có một số hình thức tấn công mạng, phương thức phá mật khẩu khá mạnh và hữu hiệu đối với các mật khẩu yếu. Để khắc phục cần lựa chọn mật khẩu mạnh. Một số qui tắc lựa chọn mật khẩu như sau:
. Không sử dụng tên người truy nhập làm mật khẩu
. Không sử dụng bất cứ thông tin nào liên quan đến gia đình, cá nhân người sử dụng như ngày sinh, số điện thoại ... làm mật khẩu
. Không sử dụng mật khẩu chỉ gồm toàn bộ các chữ hoặc các số
. Không sử dụng những từ trong từ điển, những danh sách tuần tự làm mật khẩu
. Không sử dụng mật khẩu ít hơn 6 ký tự
. Tạo mật khẩu gồm cả chữ hoa và chữ thường
. Tạo mật khẩu kết hợp cả chữ, số và các ký tự đặc biệt
. Tạo mật khẩu có thể gõ nhanh mà không cần nhìn vào bàn phím
- Sau khi đã tạo xong mật khẩu, cần có chính sách buộc người sử dụng thay đổi mật khẩu trong một thời gian nhất định. Hầu hết các hệ thống hiện nay đều hỗ trợ cơ chế này; nếu không thay đổi mật khẩu, tài khoản đó không còn giá trị trên hệ thống
- Trong trường hợp người sử dụng bị mất mật khẩu, để cấp lại mật khẩu mới cần có các thủ tục khác để xác thực người sử dụng ...
- Cần giám sát và theo dõi chặt chẽ các chương trình đổi mật khẩu; đây thường là mục tiêu để tấn công.
3.3. Thủ tục quản lý cấu hình hệ thống
Các thông tin về cấu hình của dịch vụ và phần mềm sử dụng đóng vai trò quan trọng đối với mỗi hệ thống. Các thủ tục quản lý cấu hình hệ thống cần xác định rõ ai là người có quyền hợp lệ thay đổi cầu hình hệ thống, và những thay đổi như thế nào cần được thông báo tới nhà quản lý. Trong các thủ tục quản lý cấu hình cũng cần xác định rõ một số thông tin như:
- Vị trí lưu các file cấu hình chuẩn
- Qui trình quản lý mật khẩu root
- Các thuật toán liên quan đến mã hóa mật khấu sử dụng
- ...
3.4. Thủ tục sao lưu và khôi phục dữ liệu
Sao lưu dữ liệu không chỉ đề phòng đối với trường hợp có sự cố về hệ thống phần cứng mà còn có thể khôi phục lại hệ thống trong trường hợp bị kẻ phá hoại xâm nhập và thay đổi hệ thống. Nếu không có dữ liệu sao lưu sẽ không thể khôi phục lại hệ thống trước khi bị tấn công.
Cần xây dựng kế hoạch cụ thể cho công tác sao lưu dữ liệu, xác định các phương pháp sao lưu sao cho hiệu quả nhất. Có thể sao lưu theo ngày đối với những dữ liệu thường xuyên thay đổi, sao lưu theo tuần và theo tháng đối với các dữ liệu không quan trọng. Kết hợp các biện pháp sao lưu khác nhau. Ví dụ, một kế hoạch sao lưu tốt thường áp dụng với các hệ thống đó là: Sao lưu toàn bộ hệ thống ít nhất một lần trong một tháng; Sao lưu từng phần ít nhất 2 lần một tuần. Hầu hết các hệ điều hành hiện nay đều hỗ trợ các cơ chế sao lưu.
3.5. Thủ tục báo cáo sự cố:
Đối với người quản lý, người quản trị hệ thống cần xây dựng các mẫu thông báo sự cố tới người sử dụng kịp thời, trong đó xác định rõ mức độ ảnh hưởng và nguyên nhân, cách khắc phục sự cố; Các thông báo này có thể gửi qua email hoặc đường thư tín.
Đối với người sử dụng, khi phát hiện các hành động tấn công từ tài khoản người dùng, cần thông báo đến người dùng việc tài khoản của họ bị sử dụng không hợp lệ và yêu cầu có biện pháp thích hợp để bảo vệ tài khoản người dùng.
III. KIỂM TRA, ĐÁNH GIÁ VÀ HOÀN THIỆN CHÍNH SÁCH BẢO MẬT
Một hệ thống luôn có những biến động về cấu hình, các dịch vụ sử dụng, và ngay cả nền tảng hệ điều hành sử dụng, các thiết bị phần cứng ... do vậy người thiết lập các chính sách bảo mật mà cụ thể là các nhà quản trị hệ thống luôn luôn phải rà soát, kiểm tra lại chính sách bảo mật đảm bảo luôn phù hợp với thực tế.
Mặt khác kiểm tra và đánh giá chính sách bảo mật còn giúp cho các nhà quản lý có kế hoạch xây dựng mạng lưới hiệu quả hơn.
1. Kiểm tra, đánh giá
Công việc này được thực hiện thường xuyên và liên tục; kết quả của một chính sách bảo mật thể hiện rõ nét nhất trong chất lượng dịch vụ mà hệ thống đó cung cấp; Dựa vào đó có thể kiểm tra, đánh giá được chính sách bảo mật đó là hợp lý hay chưa.
Hoạt động đánh giá một chính sách bảo mật có thể dựa vào một số tiêu chí sau:
- Có tính thực thi hay không.
- Có nhanh chóng phát hiện và ngăn ngừa các hoạt động tấn công
- Có các công cụ hữu hiệu để hạn chế tấn công hệ thống hay không
2. Hoàn thiện chính sách bảo mật:
Từ các hoạt động kiểm tra, đánh giá nêu trên, các nhà quản trị hệ thống có thể rút ra được những kinh nghiệm để có thể cải thiện chính sách bảo mật hữu hiệu hơn. Cải thiện chính sách có thể là những hành động nhằm đơn giản công việc người sử dụng, giảm nhẹ tính cồng kềnh, phức tạp trên hệ thống, hoặc kiểm soát hệ thống chặt chẽ hơn nữa...
Những hoạt đổng cải thiện chính sách bảo mật có thể diễn ra trong suốt thời gian tồn tại của hệ thống đó, nó gắn liền với các công việc quản trị, duy trì hệ thống. Đây cũng chính là một yêu cầu trong khi xây dựng một chính sách bảo mật, cần phải luôn luôn mềm dẻo, có những thay đổi phù hợp tùy theo điều kiện thực tế.
|
|
|
|
|
[Question] Các bài viết về bảo mật |
09/07/2006 12:13:20 (+0700) | #3 | 5341 |
crony117
Member
|
0 |
|
|
Joined: 02/04/2004 06:54:24
Messages: 13
Offline
|
|
cảm ơn bạn nhé . Tuy tôi chưa hiểu hết nhưng cũng khái quát đc phần nào . Hoan hô những thành viên nhiệt tình như thế này . |
|
|
|