HỌC VIỆN NIIT ICT-HÀ NỘI   2011             SECURITY OF LINUX                           NHÓM 3:                           ...
SECURITY OF LINUX                                                          MỤC LỤCI.        Mở đầu ..........................
SECURITY OF LINUX   I.     Mở đầu          1. Giới thiệuHiện nay, trên môi trường máy chủ Linux ngày càng chiếm một vị trí...
SECURITY OF LINUXfirewall. Firewall cũng là một phần mềm và nên được coi như một phần mềm bìnhthường như mọi phần mềm khác...
SECURITY OF LINUXĐịa chỉ nguồn và đích của tầng giao vận: gói tin là TCP hay UDP, port number, xácđịnh các ứng dụng như SN...
SECURITY OF LINUXTường lửa loại này không thể kiểm tra dữ liệu lớp trên, không thể ngăn chặn cáccuộc tấn công có sử dụng c...
SECURITY OF LINUXgói tin riêng biệt. Tấn công loại này được thiết kế để phá vỡ các quy tắc lọc phụthuộc vào thông tin tiêu...
SECURITY OF LINUXApplication-Level gateway có xu hướng an toàn hơn packet-filtering router. Thay vìcố gắng để đối phó với ...
SECURITY OF LINUXMột ví dụ nữa về việc thực hiện của circuit-level gateway là gói SOCKS; phiên bản5 của SOCKS được địng ng...
SECURITY OF LINUX      Dual                               homed                               hostFirewall kiến trúc kiểu ...
SECURITY OF LINUX   Screenedhost:Screened Host có cấu trúc ngược lại với cấu trúc Dual-homed host. Kiến trúcnày cung cấp c...
SECURITY OF LINUX      trên thực tế thì kiến trúc dual-homed host đôi khi cũng có lỗi mà cho phép      các packet thật sự ...
SECURITY OF LINUXmạng bên ngoài, tách bastionhost ra khỏi các host thông thường khác. Kiểu screenedsubnet đơn giản bao gồm...
SECURITY OF LINUXbất kì lệnh gì quan trọng hay cài đặt phần mềm trên server linux thì cần gõ lệnhsudo.Cụ thể như:       Ub...
SECURITY OF LINUXnoatime cờ này nói rằng hệ thống file không giữ bản ghi lần truy cập cuối cùng củacác file. Nếu sử dụng m...
SECURITY OF LINUXMật mã công khai chẳng hạn như là sử dụng PGP, liên quan đến mật mã sử dụngmột chìa khóa để mã hóa và một...
SECURITY OF LINUX    4.5. SSHSSH là một bộ các chương trình được sử dụng như là một thay thế an toàn chorlogin, rsh và rcp...
SECURITY OF LINUXCác tính năng quan trọng nhất của SSH      Các hostkeyMáy chủ chứng thực về bản chất là một người nào đó ...
SECURITY OF LINUXChúng ta không cần lo lắng về điều này. Thường thì khi vấn đề bảo mật trở thànhmối quan tâm, host key sẽ ...
SECURITY OF LINUXNhiều khả năng lý do là ở ba câu đầu tiên, và bạn có thể bỏ qua sự thay đổi đó. NếuIP/DNS bị sửa đổi, bạn...
SECURITY OF LINUX     ssh       -o       StrictHostKeyChecking                                 ask     yatri@192.168.1.50N...
SECURITY OF LINUXDưới đây là key gây ra lỗi, trong dòng 1. Việc chúng ta cần làm lúc này là nhấn Ctrl+ K để cắt ra toàn bộ...
SECURITY OF LINUX      Tạo Host Key mớiĐối với các bản ghi, không có quá nhiều lý do khiến bạn cần thay đổi toàn bộ hostke...
SECURITY OF LINUX   4.6.   Cryptographic IP (CIPE)Mục tiêu chính của phần mềm này là cung cấp một cơ sở an toàn (chống ngh...
SECURITY OF LINUXGiới thiệ u tổng quan về TrueCrypt để mã hóa dữ liệ u trong LinuxTrueCrypt là phần mềm hệ thống cho phép ...
SECURITY OF LINUXService: hosts [EXCEPT] hostsVí dụ:Tcp_wrappers có thể chạy một lệnh cục bộ dựa vào host tương ứng với cá...
SECURITY OF LINUXVí dụ: Khi sử dụng ipchains tất cả các gói tin đi vào một giao diện mạng sẽ đi quachuỗi input. Tất cả các...
Upcoming SlideShare
Loading in...5
×

Isas semina

537

Published on

Security

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
537
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Isas semina

  1. 1. HỌC VIỆN NIIT ICT-HÀ NỘI 2011 SECURITY OF LINUX NHÓM 3: Đỗ Xuân Hoàng Đào Đại Dương 10/10/2011
  2. 2. SECURITY OF LINUX MỤC LỤCI. Mở đầu ............................................................................................................... 3 1. Giới thiệu ...................................................................................................... 3 2. Định nghĩa các thuật ngữ, từ viết tắt ......................................................... 3 3. Tài liệu tham khảo ....................................................................................... 3II. Nội dung trình bày ............................................................................................ 3 1. Firewalls........................................................................................................ 3 1.1. Tổng quan .............................................................................................. 3 1.2. Mục đích sử dụng .................................................................................. 4 1.3. Các loại firewall..................................................................................... 4 1.4. Cách cài đặt ........................................................................................... 9 2. Host security ............................................................................................... 13 3. Server security ........................................................................................... 15 4. Cryptography ............................................................................................. 15 4.1. Mật khẩu .............................................................................................. 15 4.2. PGP và các mã hóa công khai ............................................................ 15 4.3. SSL, S-HTTP, HTTPS, S/MIME ....................................................... 16 4.4. IPSec và triển khai mã hóa ............................................................... 16 4.5. SSH ....................................................................................................... 17 4.6. Cryptographic IP (CIPE) ................................................................... 24 4.7. Mật khẩu bóng tối ............................................................................... 24 4.8. Sử dụng CFS, các hệ thống tập tin mã hóa ...................................... 24 5. Network security ........................................................................................ 25 5.1. Bảo mật theo máy chủ (Host Based Security) .................................. 25 5.2. Bảo mật theo cổng (Port Based Security) ......................................... 26 Trang 2
  3. 3. SECURITY OF LINUX I. Mở đầu 1. Giới thiệuHiện nay, trên môi trường máy chủ Linux ngày càng chiếm một vị trí quan trọng.Nguyên nhân khiến Linux trở thành một đối thủ tiền năng của hệ điều hànhMicrosoft Window là do tính ổn định, độ linh hoạt và khả năng chịu tải lớn: Đây lànhững đặc điểm quan trọng hàng đầu của một hệ thống máy phục vụ.Tính bảo mật tốt cũng là một trong những đặc điểm nổi bật của Linux. Tuy nhiên,để một hệ thống Linux có khả năng chống lại các cuộc tấn công người quản trị phảinắm được một số kỹ năng nhất định. Trong bài viết này nhóm chúng tôi xin giớithiệu một số cơ chế bảo mật của Linux nhằm nâng cao tính an toàn cho hệ thống. 2. Định nghĩa các thuật ngữ, từ viết tắt 3. Tài liệu tham khảo[1]- http://www.aboutdebian.com/security.htm[2]- Giáo trình Quản trị hệ thống Linux, LPI, năm 2006[3]- http://www.linux.ie/articles/cryptography/img25.php[4]- Maximum Linux Security second edition, June 21, 2001[5]- http://www.linuxsecurity.com/docs/SecurityAdminGuide/SecurityAdminGuide-9.html II. Nội dung trình bày 1. Firewalls 1.1. Tổng quanĐể bảo vệ từ xa một máy tính hay cho cả một mạng nội bộ (Intranet), người tathường dùng các hệ thống đặc biệt gọi là tường lửa (Firewall). Chức năng của tườnglửa là ngăn chặn các truy nhập trái phép (theo danh sách truy nhập đó xỏc địnhtrước) và thậm chí có thể lọc các gói tin mà ta không muốn gửi đi hoặc nhận vào vớimột lý do nào đó. Phương thức bảo vệ này được dùng nhiều trong môi trường liênmạng Internet.Mọi người thường nghĩ firewall cung cấp an toàn tuyệt đối, nhưng họ sai. Trong hầuhết trường hợp cấu hình firewall sai sẽ giảm độ an toàn hơn cả không cài đặt Trang 3
  4. 4. SECURITY OF LINUXfirewall. Firewall cũng là một phần mềm và nên được coi như một phần mềm bìnhthường như mọi phần mềm khác, vì nó cũng có thể gặp lỗi như thường.Vậy hãy suy nghĩ trước khi cài đặt firewall! Bạn có thật sự cần không? Nếu bạn cầnnghĩ mình cần, bạn nên viết ra những quy tắc hoặt động của nó, loại firewall nào, vàthao tác với nó như thế nào.Trên hết hiểu biết về firewall sẽ giúp bạn trở nên bảo mật tốt cho toàn bộ máytính,mạng cơ sở hay là cả 1 server. 1.2. Mục đích sử dụng Bảo vệ người dùng khỏi worm và những kẻ tấn công Giữ người dùng ở trong phạm vi kiểm soát 1.3. Các loại firewall Có ba loại firewall: Packet-filtering router Curcuit-Level Gateway Application-Level Gateway Cách thức hoạt động ưu nhược điểm của từng loại tường lửa: Packet-filtering router:Packet-filtering router áp dụng một bộ quy tắc để mỗi gói tin IP vào và ra và sau đólà chuyển đi hay loại bỏ các gói tin. Router thường được cấu hình để lọc các gói tintheo cả hai hướng ( từ trong và ngoài vào mạng nội bộ). Quy tắc lọc dựa trên cácthông tin chứa trong một gói tin mạng ( packet):Địa chỉ IP nguồn (Source IP address): Địa chỉ IP của hệ thống là nguồn gốc của cácgói tin (sender). Ví dụ: 192.178.1.1Địa chỉ IP đích ( Destination IP address): Địa chỉ IP của hệ thống mà gói tin IP đangcần được chuyển tới. Ví dụ 192.168.1.2 Trang 4
  5. 5. SECURITY OF LINUXĐịa chỉ nguồn và đích của tầng giao vận: gói tin là TCP hay UDP, port number, xácđịnh các ứng dụng như SNMP hay TELNET.IP protocol field: Xác định giao thức vận chuyển.Interface : Đối với một router có nhiều port, các gói tin sẽ đến từ interface nào và điđến interface nào.Packet-filtering thường được thiết lập là một danh sách các quy tắc dựa trên phù hởpcho các trường trong IP header hoặc TCP header. Nếu có tương ứng với một trongcác quy tắc, quy tắc này sẽ được gọi để xác định xem sẽ chuyển tiếp hay loại bỏ cácgói tin. Nếy không phù hợp với bất kỳ một quy tắc nào thì hành động mặc định sẽđược thực hiện. Hai hành động được mặc định đó là:Default = discard: gói tin sẽ bị cấm và bị loại bỏ.Default = forward: gói tin được cho phép đi qua.Tuy nhiên, default là discart thường được dùng hơn. Vì như vậy, ban đầu, mọi thứđều bị chặn và các dịch vụ phải được thêm vào trong từng trường hợp cụ thể. Chínhsách này rõ ràng hơn cho người dùng, những người mà ko am hiểu nhiều lắm vềfirewall( cấm hết là xong, cho phép thằng nào thì mở lối thoát cho nó). Còn cách thứhai thì liên quan đến vấn đề bảo mật nhiều hơn, đòi hỏi người quản trị phải thườngxuyên kiểm tra để có phản ứng với những kiểu đe dọa mới ( sớm bạc đầuMình thấy cái này thì gần như cài đặt ACLs.Ưu điểm : Đơn giản của nó và packet-filtering thường là trong suốt cho người sử dụng và rất nhanh. Có thể cảnh báo trước các cuột tấn công (vd, phát hiện quét cổng). Ngăn cản SYN attack.Hạn chế : Thông tin địa chỉ trong gói có thể bị làm giả IP (hoặc ta nói là spoof) từ phía người gửi. Dữ liệu hoặc request trong gói được phép có thể chứa dữ liệu không mong muốn mà kẻ tấn công có thể dùng để khai thác các lỗi đã biết của các dịch vụ nằm trên hoặc nằm sau firewall.Thường là nguồn gốc của lỗi. Trang 5
  6. 6. SECURITY OF LINUXTường lửa loại này không thể kiểm tra dữ liệu lớp trên, không thể ngăn chặn cáccuộc tấn công có sử dụng các lỗ hổng ứng dụng cụ thể. Ví dụ, một bức tường lửaloại này không thể ngăn chặn các lệnh ứng dụng cụ thể, nếu nó cho phép một ứngdụng nhất định, tất cả các chức năng có sẵn trong ứng dụng đó sẽ được cho phép.Do các thông tin có sẵn hạn chế cho tường lửa, hiện tại thì chức năng đăng nhập vàotường lửa bị hạn chế. Packet-filtering lọc các bản log thông thường chứa các thôngtin tương tự được sử dụng để đưa ra quyết định kiểm soát truy cập ( địa chỉ nguồn,địa chỉ đích, và loại hình lưu lượng).Hầu hết các tường lửa loại này không hỗ trợ các chương trình xác thực người dùngcao cấp. Một lần nữa hạn chế này chủ yếu là do thiếu chức năng lớp trên của tườnglửa.Chúng thường bị tấn công và khai thác bằng cách tận dụng các problem của các đặcđiểm kỹ thuật TCp/IP và chồng giao thức, chẳng hạn như giả mạo địa chỉ lớpnetwork. Nhiều tường lửa packet-filtering không thể phát hiện một gói tin mà trongđó các thông tin của lớp 3 đã bị thay đổi. Các cuộc tấn công giả mạo thường đượcsử dụng bởi những kẻ xâm nhập để vượt qua kiểm soát an ninh được thực hiện bêntrong tường lửa.Cuối cùng, do số lượng nhỏ của các biến được sử dụng trong quyết định kiểm soáttruy cập, packet-filtering dễ bị vi phạm an ninh gây ra bởi các cấu hình không phùhợp. Nói cách khác, rất dễ cấu hình tường lửa cho phép các loại lưu lượng, nguồn vàđích đáng lẽ nên bị từ loại bỏ dựa trên chính sách đặt ra của tổ chức.Từ đó, có một số cách tấn công có thể được thực hiện trên các tường lửa packet-filtering và một số biện pháp đối phó với chúng:IP address spoofing ( Giả mạo địa chỉ IP): Kẻ xâm nhập truyền các gói dữ liệu từbên ngoài với địa chỉ nguồn là địa chỉ IP của một máy nội bộ. Kẻ tấn công hy vọngrằng việc sử dụng một địa chỉ giả mạo sẽ co phép xâm nhập vào các hệ thống chỉ sửdụng bảo mật đơn giản địa chỉ nguồn, trong đó, các gói tin từ máy nội bộ sẽ đựcchấp nhận. Biện pháp đối phó là loại bỏ các gói tin với địa chỉ nguồn ở nội bộ nếunhư gói tin này đến từ interface bên ngoài.Source routing attack: Các trạm nguồn quy định các đường đi mà một gói tin sẽđược đưa vào khi đi trên mạng Internet, với mong muốn rằng điều này sẽ bỏ qua cácbiện pháp an ninh mà không phân tích các thông tin định tuyến nguồn. Biện phápđối phó là để lựa chọn loại bỏ tất cả các gói dữ liệu sử dụng tùy chọn này.Tiny fragment attack: Kẻ xâm nhập loại này sử dụng tùy chọn cho phép phân mảnhcủa gói tin IP để tạo ra các mảnh cực kỳ nhỏ và ép các TCP header vào một đoạn Trang 6
  7. 7. SECURITY OF LINUXgói tin riêng biệt. Tấn công loại này được thiết kế để phá vỡ các quy tắc lọc phụthuộc vào thông tin tiêu đề TCP. Thông thường, một packet-filtering sẽ đưa ra quyếtđịnh lọc trên đoạn đầu tiên của một gói. Tất cả các đoạn tiếp theo của gói tin đượclọc ra chỉ duy nhất trên cơ sở đó là một phần của gói có đoạn đầu tiên bị loại bỏ. Kẻtấn công hy vọng rằng các router chỉ lọc xem xét đoạn đầu tiên và các đoạn còn lạiđược đưa qua. Cách chống lại tấn công loại này là nguyên tắc thực thi đoạn đầu tiêncủa một gói tin phải có một số xác định trước tối thiểu của TCP header. Nếu đoạnđầu tiên bị loại bỏ, packet-filtering có thể ghi nhớ các gói tin và loại bỏ tất cả cácđoạn tiếp theo.Mọi lưu thông mạng đều được gửi dạng packet. Một lượng lớn lưu thông được chiara thành những phần nhỏ dễ xử lý và được tập hợp lại khi đến đích. Packet headercủa mọi packet chứa thông tin cách đến và nơi đến. Và thông tin này chính xác lànhững thông tin firewall packing filtering dùng. Filter dựa trên. Application-Level Gateway :Application-Level Gateway, còn được gọi là một proxy server, hoạt động như mộtchuyển tiếp của các lưu lượng lớp ứng dụng. Người sử dụng sẽ liên lạc với gatewaysử dụng các ứng dụng TCP/IP như TELNET hay FTP và gateway sẽ hỏi user têncủa máy chủ từ xa sẽ được truy cập. Khi user đáp lại và cung cấp một ID ngườidùng hợp lệ và xác thực thông tin, gateway sẽ liên lạc đến cổng ứng dụng tương ứngtrên máy chủ từ xa và chuyển tiếp các đoạn TCP chứa các dữ liệu giữa hai thiết bịđầu cuối này.Nếu các cổng không thực hiện các proxy code cho một ứng dụng cụthể, dịch vụ không được hỗ trợ và không thể được chuyển tiếp qua tường lửa. Hơnnữa, gateway có thể được cấu hình để chỉ hỗ trợ tính năng cụ thể của một ứng dụngmà người quản trị xem xét chấp nhận được trong khi từ chối tất cả các tính năngkhác. Trang 7
  8. 8. SECURITY OF LINUXApplication-Level gateway có xu hướng an toàn hơn packet-filtering router. Thay vìcố gắng để đối phó với hàng loạt kết hợp có thể có từ việc cấm và cho phép ở tầngTCP/IP, application-level gateway chỉ cần rà soát lại một vài ứng dụng cho phép.Ngoài ra, nó rất dễ dàng cho ghi lại và theo dõi tất cả các lưu lượng đến ở tầng ứngdụng.Một nhược điểm chính của loại này là chi phí xử lý bổ sung trên mỗi kết nối. Trongthực tế, có hai kết nối ghép giữa các người dùng đầu cuối, với các cổng ở điểm kếtnối và gateway phải kiểm tra lưu lượng trên cả hai chiều. Curcuit-Level Gateway :Dạng thứ 3 của firewall đó là Circuit-level gateway. Nó có thể là một hệ thống độclập hoặc có thể là một hoạt động chuyên biết được thực hiện bởi một application-level gateway cho các ứng dụng nhất định. Circuit-level gateway không cho phépmột kết nối TCP end-to-end mà thay vào đó, gateway sẽ thiết lập hai kết nối TCP,một là giữa nó và TCP user bên torng và một giữa nó và TCP user bên ngoài. Khihai kết nối này được thiết lập, gateway sẽ chuyển tiếp các TCP segment từ đầu cuốinày đến đầu cuối khác mà không kiểm tra nội dung các segment này. Các chức năngbảo mật bao gồm vệc xác định mà kết nối sẽ được cho phép.Một điển hình của Circuit-level gateway là một tình huống mà trong đó người quảntrị hệ thống tin tưởng các user nội bộ. Gateway có thể được cấu hình để hỗ trợapplication-level hay dịch vụ proxy cho các kế nối bên trong và chức năng circuit-level cho các kế nối bên ngoài. Trong trường hợp này , gateway có thể phải chịu cácchi phí kiểm tra các incoming data cho các chức năng bị cấm nhưng không chịu chiphí của outgoing data. Trang 8
  9. 9. SECURITY OF LINUXMột ví dụ nữa về việc thực hiện của circuit-level gateway là gói SOCKS; phiên bản5 của SOCKS được địng nghĩa trong RFC 1928. RFC định nghĩa SOCKS như sau:Các giao thức được thiết kế để cung cấp một framework cho các ứng dụng client-server trong cả TCP và UDP để thuận tiện và an toàn bằng việc sử dụng các dịch vụcủa network firewall. Giao thức được khải niệm nư một “shim-layer” giửa các lớpứng dụng và lớp vận chuyển, và như vậy không cung cấp dịch vụ ở lớp network, vídụ như không forwarding các gói ICMP.SOCKS bao gồm các thành phần sau đây: * Máy chủ SOCKS, chạy trên tường lửa nền UNIX. * Thư viện SOCKS client, chạy trên các host bên trong được bảo vệ bởi tường lửa. * Các phiên bản SOCKS của rất nhiều các chương trình client như FTP và TELNET. Việc hiện thực giao thức trong SOCKS thường liên quan đến việc biên dịch lại hoặc tái liên kết của các ứng dụng client dựa trên TCP (TCP- based client) để sử dụng các dịch vụ đóng gói tương ứng trong thư viện SOCKS.Khi một TCP-based client muốn thiết lập một kết nối đến một đối tượng có thể truycập chỉ thông qua một tường lửa, nó phải mở một kết nối TCP đến port SOCKStương ứng trên hệ thống SOCKS server. Dịch vụ SOCKS được dùng trên TCP port1080. Nếu yêu cầu kết nối thành công, client sẽ bắt đầu một cuộc thương lượng vềcác phương pháp xác thực được lựa chọn và gửi một yêu cầu được chuyển tiếp.SOCKS server sẽ xem xét các yêu cầu và sau đó cho phép thiết lập kết nối hoặc từchối nó. Các gói UDP cũng được xử lý tương tự. Về bản chất, một kết nối TCPđược mở ra để xác thực người dùng để gửi và nhận các UDP segment, các UDPsegement sẽ dược chuyển tiếp khi kết nối TCP được mở. 1.4. Cách cài đặtCó 3 cách cài đặt chính cho 1 tường lửa : Trang 9
  10. 10. SECURITY OF LINUX Dual homed hostFirewall kiến trúc kiểu Dual-homed host được xây dựng dựa trên máy tính dual-homed host. Một máy tính được gọi là dual-homed host nếu nó có ít nhất hainetwork interface, có nghĩa là máy đó có gắn hai card mạng giao tiếp với hai mạngkhác nhau và như thế máy tính này đóng vai trò là Router mềm. Kiến trúc dual-homed host rất đơn giản. Dual-homed host ở giữa, một bên được kết nối với Internetvà bên còn lại nối với mạng nội bộ (LAN).Dual-homed host chỉ có thể cung cấp các dịch vụ bằng cách ủy quyền (proxy) chúnghoặc cho phép users đăng nhập trực tiếp vào dual-homed host. Mọi giao tiếp từ mộthost trong mạng nội bộ và host bên ngoài đều bị cấm, dual-homed host là nơi giaotiếp duy nhất Trang 10
  11. 11. SECURITY OF LINUX Screenedhost:Screened Host có cấu trúc ngược lại với cấu trúc Dual-homed host. Kiến trúcnày cung cấp các dịch vụ từ một host bên trong mạng nội bộ, dùng một Routertách rời với mạng bên ngoài. Trong kiểu kiến trúc này, bảo mật chính là phươngpháp Packet Filtering. Bastion host được đặt bên trong mạng nội bộ. PacketFiltering được cài trên Router. Theo cách này, Bastion host là hệ thống duy nhấttrong mạng nội bộ mà những host trên Internet có thể kết nối tới.Mặc dù vậy, chỉ những kiểu kết nối phù hợp (được thiết lập trong Bastion host)mới được cho phép kết nối. Bất kỳ một hệ thống bên ngoài nào cố gắng truy cậpvào hệ thống hoặc các dịch vụ bên trong đều phải kết nối tới host này. Vì thếBastion host là host cần phải được duy trì ở chế độ bảo mật cao.Packet filtering cũng cho phép bastion host có thể mở kết nối ra bên ngoài. Cấuhình của packet filtering trên screening router như sau: Cho phép tất cả các host bên trong mở kết nối tới host bên ngoài thông qua một số dịch vụ cố định. Không cho phép tất cả các kết nối từ các host bên trong (cấm những host này sử dụng dịch proxy thông qua bastion host).Bạn có thể kết hợp nhiều lối vào cho những dịch vụ khác nhau: Một số dịch vụ được phép đi vào trực tiếp qua packet filtering. Một số dịch vụ khác thì chỉ được phép đi vào gián tiếp qua proxy. Bởi vì kiến trúc này cho phép các packet đi từ bên ngoài vào mạng bên trong, nó dường như là nguy hiểm hơn kiến trúc Dual-homed host, vì thế nó được thiết kế để không một packet nào có thể tới được mạng bên trong. Tuy nhiên Trang 11
  12. 12. SECURITY OF LINUX trên thực tế thì kiến trúc dual-homed host đôi khi cũng có lỗi mà cho phép các packet thật sự đi từ bên ngoài vào bên trong (bởi vì những lỗi này hoàn toàn không biết trước, nó hầu như không được bảo vệ để chống lại những kiểu tấn công này). Hơn nữa, kiến trúc dual-homed host thì dễ dàng bảo vệ Router (là máy cung cấp rất ít các dịch vụ) hơn là bảo vệ các host bên trong mạng.Xét về toàn diện thì kiến trúc Screened host cung cấp độ tin cậy cao hơn và an toàn hơn kiến trúc Dual-homed.So sánh với một số kiến trúc khác, chẳng hạn như kiến trúc Screened subnet thì kiếntrúc Screened host có một số bất lợi. Bất lợi chính là nếu kẻ tấn công tìm cách xâmnhập Bastion Host thì không có cách nào để ngăn tách giữa Bastion Host và các hostcòn lại bên trong mạng nội bộ. Router cũng có một số điểm yếu là nếu Router bị tổnthương, toàn bộ mạng sẽ bị tấn công. Vì lý do này mà Sceened subnet trở thành kiếntrúc phổ biến nhất. Screened Subnet:Nhằm tăng cường khả năng bảo vệ mạng nội bộ, thực hiện chiến lược phòng thủtheo chiều sâu, tăng cường sự an toàn cho bastion host, tách bastion host khỏi cáchost khác, phần nào tránh lây lan một khi bastion host bị tổn thương, người ta đưa rakiến trúc firewall có tên là Sreened Subnet.Kiến trúc Screened subnet dẫn xuất từ kiến trúc screened host bằng cách thêm vàophần an toàn: mạng ngoại vi (perimeter network) nhằm cô lập mạng nội bộ ra khỏi Trang 12
  13. 13. SECURITY OF LINUXmạng bên ngoài, tách bastionhost ra khỏi các host thông thường khác. Kiểu screenedsubnet đơn giản bao gồm hai screened router: Router ngoài (External router còn gọi là access router): nằm giữa mạng ngoại vi và mạng ngoài có chức năng bảo vệ cho mạng ngoại vi (bastion host, interior router). Nó cho phép hầu hết những gì outbound từ mạng ngoại vi. Một số qui tắc packet filtering đặc biệt được cài đặt ở mức cần thiết đủ để bảo vệ bastion host và interior router vì bastion host còn là host được cài đặt an toàn ở mức cao. Ngoài các qui tắc đó, các qui tắc khác cần giống nhau giữa hai Router. Interior Router (còn gọi là choke router): nằm giữa mạng ngoại vi và mạng nội bộ, nhằm bảo vệ mạng nội bộ trước khi ra ngoài và mạng ngoại vi. Nó không thực hiện hết các qui tắc packet filtering của toàn bộ firewall. Các dịch vụ mà interior router cho phép giữa bastion host và mạng nội bộ, giữa bên ngoài và mạng nội bộ không nhất thiết phải giống nhau. Giới hạn dịch vụ giữa bastion host và mạng nội bộ nhằm giảm số lượng máy (số lượng dịch vụ trên các máy này) có thể bị tấn công khi bastion host bị tổn thương và thoả hiệp với bên ngoài. Chẳng hạn nên giới hạn các dịch vụ được phép giữa bastion host và mạng nội bộ như SMTP khi có Email từ bên ngoài vào, có lẽ chỉ giới hạn kết nối SMTP giữa bastion host và Email server bên trong. 1.5. Giới hạn của Firewall (tường lửa)Tường lửa-Firewall cũng là một phần mềm và nó nên được coi là một phần mềmhơn là một lá chắn siêu việt.Vận hành tường lửa là một nghệ thuật,nó có thể giúpcho hệ thống an toàn hơn hoặc kém an toàn hơn đều dựa vào tay người cài đặt vàquản trị.Trên hết tường lửa an toàn nhưng không phải là 1 lá chắn đa năng nên vẫncần bàn tay con người can thiệp vào việc bảo mật hệ thống.Tường lửa có thể ngănchặn Dos nhưng DDos thì không thể,vì vậy để cuộc chiến giữa bảo mật và hackercân bằng thì cuộc chiến giữa người và máy nên được chuyển thành cuộc chiến giữangười và người…2. Host securityServer là một máy chủ chứa dữ liệu và cho phép các máy trạm có thể kết nối đếnqua một cổng nhất định để đọc và lấy dữ liệu,...Server Linux mà chủ yếu là ubuntu hoạt động trên cơ chế bảo mật cấp quyền phântán cho các user và user có quyền tối cao là Admin,khi tạo mới 1 user muốn chạy Trang 13
  14. 14. SECURITY OF LINUXbất kì lệnh gì quan trọng hay cài đặt phần mềm trên server linux thì cần gõ lệnhsudo.Cụ thể như: Ubuntu không cho phép đặt mặc định root, administrator, account. Nó có cách xử lý lợi ích bảo mật khá hay và một số phương án giảm cấp đáng kinh ngạc. Đó là văn bản hoá tất cả trong các trang chính của file gốc sudo_root. Trong quá trình cài đặt, bạn thêm vào người dùng nào thì mặc định người dùng đó sẽ được đặt trong nhóm admin và có thể dùng sudo để thực hiện các nhiệm vụ quản trị hệ thống. Sau khi thêm tên người dùng mới vào hệ thống, bạn có thể đưa họ vào nhóm admin bằng câu lệnh: - $ sudo adduser username admin - Nếu muốn loại một người nào ra khỏi nhóm admin, đơn giản bạn chỉ cần đặt lệnh deluser thay thế adduser. Bảo mật hệ thống filetrong serverMô hình bảo mật file được chuẩn hoá trong hầu hết các hệ thống tựa Unix và đượcgọi là mô hình POSIX. Mô hình này có 3 quyền truy cập file và thư mục mở rộngcho: người sở hữu, nhóm và các đối tượng khác. Tất cả đều được thực hiện giốngnhau tại bất kỳ phân phối Linux nào. Đó là lý do vì sao chúng ta không tập trungphân tích kỹ vấn đề này. Các bạn có thể tham khảo thêm tại các trang “chmod” và“chown” trong phần trợ giúp của Linux hoặc trên Internet.Bây giờ chúng ta sẽ tập trung vào việc phân vùng bảo mật thông qua các tuỳ chọnlắp ghép, một vấn đề quan trọng cần chú ý khi xử lý bảo mật hệ thống. Việc phânvùng sẽ có tác động mạnh nếu được dùng thích hợp. Khi giải thích cách thức phânvùng hệ thống chúng tôi đã nhấn mạnh ưu điểm của Linux trong việc cung cấp cácthư mục “/home”, “/tmp”, “/var” cho các phân vùng riêng. Các thư mục này đề cậpđến cách dùng các tuỳ chọn đặc biệt khi ghép các phần vùng vào hệ thống file.Nhiều tuỳ chọn lắp ghép là kiểu hệ thống file phụ thuộc. Nhưng những tuỳ chọnchúng ta xét đến không phải loại này. Chúng ta có một số tuỳ chọn sau:nodev: Một hệ thống file lắp ghép với tuỳ chọn nodev sẽ không cho phép sử dụnghay tạo các file “device” đặc biệt. Chẳng có lý do tốt đẹp nào khi cho phép hệ thốngfile biên dịch các ổ đặc biệt block, character vì như thế tức là cho phép chúng tạo racác nguy hiểm bảo mật tiềm ẩn.nosuid Các file trong Unix nói chung và trong Linux nói riêng đều có thể được đánhdấu bằng cờ để cho phép một người nào đó thực thi file bằng quyền của người kháchay nhóm khác, thông thường là của người quản trị hệ thống. Cờ này được gọilà setuid (suid) hay cờ nhị phânsetgid bit. Nó cũng cho phép thực thi file bên ngoàithư mục chứa các mã nhị phân hệ thống không cần thiết, làm giảm độ an toàn. Nếumột người dùng được quyền sử dụng thì anh ta có thể tạo hoặc lấy một cờ nhị phânsuid theo cách chọn riêng. Sau đó có thể sử dụng hệ thống một cách hiệu quả.noexec: nếu một hệ thống file được đánh dấu cờ là noexec, người dùng sẽ không thểchạy bất kỳ chương trình thực thi nào nằm trong nó. Trang 14
  15. 15. SECURITY OF LINUXnoatime cờ này nói rằng hệ thống file không giữ bản ghi lần truy cập cuối cùng củacác file. Nếu sử dụng một cách bừa bãi có thể khiến giảm an toàn hệ thống. Vì nógiới hạn thông tin ghi sự cố bảo mật. Cờ này cũng cung cấp các lợi ích thực thi chobất kỳ kiểu dùng nào. Bạn nên dùng trên các phân vùng, nơi bảo mật cân bằng vớitốc độ.Quyết định sử dụng tuỳ chọn lắp ghép nào trong phân vùng nào là một kỹ thuật cao.Bạn sẽ thường xuyên phải phát triển các tham chiếu khi trở nên quen thuộc hơn vớicơ chế quản trị.3. Server securityHost Linux an toàn hơn host window rất nhiều nhờ cơ chế phân quyền rõ ràng bằngcâu lệnh chmod giúp tránh việc hack local ngay cả khi có shell trên host.Hơn hết nhờ cơ chế bảo mật cùng một nhân khỏe host Linux có thể chạy trên mộtmáy chủ yếu hơn host window rất nhiều giúp tránh lãng phí tài nguyên đầu tư chomáy chủ.Host Linux có nhân khỏe chạy không để lại nhiều “rác” nên thường chạy lâu bền lêntới hàng năm mà không cần restart.Kết hợp với tường lửa host Linux vô cùng an toàn.4. CryptographyMột phần không thể tách rời đối với máy chủ lưu trữ và an ninh mạng là mã hóa dữliệu. 4.1. Mật khẩuMột trong những tính năng quan trọng nhất trong việc bảo mật hiện này là mật khẩu.Hầu hết các bản phân phối Linux gần đây bao gồm các chương trình mật khẩukhông cho phép bạn thiết lập một mật mẩu dễ dàng đoán.Hầu hết các hệ điều hành Linux chủ yếu sử dụng một thuật toán mã hóa hai chiềuđược gọi là DES để mã hóa mật khẩu của bạn. Sau đó mật khẩu mã hóa này thôngthường được lưu trữ trong /etc/passwd hoặc /etc/shadow. Khi bạn đăng nhập thì tấtcả các nhưng gì bạn gõ vào ô đăng nhập sẽ được mã hóa một lần nữa và so sánh vớicác mục nhập trong tệp tin lưu trữ mật khẩu của bạn. Nếu phù hợp bạn sẽ được truycập. Mặc dù DES là một thuật toán mã hóa hai chiều(Bạn có thể mã hóa và giải mã).Điều này có nghĩa rằng nó không nên có thể đảo ngược mã hóa để có được mật khẩutừ các nội dung của / etc / passwd (hoặc / etc / shadow ). 4.2. PGP và các mã hóa công khai Trang 15
  16. 16. SECURITY OF LINUXMật mã công khai chẳng hạn như là sử dụng PGP, liên quan đến mật mã sử dụngmột chìa khóa để mã hóa và một chìa khóa để giải mã. Theo truyền thống, mật mãliên quan đến đều sử dụng cùng một khóa cho quá trình mã hóa và giải mã. “Chìakhóa bí mật” được biết đến bởi các bên có liên quan. Bằng cách nào đó có thểchuyển tới các bên liên quan một cách an toàn.Mã hoá bằng khoá công khai (MHKCK - public-key) dùng để gửi dữ liệu một cáchan toàn qua các mạng không an toàn như Internet. Cách mã hoá này làm cho nhữngcặp mắt tò mò không thể đọc được dữ liệu. Mỗi người dùng đều có hai khoá, mộtkhoá công khai, một khoá riêng. Khoá công khai được giữ trong một thư mục. Aicũng có thể truy cập khoá này để mã hoá một thông điệp trước khi gửi tới người cókhoá riêng tương ứng. Còn khoá riêng thì chỉ người nhận mới có thể truy cập đượcvà dùng nó để giải mã thông điệp. 4.3. SSL, S-HTTP, HTTPS, S/MIMESSL: SSL, hoặc Secure Sockets Layer, là một phương pháp mã hóa được phát triểnbởi Netscape để cung cấp an ninh trên Internet. Nó hỗ trợ các giao thức mã hóa khácnhau, và cung cấp cho khách hàng và xác thực máy chủ. SSL hoạt động tại tầng giaothông vận tải, tạo ra một kênh an toàn được mã hóa dữ liệu, và do đó liên tục có thểmã hóa dữ liệu của nhiều loại. Điều này là phổ biến nhất là nhìn thấy khi đi đến mộttrang web an toàn để xem một tài liệu trực tuyến an toàn với Communicator, vàphục vụ như là cơ sở cho truyền thông an toàn với Communicator.S-HTTP: S-HTTP là một giao thức cung cấp dịch vụ bảo mật trên Internet . Nóđược thiết kế để cung cấp bảo mật, xác thực, toàn vẹn, và repudiability không(không thể nhầm lẫn cho người khác và tôi không thể phủ nhận hành động của tôisau) trong khi hỗ trợ cơ chế quản lý nhiều chìa khóa và thuật toán mã hóa thông quađàm phán lựa chọn giữa các bên trong mỗi giao dịch . S-HTTP được giới hạn trongcác phần mềm cụ thể là thực hiện nó, và mã hóa mỗi tin nhắn cá nhân.S / MIME: S / MIME, hoặc Secure Internet Mail Extension, đa năng là một tiêuchuẩn mã hóa được sử dụng để mã hóa thư điện tử, hoặc các loại tin nhắn trênInternet. Nó là một tiêu chuẩn mở được phát triển bởi RSA. 4.4. IPSec và triển khai mã hóaIPSec là một nỗ lực của IETF để tạo ra các thông tin liên lạc mã hóa an toàn ở mứcđộ mạng IP, mà còn cung cấp xác thực, tính toàn vẹn, kiểm soát truy cập, và bảomật. IPsec là cơ chế bảo mật cơ bản host-to-host. Thích hợp để sử dụng bất kỳ thờiđiểm nào bảo vệ dựa trên địa chỉ sẽ được sử dụng, bao gồm cả với các chươngtrình như rsh , rlogin. Trang 16
  17. 17. SECURITY OF LINUX 4.5. SSHSSH là một bộ các chương trình được sử dụng như là một thay thế an toàn chorlogin, rsh và rcp. Nó sử dụng mật mã khóa công khai để mã hóa các thông tinliên lạc giữa hai máy, cũng như cho người sử dụng xác thực. Điều này có thểđược sử dụng để bảo mật đăng nhập vào một máy chủ từ xa hoặc sao chép dữliệu giữa các máy, trong khi ngăn chặn các cuộc tấn công man-in-the-middle(cướp quyền đăng nhập) và giả mạo DNSVới cơ chế mã hóa mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắpthông tin trên đường truyềnTrước đây khi thực hiện một kết nối từ máy tính này đến máy tính khác, chúng tathường sử dụng các giao thức đơn giản dễ sử dụng như Telnet và FTP. Chúng ta sẽgửi thông tin đến máy chủ từ xa, sau đó xác nhận về các kết nối. Để an toàn, cácgiao thức này thường sử dụng username và password. Điều này có nghĩa là an toàn?Nhưng đây là một điều hoàn toàn không đúng.Quá trình kết nối như email bằng cách sử dụng FTP hay Telnet giống như tấm bưuthiếp. Nếu một ai đó đứng ở giữa, họ có thể nhìn thấy toàn bộ thông tin, bao gồmđịa chỉ hai bên và cả username, password được gửi ra. Do đó họ có thể thay đổi nộidung tin nhắn, giữ lại thông tin và mạo danh một trong hai bên. Bạn không thể chắcchắn rằng mình đang thực sự nói chuyện với người gửi hay không, và ngay cả khiđang làm điều đó, bạn cũng không thể chắc chắn không có ai đang nhòm ngó giữahai người.Còn đối với SSH, không có một trung tâm nào xác thực ở đây. Bạn sẽ gửi thư chongười mình đã biết bằng cách sử dụng một thuật toán mã hóa, chỉ khi người nhậndùng đúng thuật toán phù hợp để giải mã mới nhận được. Sau đó bạn sẽ nhận đượcthư hồi âm cũng được bảo vệ bằng thuật toán tuyệt vời này. Cuối cùng thông tin củabạn sẽ được để ở trong một phong bì áp dụng thuật toán bí mật tới đích. Nếu thuậttoán không phù hợp, người nhận sẽ xác minh lại địa chỉ lần nữa. Trang 17
  18. 18. SECURITY OF LINUXCác tính năng quan trọng nhất của SSH Các hostkeyMáy chủ chứng thực về bản chất là một người nào đó mà bạn tin tưởng có phong bìđược đóng dấu bằng thuật toán và xác nhận địa chỉ của người nhận giúp bạn. Đó làmột sự mô tả khá chi tiết về địa chỉ, dựa trên thuật toán phức tạp. Có một vài điềuquan trọng cần lưu ý:Do không có trung tâm xác thực nên sự bảo mật an ninh nằm trong các host key này,key public và private.(Hai key này sẽ được cấu hình khi bạn truy cập vào hệ thống ).Thông thường khi bạn kết nối máy tính khác thông qua SSH, host key được lưu trữ.Điều này giúp cho các hành động sau này nhanh hơn( hoặc ít rườm rà).Nếu các host key bị thay đổi bạn sẽ nhận được cảnh báo nên thận trọng!Từ khi host key được sử dụng trước khi thiết lập sự xác minh danh tính của máy chủSSH, bạn phải chắc chắn việc kiểm tra các key trước khi kết nối. Bạn sẽ thấy mộthộp thoại xác nhận như dưới đây: Trang 18
  19. 19. SECURITY OF LINUXChúng ta không cần lo lắng về điều này. Thường thì khi vấn đề bảo mật trở thànhmối quan tâm, host key sẽ có vị trí đặc biệt (trên cả nhận dạng vân tay ECDSA).Trong kinh doanh trực tuyến, thường nó sẽ có một sự đăng nhập an toàn duy nhấttrên website. Bạn có thể phải( hoặc chọn) điện thoại cho bộ phận IT để xác nhận keynày qua điện thoại. Kiểm tra host key trong hệ thống:Có 4 loại thuật toán mã hóa được sử dụng cho các key nhưng mặc định choOpenSSH là ECDSA. Sau đây là dòng lệnh bạn có thể chạy trên máy chủ SSH màbạn truy cập: ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -lĐầu ra của bạn sẽ có dạng như thế này: 256 ca:62:ea:7c:e4:9e:2e:a6:94:20:11:db:9c:78:c3:4c /etc/ssh/ssh_host_ecdsa_key.pubCon số đầu tiên là độ dài bit của key, sau đó là key của chính nó, cuối cùng bạn sẽcó một tập tin được lưu trữ. Bạn cần so sánh phần giữa của dòng trên khi được nhắcnhở đăng nhập từ xa. Chúng phải phù hợp với nhau, nếu không sẽ có một vài sựkhác biệt xảy ra.Bạn có thể xem toàn bộ các host được kết nối thông qua SSH bằng cách nhìn vàotập tin known_hosts:~/.ssh/known_hostsBạn có thể mở nó bằng bất cứ trình soạn thảo văn bản nào. Nếu sát, hãy chú ý đếnnhững key được lưu trữ. Chúng sẽ được lưu lại với tên máy chủ (hoặc địa chỉ trangweb và địa chỉ ip của nó). Sự thay đổi host key và các vấn đề phát sinhCó một vài lý do tại sao host key bị thay đổi hoặc không phù hợp với những gì đượcđăng nhập trong tập tin knows_hosts của bạn: Hệ thống đã được cài đặt/cấu hình lại (re-installed/re-configured). Các host key đã được thay đổi thủ công do giao thức bảo mật. IP hoặc DNS bị thay đổi. Hệ thống bị xâm nhập khiến host key bị thay đổi. Trang 19
  20. 20. SECURITY OF LINUXNhiều khả năng lý do là ở ba câu đầu tiên, và bạn có thể bỏ qua sự thay đổi đó. NếuIP/DNS bị sửa đổi, bạn sẽ được chuyển đến một máy chủ khác. Nếu bạn không chắcchắn 3 lý do trên, rất có thể lý do cuối cùng đã dẫn đến sự cố các host key bị đổi.Làm thế nào để OpenSSH xử lý các host “vô danh”?OpenSSH được thiết lập để xử lý các host chưa được biết đến, được phản ánh trongbiến “StrictHostKeyChecking” (không có dấu nháy kép).Tùy thuộc vào sự cấu hình của bạn, SSH sẽ được kết nối với các host này (không cócác key thuộc file know_host của bạn) theo ba cách: StrictHostKeyChecking được thiết lập là “no”: OpenSSH sẽ tự động kết nối tới bất kỳ máy chủ SSH nào mà không phụ thuộc vào tình trạng của nó. Điều này là không an toàn và không được khuyến cáo, trừ khi bạn đang thêm một loạt các host sau khi cài đặt lại hệ điều hành, sau đó bạn sẽ thay đổi lại cho nó. StrictHostKeyChecking được thiết lập là “ask”: OpenSSH sẽ hiển thị cho bạn thấy các host key mới và yêu cầu bạn xác nhận chúng trước khi thêm vào. Nó sẽ ngăn chặn các kết nối từ việc thay đổi host key. Đây là điều mặc định. StrictHostKeyChecking được thiết lập là “yes”: Ngược lại với “no”, điều này sẽ ngăn chặn mọi kết nối tới bất kỳ host nào mà không có trong file known_hosts của bạn.Bạn có thể dễ dàng thay đổi các biến này bằng cách sử dụng dòng mô hình dònglệnh sau: ssh -o StrictHostKeyChecking [option] user@hostHãy đổi [option] thành “no”, “ask”, “yes”. Tương tự bạn cũng thay đổi user@hostthành username và tên host của máy chủ bạn kết nối tới. Ví dụ: Trang 20
  21. 21. SECURITY OF LINUX ssh -o StrictHostKeyChecking ask yatri@192.168.1.50Ngăn chặn host dựa vào sự thay đổi các keyNếu bạn có một máy chủ và đang thử truy cập vào key đã tự thay đổi, các cấu hìnhOpenSSH mặc định sẽ ngăn chặn bạn truy cập vào nó. Bạn có thể thay đổi giá trịcủa StrictHostKeyChecking cho host này, nhưng không được triệt để hoàn toàn.Thay vào đó, đơn giản là chúng ta chỉ cần thay đổi giá trị của tập tin known_hosts.Hình ảnh hiển thị trên màn hình có thể khiến bạn rối mắt. Đừng hoang mang vội,hãy tập trung nhìn vào dòng mà chúng ta cần (đối với một hệ điều hành được cài đặtlại):Nó sẽ cho ta thấy trích dẫn file cần chỉnh sửa, thậm chí là cả sổ dòng. Vì thế hãy mởfile này trong Nano: Trang 21
  22. 22. SECURITY OF LINUXDưới đây là key gây ra lỗi, trong dòng 1. Việc chúng ta cần làm lúc này là nhấn Ctrl+ K để cắt ra toàn bộ dòng.Tiếp theo nhấn Ctrl + O để ghi lại (save) tập tin, sau đó nhấn Ctrl + X để thoát.Một nhắc nhở hiện ra, bạn có thể phản hồi lại với “yes.” Trang 22
  23. 23. SECURITY OF LINUX Tạo Host Key mớiĐối với các bản ghi, không có quá nhiều lý do khiến bạn cần thay đổi toàn bộ hostkey, nhưng nếu cần thiết bạn có thể làm điều đó rất dễ dàng.Đầu tiên, cần thay đổi hệ thống thư mục phù hợp: cd /etc/ssh/Tiếp theo chúng ta sẽ xóa toàn bộ key cũ: sudo rm /etc/ssh/ssh_host_*Ngoài ra bạn cũng có thể di chuyển chúng tới đường dẫn sao lưu an toàn nếu muốn.Sau đó chúng ta có thể báo cho máy chủ OpenSSH để cấu hình lại chính nó: sudo dpkg-reconfigure openssh-serverBạn sẽ nhận được một thông báo trong khi máy tính tạo key mới. Trang 23
  24. 24. SECURITY OF LINUX 4.6. Cryptographic IP (CIPE)Mục tiêu chính của phần mềm này là cung cấp một cơ sở an toàn (chống nghe trộm,bao gồm phân tích lưu lượng truy cập, và tiêm giả mạo tin nhắn) mạng con kết nốiqua một mạng gói như Internet không an toàn.CIPE mã hóa dữ liệu ở cấp độ mạng. Các gói tin di chuyển giữa các host trên mạngđược mã hóa. Các công cụ mã hóa được đặt gần các trình điều khiển gửi và nhận cácgói tin.Điều này là không giống như SSH, mã hóa dữ liệu bằng cách kết nối, ở cấp ổcắm. Một kết nối hợp lý giữa các chương trình đang chạy trên máy chủ khác nhauđược mã hóa.CIPE có thể được sử dụng trong đường hầm, để tạo ra một mạng riêng ảo. Mã hóa ởmức độ thấp có lợi thế mà nó có thể được thực hiện để làm việc minh bạch giữa haimạng kết nối VPN, mà không có bất kỳ thay đổi phần mềm ứng dụng. 4.7. Mật khẩu bóng tốiMật khẩu bóng tối là một phương tiện giữ thông tin bí mật mật khẩu của bạn đượcmã hóa từ những người dùng bình thường. Bình thường mật khẩu sẽ được mã hóavà lưu trong tập tin /etc/filepaswd cho tất cả mọi người đều đọc được. Những ngườiđó có thể chạy các công cụ, chương trình để cố gắng xác định xem nó là gì. Mậtkhẩu bóng tối lưu các thông tin mã hóa mật khẩu vào một tập tin /etc/shadow mà chỉcó người sử dụng đọc quyền có thể đọc. 4.8. Sử dụng CFS, các hệ thống tập tin mã hóaNếu bạn muốn giữ các tập tin riêng tư cá nhân như nhật ký, số điện thoại,…bạn cóthể giữ chúng trong một thư mục ẩn có tên ~/tin với chế độ 0700 duy nhất chỉ cóbạn mới có thể đọc tệp tin. Tóm lại CFS cho phép bạn để bảo vệ các tập tin của bạnở dạng mã hóa trong một thư mục bình thường. Trang 24
  25. 25. SECURITY OF LINUXGiới thiệ u tổng quan về TrueCrypt để mã hóa dữ liệ u trong LinuxTrueCrypt là phần mềm hệ thống cho phép thiết lập những ổ đĩa được mã hóa tốchành có nghĩa là dữ liệu sẽ được mã hóa hoặc giải mã ngay lập tức trước khi chúngđược mở ra hoặc lưu lại, không cần sự can thiệp của người sử dụng. Khi ổ đĩa đượcmã hóa người khác không thể xem được dữ liệu mà không có mật khẩu hoặc chìakhóa giải mã. Toàn bộ hệ thống tệp tin được mã hóa. Khi giải mã một ổ đĩa được mãhóa bởi TrueCrypt, chúng ta có làm việc như những thư mục hay những tập tinthông thường . Mọi thao tác đó sẽ được TrueCrypt thực hiện trên Ram những khôngphải toàn bộ tập tin mã hóa được lưu trữ trên Ram trước khi nó được mã hóa, giảimã. Do đó TrueCrypt không ngốn thêm Ram khi hoạt động.Giới thiệ u tổng quan về eCryptfs công cụ mã hóa hữu hiệ u trong LinuxTrueCrypt là một phần mềm mã hóa tệp tin một cách tuyệt vời. Tuy nhiênTrueCrypt lại yêu cầu phải chỉ định trước một vùng không gian nhất định để chứacác tệp tin trước khi lưu trữ dữ liệu. Nếu bạn chỉ sử dụng 10% không gian thì 90%sẽ lãng phí. Với eCryptfs sẽ linh hoạt hơn giúp chúng ta có thể tiết kiệm dung lượng.Tất cả các tệp tin mã hóa đều được thực hiện ở các tệp tin đơn nghĩa là không phảitạo vùng không gian để chỉ định để chứa các tệp tin đó.5. Network securityBảo mật mạng có thể chia làm 2 loại chính sau: 5.1. Bảo mật theo máy chủ (Host Based Security)Quyền truy cập vào các nguồn tài nguyên có thể được cho phép dựa vào yêu cầudịch vụ của host. Điều này được thực hiện bởi tcp_wrappers. Thư viện libwrap cũngđóng vai trò như tcp_wrappers cung cấp danh sách truy cập, kiểm soát host đối vớicác dịch vụ mạng khác nhau. Một số dịch vụ như xinetd, sshd và portmap được biêndịch dựa vào thư viện libwrap do đó có kích hoạt tcp_wrapper hỗ trợ cho các dịchvụ này.Khi một client kết nối tới một dịch vụ với hỗ trợ tcp_wrapper, file /etc/hosts.allowvà /etc/hosts.deny được phân tích (parse) để kích thích yêu cầu dịch vụ host. Dựavào kết quả mà dịch vụ có thể cho phép hoặc không.File host_access có 2 hoặc 3 (lựa chọn) dấu hai chấm ngăn cách các trường. Trườngđầu tiên là tên của tiến trình, tiếp theo là tên host hoặc domain bị hạn chế hoàn toànvới một “dấu chấm đầu” địa chỉ IP hoặc subnet với dấu chấm sau. Các đại diện nhưALL và EXCEPT cũng được chấp nhận.Cú pháp của file /etc/host.{allow|deny} như sau: Trang 25
  26. 26. SECURITY OF LINUXService: hosts [EXCEPT] hostsVí dụ:Tcp_wrappers có thể chạy một lệnh cục bộ dựa vào host tương ứng với các filehost_access.Công việc được hoàn thành với lệnh spawn. Bằng cách sử dụng ký tự %, việc thaythế có thể được sử dụng đối với tên của host và dịch vụ.Ví dụ:Để biết thêm các thông tin về ký tự thay thế %, xem trang trợ giúp host_access bằnglệnh man. 5.2. Bảo mật theo cổng (Port Based Security)Với chức năng lọc gói tin trong nhân của Linux, có thể giới hạn truy cập tới nguồntài nguyên bằng cách tạo ra tập luật với các tiện ích như ipchains và iptables, sẽ xácđịnh một gói tin khi đi qua hoặc giao diện mạng của nó và cũng chỉ ra điều gì sẽdiễn ra đối với gói tin này.Có ba chuỗi trong ipchains và iptables, đó là:Input, forward và output cho ipchainsInput, forward và output cho iptables Trang 26
  27. 27. SECURITY OF LINUXVí dụ: Khi sử dụng ipchains tất cả các gói tin đi vào một giao diện mạng sẽ đi quachuỗi input. Tất cả các gói tin không có đích là host này sẽ đi qua chuối forward.Tất cả các gói tin được sinh ra bởi host và các gói tin chuyển tiếp sẽ đi qua chuỗioutput.Luật ipchains và iptables có thể xác định các thông tin như nguồn source(s), đích(d),giao thức(p), và cổng.Ví dụ: Tất cả các gói tin từ địa chỉ 192.168.0.254 sẽ bị cấmCác luật ipchains và iptables có thể được thực thi theo các thông số lựa chọn sau:-A thêm vào cuối (Append )-D Xóa ( Delete )-P thay đổi chính sách mặc định đối với một chuỗi( chain )-I Chèn ( Insert )-F In các luật ra một chuỗi-N tạo một chuỗi do người dùng định nghĩa-L Liệt kêTrong dự án phát triển nhân Linux 2.4 và dự án Netfilter cũng sử dụng tiện ích bảngiptables để quản lý các luật firewall. Điểm khác biệt lớn nhất giữa iptable và ipchainlà iptables hỗ trợ cho việc đánh giá các gói tin dựa trên trạng thái của chúng dựatheo các gói tin khác đã được truyền qua nhân. Trang 27

×