Các lỗ  hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng trệ của  dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhập không hợp  pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như  sendmail, web, ftp ... Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều  hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứng dụng mà người sử  dụng thương xuyên sử dụng như Word processing, Các hệ  databases...
Phân loại lỗ hổng bảo mật :
    Có  nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt. Theo cách  phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ thống được  chia như sau:
    - Lỗ hổng loại C: các lỗ hổng loại này  cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services - Từ  chối dịch vụ). Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có  thể làm ngưng trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được  quyền truy nhập bất hợp pháp
    - Lổ hổng loại B: Các  lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực  hiện kiểm tra tính hợp lệ. Mức độ nguy hiểm trung bình; Những lỗ hổng này thường  có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu  cầu bảo mật.
    - Lỗ hổng loại A: Các lỗ hổng này cho  phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp. Lỗ hổng  rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống.
Sau đây sẽ phân  tích một số lỗ hổng bảo mật  thường xuất hiện trên mạng và hệ  thống
1 Các lỗ hổng loại C:
    Các lỗ hổng  loại này cho phép thực hiện các cuộc tấn công DoS. 
    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 đựng 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) nói riêng 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 được xếp loại C; ít nguy hiểm 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 loại C 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 với hình thức tấn công này là sử dụng dịch vụ Web.  Giả sử: trên một Web Server có những trang Web trong đó có chứa các đoạn mã Java  hoặc JavaScripts, làm "treo" hệ thống của người sử dụng trình duyệt Web của  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,  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 một hình thức tấn  công đơn giản này, 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. Người sử dụng trong trường hợp này chỉ có thể khởi động lại hệ  thống.
    Một lỗ hổng loại C 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 năng lực đi tìm những địa  chỉ không có thực dẫn đến tình trạng ngưng trệ dịch vụ. Số lượng các messages có  thể sinh ra từ các chương trình làm bom thư rất phổ biến trên mạng Internet.  
2. Các lỗ hổng loại B:
    Lỗ hổng loại này có  mức độ nguy hiểm hơn lỗ hổng loại C, cho phép người sử dụng nội bộ có thể chiếm  được quyền cao hơn hoặc truy nhập không hợp pháp.
    Những lỗ  hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống. Người sử dụng  local đượ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.
    Sau đây sẽ phân tích một số lỗ hổng loại B  thường xuất hiện trong các ứng dụng
     Sendmail:
Sendmail là 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, hoạt động, sendmail mở  port 25 đợi một yêu cầu tới 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 loại B. 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  đó 
    Các loại lỗ hổng loại B khác:
     Một dạng khác của lỗ hổng loại B 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 loại B.
3. Các lỗ hổng loại A:
     Các lỗ hổng loại A có mức độ rất nguy hiểm; đe dọa tính toàn vẹn và bảo mật của  hệ thống. Các lỗ hổng loại 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 loại 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 loại A như: FTP,  Gopher, Telnet, Sendmail, ARP, finger...
Ả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 như 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 loại C, và 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.  
    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à:
    - 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  
CÁC BIỆN PHÁP PHÁT HIỆN HỆ THỐNG BỊ TẤN CÔNG :
     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  đó là:
    - 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 máy 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 đó =  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 tinh đá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ạy dưới quyền root thì không 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ế.
Bài viết của  Bigwind
  
 
sao đã dài lại còn cho font khó đọc quá
Trả lờiXóaok, sẽ sửa
Xóa