Khi một server đƣợc cấu hỡnh yờu cầu kiểm tra xỏc thực Client ; Client gửi tới Server gồm Certificate và dữ liệu riờng biệt đó đƣợc ký để kiểm tra tớnh xỏc thực của nú. Server sử dụng phần dữ liệu này để xỏc thực public key trong certificate và để xỏc thực rằng đối tƣợng đú sở hữu certificate đú
Giao thức SSL yờu cầu client tạo một chữ ký điện tử bằng việc dựng phƣơng phỏp mó húa hashing để tạo một message digest từ một dữ liệu ngẫu nhiờn mà chỉ cú Server và Client biết trong quỏ trỡnh thực hiện handshake. Thuật toỏn hash sẽ thực hiện tạo một message digest và mó húa message digest đú bằng private key của nú; private key này tƣơng ứng với public-key trong certificate từ client gửi đến server.
Để kiểm tra tớnh đỳng đắn của một Client, Server phải nhận đƣợc 4 cõu trả lời đỳng nhƣ sau:
Kiểm tra public key của ngƣời sử dụng cú hợp lệ với chữ ký của ngƣời đú hay khụng? Server kiểm tra chữ ký của ngƣời đú cú hợp lệ với public key trong certificate của client hay khụng. Nếu xỏc nhận đỳng, server sẽ xỏc nhận rằng certificate đú thuộc về ngƣời cú private key tƣơng ứng (private key này đƣợc dựng để ký vào dữ liệu ngẫu nhiờn và kiểm tra đƣợc tớnh toàn vẹn của dữ liệu khụng bị thay đổi). Tuy nhiờn ở bƣớc này, việc kết hợp giữa public key và trƣờng DN trong certificate chƣa đƣợc thực hiện. Quỏ trỡnh này đƣợc thực hiện ở bƣớc 3 và 4.
Kiểm tra Certificate của Client cú cũn giỏ trị hay khụng? Server kiểm tra xem Certificate đú cũn thời hạn hay khụng. Nếu thời gian hiện tại vƣợt quỏ thời gian trong certificate, quỏ trỡnh xỏc thực khụng đƣợc tiếp tục tiến hành. Nếu hợp lệ sẽ tiếp tục bƣớc 3
Certificate của Client cú đỳng là đƣợc cấp phỏt từ CA mà Server tin cậy hay khụng? Giống nhƣ quỏ trỡnh ở Client; trong mỗi phần mềm Server cú hỗ trợ SSL cú một danh sỏch cỏc CA mà Server tin cậy. Dựa vào danh sỏch Server sẽ kiểm tra certificate của Client cú đƣợc cấp phỏt từ CA mà nú tin cậy hay khụng. Nếu trƣờng DN của Certificate đú trựng với trƣờng DN của CA tin cậy, nếu trựng tiếp tục với bƣớc 4.
Kiểm tra public key của CA tƣơng ứng với chữ ký của CA cấp phỏt Certificate của Client. Server sử dụng public key từ certificate của CA để xỏc nhận tớnh hợp lệ của chữ ký của CA trong Certificate của Client. Nếu thụng tin trong Certificate bị thay đổi kể từ khi ký bởi CA hay public key của CA bị thay đổi, nú sẽ khụng đỏp ứng đỳng đắn private key đó sử dụng để ký certificate của client, server sẽ khụng thể kiểm tra tớnh xỏc thực của client. Nếu đỳng đắn, SSL sẽ thụng bỏo là Client hợp lệ và tiếp tục thực hiện kết nối SSL.
Hỡnh dƣới đõy minh họa quỏ trỡnh kiểm tra tớnh xỏc thực của Client theo cỏc bƣớc mụ tả ở trờn.
Hỡnh 23 - Quỏ trỡnh kiểm tra xỏc thực của client
3.3. XÂY DỰNG HỆ THỐNG FIREWALLS
3.3.1. Giới thiệu chung:
3.3.1.1. Định nghĩa:
Firewall là thiết bị nhằm ngăn chặn sự truy nhập khụng hợp lệ từ ngoài vào mạng trong. Hệ thống firewall thƣờng bao gồm cả phần cứng và phần mềm. Firewall thƣờng đƣợc dựng theo phƣơng thức ngăn chặn hay tạo cỏc luật đối với cỏc địa chỉ khỏc nhau.
3.3.1.2. Chức năng của firewalls:
Hoạt động của hệ thống firewalls đảm bảo cỏc chức năng sau: Hạn chế truy nhập tại một điểm kiểm tra
Ngăn chặn cỏc truy nhập từ ngoài vào trong hệ thống cần bảo vệ Hạn chế cỏc truy nhập ra ngoài
Xõy dựng firewalls là một biện phỏp khỏ hữu hiệu, nú cho phộp bảo vệ và kiểm soỏt hầu hết cỏc dịch vụ do đú đƣợc ỏp dụng phổ biến nhất trong cỏc biện phỏp bảo vệ mạng. Thụng thƣờng, một hệ thống firewalls là một cổng (gateway) giữa mạng nội bộ giao tiếp với mạng bờn ngoài và ngƣợc lại
3.3.1.3. Phõn loại:
Cú khỏ nhiều loại firewall, mỗi loại cú những ƣu và nhƣợc điểm riờng. Tuy nhiờn để thuận tiện cho việc nghiờn cứu ngƣời ta chia hệ thống làm 2 loại chớnh:
Packet filtering: Là hệ thống firewalls cho phộp chuyển thụng tin giữa hệ thống trong và ngoài mạng cú kiểm soỏt.
Application-proxy firewall: Là hệ thống firewalls thực hiện cỏc kết nối thay
cho cỏc kết nối trực tiếp từ mỏy khỏch yờu cầu.
Sau đõy sẽ phõn tich hoạt động của 2 loại firewalls này:
3.3.1.4. Nguyờn tắc hoạt động của firewalls:
Nguyờn tắc chung
Mạng cú sử dụng firewall thỡ mạng đú về mạng lý thuyết mà núi là khụng thể nhỡn thấy đƣợc hay núi một cỏch khỏc là khụng kết nối tới đƣợc đối với những ai đƣợc phộp kết nối. Nhƣ vậy firewall là một phƣơng thức an toàn rất cao mà bạn cú thể dựng để bảo vệ mạng của bạn. Tuy nhiờn việc sử dụng biện phỏp an toàn nhƣ vậy khụng hẳn đó tốt, bởi với việc tạo ra cỏc luật chặt chẽ trờn firewall sẽ làm hạn chế việc sử dụng mạng. Đặc biệt trong mụi trƣờng làm việc mà mọi ngƣời phụ thuộc chủ yếu vào cỏc ứng dụng đƣợc chia sẻ trờn mạng thỡ việc sử dụng firewall là khụng cú lợi, mặc dự ta cú đƣợc sự an toàn trờn mạng nhƣng ta lại mất đi cỏc tớnh năng mềm dẻo của nú. Một vớ dụ điển hỡnh về mụ hỡnh mạng nhƣ vậy là mạng trong cỏc trƣờng đại học. Cỏc đề tài nghiờn cứu trong trƣờng thƣờng đƣợc thực hiện bởi nhiều khoa khỏc nhau, mỗi khoa lại nằm riờng lẻ cú khi cỏch nhau khỏ xa, nhƣ vậy việc thực hiện chia sẻ cỏc kết quả nghiờn cứu cho nhau sẽ gặp rất nhiều khú khăn trong mụi trƣờng cú sử dụng firewall.
Một điều nữa cần núi đến khi đề cập đến firewall là ta đó để hầu hết "cỏc quả trứng trong cựng một giỏ" bởi vỡ nú là cửa ngừ để mạng của bạn truy cập ra mạng ngoài. Mặc dự firewall tạo ra cho bạn khả năng điều khiển truy nhập và tạo sự an toàn cho mạng của bạn nhƣng đú cũng là "cỏi nỳt cổ chai" đối với mạng, bởi tất cả việc nhận thực đều xảy ra ở đú.
mạng khỏc nhau cú thể kết nối đƣợc với nhau. Việc kết nối này cú thể là tự động hoặc nhờ sự tỏc động của con ngƣời. Đối với một số mạng nhất là với cỏc ISP thỡ việc sử dụng firewall hoàn toàn khụng cần thiết bởi bạn sẽ mất khỏch hàng nếu nhƣ bạn ỏp dụng một loạt cỏc chớnh sỏch ngăn chặn cứng ngắt. Ngƣời ta cho rằng những nhà quản trị hệ thống thực sự cú đƣợc những đặc tớnh nhƣ của firewall mà khụng cần sử dụng đến nú.
Một vấn đề khỏc nữa khi sử dụng firewall là đối với cỏc dịch vụ nhƣ ftp, telnet, gopher, http, rpc, rlogin hay NFS thỡ nú cũng tạo ra một số vấn đề về truy cập dịch vụ. Đối với cỏc dịch vụ cơ bản trờn mạng đú thỡ cỏc trỡnh proxy cho nú đó đƣợc viết, nhƣng cỏc dịch vụ trờn mạng thỡ ngày càng phỏt triển. Do vậy để cung cấp cho ngƣời dựng trong mạng của bạn cú khả năng truy cập Internet hiệu quả thỡ bạn phải thƣờng xuyờn cập nhật cỏc trỡnh ứng dụng mới. Vấn đề ở đõy là với mỗi dịch vụ mới thỡ cỏc trỡnh proxy tƣơng ứng với nú ra đời sau cú thể chỉ là vài thỏng hoặc lõu hơn nữa, và nhƣ vậy ngƣời dựng trong mạng của bạn sẽ làm ầm lờn !
Packet Filtering:
Kiểu firewall chung nhất là kiểu dựa trờn mức mạng của mụ hỡnh OSI. Firewall mức mạng thƣờng hoạt động theo nguyờn tắc router hay cũn đƣợc gọi là router, cú nghĩa là tạo ra cỏc luật cho phộp ai hay cỏi gỡ đƣợc quyền truy nhập mạng dựa trờn mức mạng. Mụ hỡnh này hoạt động theo nguyờn tắc lọc gúi tin packet filtering
Nú kiểm tra cỏc gúi tin đến router từ mạng ngoài. ở kiểu hoạt động này cỏc gúi tin đều đƣợc kiểm tra địa chỉ nguồn nơi chỳng xuất phỏt. Sau khi địa chỉ IP nguồn đƣợc xỏc định thỡ nú đƣợc kiểm tra với cỏc luật đó đƣợc đặt ra trờn router. Vớ dụ ngƣời quản trị firewall quyết định rằng khụng cho phộp bất kỳ một gúi tin nào xuất phỏt từ mạng microsoft.com đƣợc kết nối với mạng trong thỡ cỏc gúi tin xuất phỏt từ mạng này sẽ khụng bao giờ đến đƣợc mạng trong.
Cỏc firewall hoạt động ở lớp mạng ( tƣơng tự nhƣ một router ) thƣờng cho phộp tốc độ xử lý nhanh bởi nú chỉ kiểm tra địa chỉ IP nguồn mà khụng cú một lệnh thực sự nào trờn router, nú khụng cần một khoảng thời gian nào để xỏc định xem là địa chỉ sai hay bị cấm. Nhƣng điều này bị trả giỏ bởi tớnh tin cậy của nú. Kiểu
một gúi tin mang địa chỉ nguồn là địa chỉ giả thỡ nhƣ vậy nú sẽ cú đƣợc một số mức truy nhập vào mạng trong của bạn.
Cụng bằng mà núi thỡ cú nhiều biện phỏp kỹ thuật cú thể đƣợc ỏp dụng cho việc lọc gúi tin nhằm khắc phục yếu điểm này. Vớ dụ nhƣ đối với cỏc cụng nghệ packet filtering phức tạp thỡ khụng chỉ cú trƣờng địa chỉ IP đƣợc kiểm tra bởi router mà cũn cú cỏc trƣờng khỏc nữa đƣợc kiểm tra với cỏc luật đƣợc tạo ra trờn firewall, cỏc thụng tin khỏc này cú thể là thời gian truy nhập, giao thức sử dụng, port v.v..
Tuy nhiờn cỏc yếu điểm của kiểu firewall hoạt động dựa trờn việc lọc gúi tin khụng chỉ cú vậy. Vớ dụ nhƣ đối với dịch vụ RPC (remote procedure call) thỡ rất khú cú thể lọc một cỏch cú hiệu quả bởi vỡ mỏy chủ của dịch vụ này lắng nghe trờn cỏc port khụng cố định và đƣợc gỏn một cỏch ngẫu nhiờn mỗi khi nú khởi động lại. Một dịch vụ cú tờn là portmapper sẽ định vị cỏc cuộc gọi nguồn đến dịch vụ RPC rồi đến cỏc số dịch vụ đƣợc gỏn, nhƣng trờn firewall thỡ khụng cú cỏc quỏ trỡnh tƣơng ứng. Do đú router khụng thể biết port nào sẽ đƣợc dựng cho dịch vụ đú, cho nờn khụng thể ngăn chặn một cỏch hoàn toàn những dịch vụ kiểu này trừ phi ta ngăn chặn tất cả cỏc gúi tin sử dụng giao thức UDP ( do RPC thƣờng sử dụng UDP) nhƣng nhƣ vậy thỡ khụng ổn, ta đó ngăn chặn luụn cả dịch vụ DNS. Nhƣ vậy là ngăn chặn dịch vụ RPC là khụng thực hiện đƣợc triệt để.
Vớ dụ về dịch vụ RPC ở trờn cho ta thấy đƣợc vấn đề cú thể nảy sinh dựng kiểu firewall loại này do port dựng cho RPC đƣợc gỏn động mỗi khi nú đƣợc khởi động. Tuy nhiờn trong phần lớn cỏc trƣờng hợp kiểu lọc này - cũn đƣợc gọi là lọc giao thức - hoạt động rất hiệu quả mà khụng mắc phải vấn đề gỡ. Kiểu hoạt động theo phƣơng thức lọc giao thức này chủ yếu dựa trờn port nào đƣợc dựng ở node đớch.
Application-proxy firewall
Kiểu firewall này hoạt động khỏc với kiểu firewall trƣớc, nú dựa trờn phần mềm. Khi một kết nối từ một ngƣời dựng nào đú đến mạng sử dụng firewall kiểu này thỡ kết nối đú sẽ bị chặn lại, sau đú firewall sẽ kiểm tra cỏc trƣờng cú liờn quan của gúi tin yờu cầu kết nối. Nối việc kiểm tra thành cụng, cú nghĩa là cỏc trƣờng
Ƣu điểm của kiểu firewall loại này là nú khụng cú chức năng chuyển tiếp cỏc gúi tin IP, hơn nữa ta cú thể điểu khiển một cỏch chi tiết hơn cỏc kết nối thụng qua firewall. Đồng thời nú cũn đƣa ra nhiều cụng cụ cho phộp ghi lại cỏc quỏ trỡnh kết nối. Tất nhiờn điều này phải trả giỏ bởi tốc độ xử lý, bởi vỡ tất cả cỏc kết nối cũng nhƣ cỏc gúi tin chuyển qua firewall đều đƣợc kiểm tra kỹ lƣỡng với cỏc luật trờn firewall và rồi nếu đƣợc chấp nhận sẽ đƣợc chuyển tiếp tới node đớch.
Sự chuyển tiếp cỏc gúi tin IP xảy ra khi một mỏy chủ nhận đƣợc một yờu cầu từ mạng ngoài rồi chuyển chỳng vào mạng trong. Điều này tạo ra một lỗ hổng cho cỏc kẻ phỏ hoại ( hacker) xõm nhập từ mạng ngoài vào mạng trong.
Nhƣợc điểm của kiểu firewall hoạt động dựa trờn ứng dụng là phải tạo cho mỗi dịch vụ trờn mạng một trỡnh ứng dụng uỷ quyền (proxy) trờn firewall vớ dụ nhƣ phải tạo một trỡnh ftp proxy dịch vụ ftp, tạo trỡnh http proxy cho dịch vụ http... Nhƣ vậy ta cú thể thấy rằng trong kiểu giao thức client-server nhƣ dịch vụ telnet làm vớ dụ thỡ cần phải thực hiện hai bƣớc để cho hai mỏy ngoài mạng và trong mạng cú thể kết nối đƣợc với nhau. Khi sử dụng firewall kiểu này cỏc mỏy client (mỏy yờu cầu dịch vụ) cú thể bị thay đổi. Vớ dụ nhƣ đối với dịch vụ telnet thỡ cỏc mỏy client cú thể thực hiện theo hai phƣơng thức: một là bạn telnet vào firewall trƣớc sau đú mới thực hiện việc telnet vào mỏy ở mạng khỏc; cỏch thứ hai là bạn cú thể telnet thẳng tới đớch tuỳ theo cỏc luật trờn firewall cú cho phộp hay khụng mà việc telnet của bạn sẽ đƣợc thực hiện. Lỳc này firewall là hoàn toàn trong suốt, nú đúng vai trũ nhƣ một cầu nối tới đớch của bạn.
3.3.2. Kiến trỳc chung của firewall:
3.3.2.1. Kiến trỳc của hệ thống cú firewall:
Hỡnh 24 - Kiến trỳc hệ thống mạng khụng cú firewall
Kiến trỳc của hệ thống cú firewalls nhƣ sau:
Hỡnh 25 - Kiến trỳc hệ thống cũ firewall
3.3.2.2. Cỏc thành phần của hệ thống firewalls:
Nhỡn chung, mỗi hệ thống firewalls đều cú cỏc thành phần chung nhƣ mụ tả trong hỡnh sau:
Hỡnh 26 - Cỏc thành phần của hệ thống firewalls
Firewall cú thể bao gồm phần cứng, hoặc phần mềm nhƣng thƣờng là cả hai. Phần mềm cú thể là phần mềm cú bản quyền hay phần mềm miễn phớ. Phần cứng cú thể là bất kỳ loại gỡ mà sử dụng đƣợc cho phần mềm đƣợc cài đặt.
Về mặt phần cứng thỡ firewall khụng khỏc gỡ một router, nú cho phộp hiển thị cỏc địa chỉ IP đang kết nối qua nú. Điều này cho phộp bạn xỏc định đƣợc cỏc địa chỉ nào đƣợc phộp và cỏc địa chỉ IP nào khụng đƣợc phộp kết nối.
Tất cả cỏc firewall đều cú chung một thuộc tớnh là cho phộp phõn biệt đối xử hay khả năng từ chối truy nhập dựa trờn cỏc địa chỉ nguồn.
Theo hỡnh 22 cỏc thành phần của một hệ thống firewall bao gồm: Screening router: Là chặng kiểm soỏt đầu tiờn cho LAN
DMZ: Khu phi quõn sự, là vựng cú nguy cơ bị tấn cụng từ Internet.
Gateway: là cổng ra vào giữa mạng LAN và DMZ, kiểm soỏt mọi liờn lạc, thực thi cỏc cơ chế bảo mật
IF1: Interface 1: Là card giao tiếp với vựng DMZ IF2: Interface 2: Là card giao tiếp với vựng mạng LAN
FTP gateway: Kiểm soỏt truy cầp FTP giữa LAN và vựng DMZ. Cỏc truy cập ftp từ mạng LAN ra Internet là tự do. Cỏc truy cập FTP vào LAN đũi hỏi xỏc thực thụng qua Authentication Server.
Telnet Gateway: Kiểm súat truy cập telnet giữa mạng LAN và Internet. Giống nhƣ FTP, ngƣời dựng cú thể telnet ra ngoài tự do, cỏc telnet từ ngoài vào yờu cầu phải xỏc thực qua Authentication Server
Authentication Server: đƣợc sử dụng bởi cỏc cổng giao tiếp, nhận diện cỏc yờu cầu kết nối, dựng cỏc kỹ thuật xỏc thực mạnh nhƣ one-time password/token (mật khẩu sử dụng một lần). Cỏc mỏy chủ dịch vụ trong mạng LAN đƣợc bảo vệ an toàn, khụng cú kết nối trực tiếp với Internet, tất cả cỏc thụng tin trao đổi đều đƣợc kiểm súat qua gateway
3.3.2.3. Cỏc bước cần thiết xõy dựng firewall
Xõy dựng một hệ thống firewalls khụng phải là đơn giản; yờu cầu ngƣời quản trị hệ thống phải cú kinh nghiệm quản trị hệ thống và hiểu biết cơ chế hoạt động cỏc cỏc dịch vụ. Ngoài ra, ngƣời cài đặt firewalls cần kiểm tra từng bƣớc sau:
Xỏc định kiến trỳc mạng và giao thức cần thiết. Xõy dựng cỏc chớnh sỏch an toàn
Cú đƣợc những cụng cụ cần thiết
Sử dụng những cụng cụ này một cỏch hiệu quả Kiểm tra thử nghiệm hệ thống
Xỏc định kiến trỳc mạng và giao thức cần thiết.
Bƣớc đầu tiờn là cần phải hiểu toàn bộ mạng, cụng việc này khụng chỉ đơn giản là xem lại cỏc mỏy, cỏc giấy tờ văn bản vv...nú phải đƣợc thảo luận với cỏc