Chủ Nhật, 11 tháng 11, 2012

TCP, A Transport Protocol

Introduction

Understanding how each protocol fits into the OSI Model is essential for any network engineer. This page analyses how TCP is classified as a 'transport protocol' and gives you an insight into what to expect from the protocol.

Fitting TCP into the OSI Model

As most of you are well aware, every protocol has its place within the OSI Model. The OSI Model is an indication of the complexity and intelligence of the protocol. As a general rule, the higher you move up the OSI Model, the more intelligent protocols become. The positioning of the layer also reflects how CPU entensive they are, whereas the lower layers of the OSI Model are quite the opposite, that is, less CPU intensive and less intelligent.

tcp-protocol-1
TCP is placed at the 4th layer of the OSI Model, which is also known as the transport layer. If you have read through the OSI model pages, you will recall that the transport layer is responsible for establishing sessions, data transfer and tearing down virtual connections.
With this in mind, you would expect any protocol that's placed in the transport layer to implement certain features and characteristics that would allow it to support the functionality the layer provides.
So as we analyse TCP, you will surely agree that it fits right into the transport layer.






The diagram below shows you where the TCP header is located within a frame that's been generated by a computer and sent to the network. If you rotate it 90 degrees to your left, you would get something similar to the previous diagram. This of course is because each layer appends its own information, or header if you like:
tcp-protocol-2
The frame is made up of six 3d blocks so you can see which piece is added by every OSI layer. You can see that the TCP Header containing all the options the protocol supports, is placed right after the IP Header (Layer 3), and before the data section that contains upper layer information (Layers 5,6,7).
Note: For those who are wondering about the presence of the FCS block at the end, it contains a special checksum that is placed by the datalink layer in order to allow the receiving host to detect if the current frame has been corrupt during transit.
Please refer to the Ethernet II Frame page for more information.


Where and why would we use the TCP?

TCP is used in almost every type of network. As a protocol, it is not restricted to any type of network topology, whether it be a local area network (LAN) or wide area network (WAN). Being a transport protocol, we call it a transport protocol because it's located in the transport layer of the OSI model its primary job is to get data from one location to another, regardless of the physical network and location.
As most of you already know, there are two types of transport protocols, TCP being one of them and UDP (User Datagram Protocol) being the other. The difference between these two transport protocols is that TCP offers an extremely reliable and robust method of transferring data, ensuring that the data being transferred does not become corrupt in any way. UDP, on the other hand, offers a non reliable way of transferring data without being able to guarantee the data has arrived to its destination or its integrity when it does arrive.


The Concept of a Transport Protocol

As we mentioned, TCP is a transport protocol and this means it is used to transfer data of other protocols. At first, this might sound weird or confusing but this is exactly why it was designed, adding substantial functionality to the protocols it carries.
The diagram below is the simplest way to show the concept of a 'transport' protocol:
tcp-protocol-3
In the pages to follow, we will have a closer look at how TCP manages to provide its reliable data transfer method and make sure packets get to their destination without errors. This whole process is the work of many 'subsystems' within the TCP that work together to provide the reliability that TCP gives us.
Before we dive in deeper though, let's have a quick overall view of the protocol. If you're not interested in too much technical detail, then the next page is for you! For those looking for an in-depth analysis, you should read the quick-overview page to give you an idea on what we will be analysing soon.

Thứ Tư, 26 tháng 9, 2012

File system trong *nix


1. File và inode
Một file là một khối dữ liệu được lưu trữ liên tục hoặc không liên tục (tình trạng dữ liệu bị phân mảnh) trên thiết bị lưu trữ như ổ cứng, ổ mềm, ổ flash,… Người dùng bình thường sẽ nhận dạng một file dựa trên tên của nó (file name).
Mỗi file được liên kết với một inode mà chứa các thuộc tính của file đó như là định dạng (text, binary,…), kích thước, ngày khởi tạo, vị trí trên thiết bị lưu trữ, chủ sở hữu, quyền truy cập,… Thông tin về file mà inode nắm giữ thường được gọi là metadata, đặc biệt inode không chứa tên file và nội dung thật sự của file.
Mỗi inode được xác định bởi một con số (inode number) , có một bảng chỉ mục (inode table) gồm inode number – vị trí inode trên thiết bị lưu trữ. Với inode number có được kernel sẽ tìm trong bảng chỉ mục này và truy cập tới nội dung của inode, bao gồm con trỏ dữ liệu từ đó truy cập tới nội dung của file mà liên kết với inode đó.
Khi một file được tạo, nó được gán một file name + một inode number là số nguyên duy nhất trong một file system. Các file name và inode number tương ứng được lưu trữ thành các mục (entry) trong thư mục, tức là thư mục thực ra chỉ là danh sách các liên kết giữa file name và inode number mà thôi.
Khi người dùng hoặc chương trình sử dụng file name để tham khảo tới một file, hệ điều hành sẽ sử dụng tên này để tìm kiếm inode tương ứng bằng cách tra cứu trong inode table rồi từ đó biết được thông tin và vị trí của file trên thiết bị lưu trữ để phục vụ cho các thao tác về sau (như chỉnh sửa nội dung của file, cung cấp thuộc tính của file,…).
Sử dụng lệnh ls -i để biết inode number của 1 file, và ls -l để biết metadata của file chứa trong inode.
Trên nhiều kiểu file system thì số lượng các inode có thể sử dụng được cố định tại thời điểm khởi tạo file system, dẫn tới việc giới hạn số lượng file mà hệ thống file có thể nắm giữ, quản lý.

2. Directory
Directory (hay folder – thư mục) trong *nix là một loại file đặc biệt, chứa danh sách các liên kết giữa tên đối tượng (file, folder, soft/hard link…) và inode number tương ứng với đối tượng đó.
Current Directory
Hay working directory (thư mục hiện hành) là thư mục mà hiện tại người dùng, chương trình đang “đứng”, tham khảo, làm việc tại đó.
Mọi user luôn luôn đang làm việc bên trong một thư mục nào đó. Chính xác hơn thì mỗi tiến trình (process) có một WK được liên kết linh động với nó. Trong Windows thì process gọi hàm GetCurrentDirectory để xác định vị trí của WK và gọi hàm SetCurrentDirectory để thay đổi WK.
Khi user hoặc process chỉ định một file mà đơn giản chỉ sử dụng tên file hoặc đường dẫn tương đối (relative path) của file thì việc tìm kiếm tới file này bắt đầu từ WK. Ví dụ trong Linux, khi mới mở Shell CLI lên để gõ lệnh thường thì ta đang đứng ở thư mục có đường dẫn tuyệt đối là
/home/user_name thì thư mục user_name là WK. Khi gõ vào
# rm foo.txt
thì lệnh này sẽ thực hiện việc xóa file foo.txt trong thư mục chủ của người dùng.
Thường có 2 cách để thể xác định WK.
Một là nhìn vào dấu nhắc lệnh (command prompt). Với bash thì dấu nhắc lệnh chứa tên người dùng,  máy tính và thư mục hiện hành, ví dụ:
[uit@localhost bluesky]#
thì uit là user name, localhost là computer name và bluesky là working directory, # chỉ ra rằng đây là user root.
Cách thứ hai là sử dụng lệnh pwd (present working directory), lệnh này không có tùy chọn hay đối số để hiện đường dẫn đầy đủ của thư mục hiện hành.
WK thường được biểu thị bởi 1 dấu chấm “.” , còn 2 dấu chấm liên tiếp “..” thay cho thư mục cha của WK. Ta sẽ luôn thấy 2 mục bị ẩn này tồn tại trong mọi thư mục trên *nix bằng cách sử dụng lệnh ls -a
Directory Tree
Gọi là cây thư mục, là hệ thống các thư mục được phân cấp và trong đó có duy nhất một thư mục được gọi là thư mục cha và tất cả các mức độ thư mục con của nó. Bất kỳ thư mục nào cũng có thể là điểm bắt đầu cho 1 cây thư mục của riêng nó nếu nó chứa ít nhất 1 thư mục con.
Hầu hết các hệ điều hành ngày nay đều sử dụng cấu trúc cây thư mục cho việc tổ chức file. Với các hệ *nix chỉ có duy nhất một thư mục gốc (root directory, ký hiệu là /) mà từ đó các cây thư mục khác sinh ra từ đây. Con các hệ Microsoft Windows thì có nhiều thư mục gốc độc lập với nhau có các tên như C: , D: , E: ,…
Lệnh du (disk usage) trong Linux là một tiện ích thu thập thông tin về các cây thư mục, bao gồm tổng không gian đĩa mà một cây chiếm dụng, tên và kích thước mỗi nhánh hoặc file trong cây đó.

3. Hard Link
Hard link (HL) là tên gọi khác cho một file đang tồn tại trên file system.
Một file có thể có nhiều HL và mỗi HL cũng có thể có nhiều HL cho nó. Tuy nhiên, không thể tạo cho HL cho thư mục và cũng không thể tạo ra HL cho một file không nằm cùng phân vùng với HL. Ví dụ, không thể tạo HL trên phân vùng A cho một file nằm trên phân vùng B.
Hệ điều hành không phân biệt giữa file name ban đầu của file với các HL được tạo ra sau này cho file đó. Cả file name và các HL này đều trỏ tới cùng một inode, và vì mỗi inode có một số inode number là duy nhất trong một file system nên HL không thể làm việc chéo qua các phân vùng khác nhau.
Sử dụng lệnh ln để tạo HL. Ví dụ dưới đây sẽ tạo một HL có tên hlink1 cho một file có tên file1, cả 2 file này đều nằm trong cùng thư mục hiện hành.
$ ln file1 hlink1
File name ban đầu và tất cả các HL tới file đều chia sẻ chung inode, có thể thấy rõ điều này bằng cách sử dụng lệnh ls –i. Câu lệnh dưới đây sẽ cho thấy inode number của file1 và hlink1 là giống nhau:
$ ls -i file1 hlink1
Số lượng các HL cho 1 file được thể hiện trong cột thứ 2 trong output của lệnh ls –l. Con số này là tổng của filename ban đầu và HL và số này giống nhau cho target file và mỗi HL, ví dụ:
$ ls -l file1 hlink1
Sử dụng lệnh sau để tìm các file có nhiều hơn một HL
$ find -type f -links +1
Thử chỉnh sửa nội dung của target file và lưu lại. Sau đó mở HL của target file đó lên sẽ những thay đổi được giữ nguyên.
Lệnh rm thực sự làm gì?
Khi sử dụng lệnh rm để xóa file thì thực chất là làm giảm đi một HL. Khi số lượng HL giảm còn 0 thì không thể truy cập tới nội dung của file được nữa (mặc dù nội dung đó vẫn tồn tại trên thiết bị lưu trữ) vì hệ điều hành không còn cách nào để tham khảo tới file này. Dữ liệu của file chỉ thực sự bị mất khi vị trí của nó bị ghi đè bởi các file mới. Điều này giải thích tại sao ta vẫn có thể khôi phục dữ liệu vừa bị xóa và không có dữ liệu nào được tạo ra trên vị trí của dữ liệu cũ.
HL cũng như shortcut trong Windows là cho phép truy cập tới file, chương trình, script từ một vị trí khác thuận tiện hơn.

4. Symbolic link
SL thì hơi khác chút so với HL đó là có thể tạo SL cho 1 thư mục cũng như là tạo SL các file và thư mục trên các phân vùng khác. Tuy nhiên, hạn chế của SL so với HL là khi xóa target file thì SL không có tác dụng nữa. Sử dụng cú pháp lệnh sau để tạo SL
$ ln -s target_file SL_name

End.

Thứ Hai, 7 tháng 5, 2012

Sơ lược xây dựng chính sách an ninh cho một hệ thống


Thành lập một nhóm chuyên giám sát sự an toàn của hệ thống

Nhóm này có nhiệm vụ kiểm tra, thông báo và kịp thời khống chế những nguy cơ nguy hiểm có thể gây ra cho hệ thống, hạn chế những rủi ro đáng tiếc cho hệ thống. Nhóm này còn có nhiệm vụ tìm hiểu và đưa ra các giải pháp, các cơ chế bảo mật mới cho toàn hệ thống. Cuối cùng, nhiệm vụ của nhóm này là nghiên cứu để thay đổi cách hoạt động nhằm nâng cao hiệu quả cũng như tính an toàn của hệ thống.
Trước khi đưa ra các thông báo về bảo mật, phải lường trước được nhiều nhất các tình huống có thể xảy ra.
Để kiểm tra mức độ yếu kém của hệ thống, hãy bắt đầu với những vấn đề có thể dẫn tới độ rủi ro cao nhất trong hệ thống mạng, như các nguy cơ tấn công từ bên ngoài (Internet). Hãy sử dụng cơ chế bảo mật bên ngoài bằng một sản phẩm của một hãng có danh tiếng, có thể cung cấp thông tin cần thiết để ước lượng mức bảo mật hiện tại của hệ thống khi bị tấn công từ Internet. Sự kiểm tra này không chỉ bao gồm việc kiểm tra các lỗ hổng, mà còn gồm cả các phân tích từ người sử dụng, hệ thống được kết nối bằng VPN, mạng và các phân tích về thông tin công cộng sẵn có.
Một trong những chú ý mang tính quan trọng nhất là kiểm tra nguy cơ tấn công từ bên ngoài vào. Đây chính là điểm mấu chốt trong việc đánh giá hệ thống mạng. Nhưng nếu một hệ thống sử dụng cơ chế bảo mật bên ngoài (cung cấp các dịch vụ email, Web), theo cơ chế đó chúng ta nhận ra rằng,không phải toàn bộ các nguy cơ tấn công đều đến từ Internet. Việc cung cấp lớp bảo mật theoaccount, hệ thống mạng phải được bảo vệ từ chính những người sử dụng VPN và những người dùng khác và tạo ra các mạng riêng rẽ từ các cổng truy cập đầu cuối là toàn bộ các ưu thế của cơ chế này.
Cơ chế bảo mật bên trong cũng giúp việc quản lý bảo mật hệ thống được tốt hơn. Bằng cách kiểm tra toàn bộ hoạt động hệ thống, các cơ chế chính sách bảo mật được xây dựng, các quá trình xử lý thông tin, cơ chế bảo mật bên trong cung cấp thông tin một cách chi tiết tương tự như việc khảo sát kỹ lưỡng phạm vi ở mức sâu hơn, thậm chí bao gồm cả việc tự phá mã mật khẩu và dùng các công cụ phân tích hệ thống để kiểm tra tính tương thích về chính sách bảo mật mới trong tương lai.

Thẩm định tính rủi ro của hệ thống

Khi thẩm định tính rủi ro của hệ thống, hãy sử dụng công thức sau:
Tính rủi ro = Giá trị thông tin * Mức độ của lỗ hổng * Khả năng mất thông tin
Để lấy được các kết quả bước đầu (các giá trị, các báo cáo về cơ chế bảo mật ngoài, và chính sách bảo mật) và tập trung vào 3 trong số các mặt thường được đề cập. Sau đó, bắt đầu với một số câu hỏi sau:
  • Cơ chế bảo mật cũ của hệ thống có được đề ra rõ ràng và cung cấp đủ biện pháp bảo mật chưa?
  • Kết quả từ cơ chế bảo mật bên ngoài có đồng bộ so với chính sách bảo mật của toàn hệ thống không?
  • Có mục nào cần sửa lại trong cơ chế bảo mật mà không được chỉ rõ trong chính sách bảo mật mới không?
  • Hệ thống bảo mật sẽ mất tác dụng trong hoàn cảnh rủi ro cao nhất nào?
  • Giá trị, thông tin gì mang tính rủi ro cao nhất? Nguy cơ bị tấn công nhất?
Các câu trả lời cung cấp cái nhìn toàn diện cho việc phân tích về toàn bộ chính sách bảo mật của Hệ thống. Có lẽ, thông tin quan trọng được lấy trong quá trình kết hợp các giá trị kiểm tra và tính rủi ro tương ứng. Theo giá trị thông tin, có thể tìm thấy các giải pháp mô tả được toàn bộ các yêu cầu, bạn có thể tạo ra một danh sách quan tâm về lỗ hổng bảo mật.

Xây dựng giải pháp

Trên thực tế không tồn tại giải pháp an toàn. Không có một ai, một tài liệu nào có thể cung cấp hết được mọi lỗ hổng trong hệ thống và cũng không có nhà sản xuất nào có thể cung cấp đủ các công cụ cần thiết. Cách tốt nhẫt vẫn là sử dụng kết hợp các giải pháp, sản phẩm nhằm tạo ra cơ chế bảo mật đa năng, đa tầng.

1. Firewall

Xem xét và lựa chọn một sản phẩm firewall hợp lý và đưa vào hoạt động phù hợp với chính sách bảo mật của hệ thống là một trong những việc đầu tiên trong quá trình bảo mật hệ thống. Firewall có thể là giải pháp phần cứng hoặc phần mềm hoặc kết hợp cả hai. Nhiệm vụ của firewall là ngăn chặn các tấn công trực tiếp vào các thông tin quan trọng của hệ thống, kiểm soát các thông tin ra vào hệ thống. Việc lựa chọn firewall thích hợp cho một hệ thống không phải là dễ dàng. Các firewall đều phụ thuộc trên một môi trường, cấu hình mạng, ứng dụng cụ thể. Khi xem xét lựa chọn một firewall, cần tập trung tìm hiểu tập các chức năng của firewall, tính năng lọc địa chỉ, gói tin

2. Hệ thống kiểm tra xâm nhập mạng (IDS)

Một firewall được gọi là tốt chỉ khi nó có thể lọc và tạo khả năng kiểm soát các gói tin khi chúng đi qua nó. Và đây cũng chính là nơi mà hệ thống IDS nhập cuộc. Nếu xem firewall như một con đập ngăn nước, thì thì có thể ví IDS như một hệ thống điều khiển luồng nước trên các hệ thống xả nước khác nhau. Một IDS, không liên quan tới các công việc điều khiển hướng đi của các gói tin, mà nó chỉ có nhiệm vụ phân tích các gói tin mà firewall cho phép đi qua, tìm kiếm các dấu hiệu tấn công đã biết (các dấu hiệu tấn công chính là các đoạn mã đã được biết mang tính nguy hiểm cho hệ thống) mà không thể kiểm tra hay ngăn chặn bởi firewallIDS tương ứng với việc bảo vệ đằng sau củafirewall, cung cấp việc chứng thực thông tin cần thiết để đảm bảo chắc chắn cho firewall hoạt động hiệu quả.


3. Hệ thống kiểm tra xâm nhập dựa theo vùng (H-IDS)

Lựa chọn, thực hiện và sử dụng một hệ thống kiểm tra sự xâm nhập trên máy chủ dựa trên nhiều hệ điều hành và môi trường ứng dụng. Một hàm chức năng đầy đủ của H-IDS có thể cung cấp các thông báo đều đặn theo thời gian của bất kỳ sự thay đổi nào tới máy chủ do tác động bên trong hay bên ngoài. Nó là một trong những cách tốt nhất để giảm thiểu sự tổn thương của hệ thống. Việc tìm kiếm hệ thống mà hỗ trợ được hầu hết các hệ điều hành nên được xem như một trong những đặc điểm chính cho mỗi H-IDS.

4. Hệ thống kiểm tra xâm nhập dựa theo ứng dụng (App-IDS)

Số lượng App-IDS xuất hiện trên thị trường ngày càng nhiều. Các công cụ này thực hiện việc phân tích các thông điệp từ một ứng dụng cụ thể hay thông tin qua proxy tới ứng dụng đó. Trong khi chúng có mục đích cụ thể, chúng có thể cung cấp mức bảo mật tăng lên theo từng mảng ứng dụng cụ thể. Khi được kết hợp với một H-IDS, chúng đảm bảo rằng sự xâm nhập tới một máy chủ sẽ giảm thiểu. Một App-IDS nên được xem như một chức năng hỗ trợ bảo mật trong suốt, mặc dù không đúng trong một số trường hợp đặc biệt.

5. Phần mềm Anti-Virus (AV)

Phần mềm AV nên được cài trên toàn bộ máy trạm (workstation), máy chủ (server), hệ thống hỗ trợ dịch vụ và hầu hết những nơi chứa dữ liệu quan trọng vào ra. Hai vấn đề quan trọng nhất để xem xét khi đặt yêu cầu cho một nhà sản xuất AV quản lý nhiều máy chủ và máy trạm trên phạm vi toàn bộ hệ thống là khả năng nhà cung cấp đó có đối phó được các đe doạ từ virus mới hay không, có thường xuyên kiểm tra các phiên bản của virus và các file cập nhật cho virus mới không).

6. Mạng riêng ảo (VPN)

Việc sử dụng VPN để cung cấp cho các thành viên truy cập tới các tài nguyên của hệ thống từ nhà hay nơi làm việc khác với mức bảo mật cao, hiệu quả nhất trong quá trình truyền thông và làm tăng hiệu quả hoạt động của thành viên. Tuy nhiên, không có điều gì không đi kèm sự rủi ro. Bất kỳ tại thời điểm nào khi một VPN được thiết lập, cần phải mở rộng phạm vi kiểm soát bảo mật của hệ thống tới toàn bộ các nút được kết nối với VPN.
Để đảm bảo mức bảo mật cho hệ thống này, người sử dụng phải thực hiện đầy đủ các chính sách bảo mật của hệ thống. Điều này có thể thực hiện được qua việc sử dụng các hướng dẫn của nhà sản xuất về dịch vụ VPN như hạn chế các ứng dụng có thể chạy ở nhà, cổng mạng có thể mở, loại bỏ khả năng chia kênh dữ liệu, thiết lập hệ thống bảo vệ virus khi chạy hệ thống từ xa. Tất cả công việc này giúp giảm thiểu tính rủi ro. Điều này rất quan trọng đối với các hệ thống phải đối mặt với những đe doạ trong các nguy cơ bị tấn công từ các hệ thống khác.

7. Sinh trắc học trong bảo mật (Cái này xa vời quá)

Sinh trắc học đã được biết đến từ một số năm trước đây, nhưng cho đến nay vẫn có rất nhiều khó khăn cho việc nhân rộng để áp dụng cho các hệ thống bảo mật thương mại. Dấu tay, tròng mắt, giọng nói… cung cấp bảo mật mức cao hơn các mật khẩu thông thường, nhưng cho đến hiện tại chúng cũng vẫn được coi như phương thức tốt nhất để truy cập vào hệ thống.

8. Các thế hệ thẻ thông minh

Các hệ thống gần đây đã sử dụng thẻ thông minh như một phương thức bảo mật hữu hiệu. Windows 2000 cung cấp cơ chế hỗ trợ thẻ thông minh như một phương tiện chính trong việc chứng thực quyền đăng nhập hệ thống. Nói chung, sự kết hợp đa công nghệ (như tròng mắt, thẻ thông minh, dấu tay) đang dần hoàn thiện và mở ra một thời đại mới cho việc chứng thực quyền truy cập trong hệ thống bảo mật.

9. Kiểm tra máy chủ

Sự kiểm tra đều đặn mức bảo mật được cung cấp bởi các máy chủ phụ thuộc chủ yếu vào sự quản lý. Mọi máy chủ ở trong một hệ thống nên được kiểm tra từ Internet để phát hiện lỗ hổng bảo mật. Thêm nữa, việc kiểm tra từ bên trong và quá trình thẩm định máy chủ về căn bản là cần thiết để giảm thiểu tính rủi ro của hệ thống, như khi firewall bị lỗi hay một máy chủ, hệ thống nào đó bị trục trặc.
Hầu hết các hệ điều hành đều chạy trong tình trạng thấp hơn với mức bảo mật tối thiểu và có rất nhiều lỗ hổng bảo mật. Trước khi một máy chủ đưa vào sản xuất, sẽ có một quá trình kiểm tra theo một số bước nhất định. Toàn bộ các bản sửa lỗi phải được cài đặt trên máy chủ và bất cứ dịch vụ không cần thiết nào phải được loại bỏ. Điều này sẽ tránh được độ rủi ro xuống mức thấp nhất cho hệ thống.
Việc tiếp theo là kiểm tra các log file từ các máy chủ và các ứng dụng. Chúng sẽ cung cấp cho ta một số thông tin tốt nhất về hệ thống, các tấn công bảo mật. Trong rất nhiều trường hợp, đó chính là một trong những cách để xác nhận quy mô của một cuộc tấn công vào máy chủ.

10. Kiểm soát ứng dụng

Vấn đề an toàn bảo mật trong mã nguồn của các ứng dụng hầu hết không được quan tâm. Điều này không được thể hiện trên các sản phẩm nhưng liệu nó có được mua, được download miễn phí hay được phát triển từ một mã nguồn nào đó. Để giúp đỡ giảm thiểu sự rủi ro bảo mật trong các ứng dụng nên kiểm tra lại giá trị của ứng dụng trong hệ thống, như công việc phát triển bên trong của các ứng dụng. Điều này cũng có thể bao gồm các đánh giá của các thực thể bên ngoài như thành viên hay khách.
Việc điều khiển cấu hình bảo mật các ứng dụng có thể làm tăng mức bảo mật. Hầu hết các ứng dụng được cấu hình tại mức tối thiểu của tính năng bảo mật, nhưng qua các công cụ cấu hình, mức bảo mật của hệ thống có thể được tăng lên. Lượng thông tin kiểm soát được cung cấp bởi ứng dụng cũng có thể được cấu hình. Nơi mà các ứng dụng cung cấp thông tin về quy mô bảo mật, thời gian kiểm soát và sự phân tích thông tin này sẽ là chìa khoá để kiểm tra các vấn đề bảo mật thông tin.

11. An toàn hệ điều hành

Sự lựa chọn hệ điều hành và ứng dụng là quá trình đòi hỏi phải có sự cân nhắc kỹ càng. Chọn cái gì giữa hệ điều hành Microsoft hay UNIX – Linux, trong rất nhiều trường hợp, đều thường do ấn tượng cá nhân về sản phẩm. Khi lựa chọn một hệ điều hành, thông tin về nhà sản xuất không quan trọng bằng những gì nhà sản xuất đó làm được trong thực tế, về khả năng bảo trì hay dễ dàng thực hiện với các tài liệu đi kèm. Bất kỳ một hệ điều hành nào từ 2 năm trước đây đều không thể đảm bảo theo những chuẩn ngày nay và việc các máy chủ, ứng dụng của bạn được cập nhật thường xuyên sẽ đảm bảo giảm thiểu khả năng rủi ro của hệ thống.
Khi lựa chọn một hệ điều hành, hãy tìm hiểu không chỉ các tiêu chuẩn thông thường như (quản trị, hiệu năng, tính chứng thực), mà còn phải xem xét khả năng áp dụng được của hệ điều hành với hệ thống hiện tại. Một hệ điều hành có thể cung cấp cơ chế bảo mật tốt hơn khi nó tương thích với các ứng dụng chạy bên trong nó như DNS hay WebServer, trong khi các hệ điều hành khác có thể có nhiều chức năng tốt hơn như một hệ thống applicationdatabase hay email server.

12. Thực hiện và đào tạo

Ban đầu, sự hỗ trợ cần thiết sẽ được đúc rút lại và lên kế hoạch hoàn chỉnh cho dự án bảo mật. Đây chính là bước đi quan trọng mang tính chiến lược của mỗi hệ thống về vấn đề bảo mật. Các chi tiết kỹ thuật của bất kỳ sự mô tả nào cũng sẽ thay đổi theo môi trường, công nghệ, và các kỹ năng liên quan, ngoài ra có một phần không nằm trong việc thực thi bảo mật nhưng chúng ta không được coi nhẹ, đó chính là sự đào tạo. Để đảm bảo sự thành công bảo mật ngay từ lúc đầu, người sử dụng phải có được sự hiểu biết cần thiết về chính sách bảo mật, gồm có:
  • Kỹ năng về các hệ thống bảo mật mới, các thủ tục mới.
  • Hiểu biết về các chính sách mới về tài sản, dữ liệu quan trọng của hệ thống.
  • Hiểu các quy trình bắt buộc mới, chính sách bảo mật hệ thống.

Nói tóm lại, không chỉ đòi hỏi người sử dụng có các kỹ năng cơ bản, mà đòi hỏi họ phải biết tại sao và cái gì họ đang làm là cần thiết với chính sách bảo mật của hệ thống.

13. Tiếp tục kiểm tra, phân tích và thực hiện

Hầu hết những gì mong đợi của một hệ thống bảo mật bất kỳ là chạy ổn định, điều khiển được hệ thống và nắm bắt được các luồng dữ liệu của hệ thống. Quá trình phân tích, tổng hợp các thông tin, sự kiện từ firewall, IDS’s, VPN, router, server và các ứng dụng là cách duy nhất để kiểm tra hiệu quả của một hệ thống bảo mật và cũng là cách duy nhất để kiểm tra hầu hết sự vi phạm về chính sách bảo mật cũng như các lỗi thông thường mắc phải với hệ thống.

Các gợi ý bảo mật cho hệ thống và mạng

Dựa trên kết quả của việc sử dụng các phương thức bảo mật bên ngoài và bảo mật bên trong của hệ thống có thể chia thành các vấn đề nhỏ tuỳ theo từng công cụ như sau:
  • Đặc điểm của bảo mật
  • Tạo bộ phận chuyên trách bảo mật để xem xét toàn bộ các vấn đề liên quan tới bảo mật
  • Thực hiện các thông báo bảo mật tới người sử dụng để đảm bảo mọi người hiểu và thực hiện theo các yêu cầu cũng như sự cần thiết của việc thực hiện các yêu cầu đó.
  • Tạo, cập nhật, theo dõi toàn bộ chính sách bảo mật của hệ thống.

Windows NT/IIS:

  • Hầu hết 95% các vấn đề bảo mật của NT/IIS, chúng ta có thể giải quyết theo các bản sửa lỗi. Đảm bảo chắc chắn toàn bộ các máy chủ NT và IIS được sửa lỗi với phiên bản mới nhất.
  • Xoá (đừng cài đặt à nha) toàn bộ các script từ Internet.

Cisco Routers:

  • Loại bỏ các tính năng như fingertelnet và các dịch vụ, cổng khác trên thiết bị định tuyến (router).
  • Bỏ các gói tin tài nguyên IP dẫn đường trong router.
  • Chạy Unicast RPF để ngăn chặn người sử dụng giả mạo IP.
  • Sử dụng router như một firewall phía trước và thực hiện các ACL tương tự theo các luật trongfirewall.

Quy định chung về cầu hình firewall:

  • Cấu hình của firewall nên có các luật nghiêm ngặt. Chỉ rõ các luật đối với từng loại truy nhập cả bên ngoài lẫn bên trong.
  • Giảm thiểu các truy nhập từ xa tới firewall.
  • Cung cấp hệ thống kiểm soát tập luật của firewall.
  • Kiểm tra lại các luật.
Cisco PIX Firewalls:
  • Không cho phép truy cập qua telnet
  • Sử dụng AAA cho việc truy cập, điều khiển hệ thống console

Kiểm soát Firewall-1

  • Loại bỏ các luật mặc định cho phép mã hoá và quản lý của firewallthay thế các luật không rõ ràng bằng các luật phân biệt rạch ròi trong công việc thực thi.
  • Không sử dụng mặc định “allow DNS traffic” – chấp nhận luật này chỉ cho các máy chủ cung cấp DNS cho bên ngoài.

DNS bên trong:

  • Bất kỳ máy chủ nào cung cấp DNS bên trong và các dịch vụ mang tính chất nội bộ phải không được cung cấp DNS bên ngoài.
  • Kiểm tra cùng với nhà cung cấp DNS để cấu hình bảo vệ từ thuộc tính “cache poisoning”.