SlideShare a Scribd company logo
1 of 27
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
SECURITY OF LINUX

                                                          MỤC LỤC
I.        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 ....................................................................................... 3
II. 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
SECURITY OF LINUX



   I.     Mở đầu
          1. Giới thiệu

Hiệ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ành
Microsoft 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ải
nắ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ới
thiệ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 ta
thườ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ường
lửa là ngăn chặn các truy nhập trái phép (theo danh sách truy nhập đó xỏc định
trướ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ới
mộ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ên
mạ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ầu
hế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
SECURITY OF LINUX

firewall. Firewall cũng là một phần mềm và nên được coi như một phần mềm bình
thườ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ần
nghĩ 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áy
tí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 tin
theo 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ác
thô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ác
gó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 đang
cần được chuyển tới. Ví dụ 192.168.1.2
                                                                            Trang 4
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ởp
cho các trường trong IP header hoặc TCP header. Nếu có tương ứng với một trong
cá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ác
gó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ính
sá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ường
xuyên kiểm tra để có phản ứng với những kiểu đe dọa mới ( sớm bạc đầu

Mì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
SECURITY OF LINUX

Tườ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ác
cuộ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ửa
loạ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 ứng
dụ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ào
tườ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ông
tin 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ùng
cao 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ường
lử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ớp
network. 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 được
sử 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ên
trong 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át
truy 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ọng
rằ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ẽ đực
chấ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ếu
như 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ác
biệ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ảnh
củ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
SECURITY OF LINUX

gó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 được
lọ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ên
củ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 chia
ra thành những phần nhỏ dễ xử lý và được tập hợp lại khi đến đích. Packet header
củ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ột
chuyể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 gateway
sử dụng các ứng dụng TCP/IP như TELNET hay FTP và gateway sẽ hỏi user tên
của máy chủ từ xa sẽ được truy cập. Khi user đáp lại và cung cấp một ID người
dù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 ứng
trê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ơn
nữa, gateway có thể được cấu hình để chỉ hỗ trợ tính năng cụ thể của một ứng dụng
mà 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ăng
khác.



                                                                             Trang 7
SECURITY OF LINUX

Application-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ầng
TCP/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 ứng
dụ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. Trong
thự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ết
nố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 độc
lậ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ép
mộ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. Khi
hai kết nối này được thiết lập, gateway sẽ chuyển tiếp các TCP segment từ đầu cuối
nà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ăng
bả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ản
trị 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ác
chi phí kiểm tra các incoming data cho các chức năng bị cấm nhưng không chịu chi
phí của outgoing data.



                                                                           Trang 8
SECURITY OF LINUX

Một ví dụ nữa về việc thực hiện của circuit-level gateway là gói SOCKS; phiên bản
5 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ể truy
cập chỉ thông qua một tường lửa, nó phải mở một kết nối TCP đến port SOCKS
tương ứng trên hệ thống SOCKS server. Dịch vụ SOCKS được dùng trên TCP port
1080. 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 UDP
segement sẽ dược chuyển tiếp khi kết nối TCP được mở.



      1.4.   Cách cài đặt

Có 3 cách cài đặt chính cho 1 tường lửa :




                                                                         Trang 9
SECURITY OF LINUX

      Dual                               homed                               host




Firewall 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 hai
network interface, có nghĩa là máy đó có gắn hai card mạng giao tiếp với hai mạng
khá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 Internet
và 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úng
hoặc cho phép users đăng nhập trực tiếp vào dual-homed host. Mọi giao tiếp từ một
host trong mạng nội bộ và host bên ngoài đều bị cấm, dual-homed host là nơi giao
tiếp duy nhất




                                                                        Trang 10
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úc
nà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 Router
tá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ương
pháp Packet Filtering. Bastion host được đặt bên trong mạng nội bộ. Packet
Filtering được cài trên Router. Theo cách này, Bastion host là hệ thống duy nhất
trong 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ập
và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ấu
hì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
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ến
trú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âm
nhập Bastion Host thì không có cách nào để ngăn tách giữa Bastion Host và các host
cò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ổn
thương, toàn bộ mạng sẽ bị tấn công. Vì lý do này mà Sceened subnet trở thành kiến
trú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ác
host 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 ra
kiế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ào
phầ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
SECURITY OF LINUX

mạng bên ngoài, tách bastionhost ra khỏi các host thông thường khác. Kiểu screened
subnet đơ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ềm
hơ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úp
cho 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ẫn
cầ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ăn
chặn Dos nhưng DDos thì không thể,vì vậy để cuộc chiến giữa bảo mật và hacker
câ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ữa
người và người…

2. Host security

Server 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 đến
qua 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ân
tá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
SECURITY OF LINUX

bấ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ệnh
sudo.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 server
Mô 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à được
gọ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ộng
cho: 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ống
nhau tại bất kỳ phân phối Linux nào. Đó là lý do vì sao chúng ta không tập trung
phâ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ọn
lắ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ân
vù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ân
vù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ác
thư 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ọn
chú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ụng
hay 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ống
file biên dịch các ổ đặc biệt block, character vì như thế tức là cho phép chúng tạo ra
cá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 đánh
dấ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ác
hay nhóm khác, thông thường là của người quản trị hệ thống. Cờ này được gọi
là setuid (suid) hay cờ nhị phânsetgid bit. Nó cũng cho phép thực thi file bên ngoài
thư 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ếu
mộ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ân
suid 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
SECURITY OF LINUX

noatime 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ủa
cá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 cho
bấ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ới
tố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ới
cơ chế quản trị.
3. Server security

Host Linux an toàn hơn host window rất nhiều nhờ cơ chế phân quyền rõ ràng bằng
câ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ột
má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ư cho
má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ên
tớ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. Cryptography

Mộ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ẩu

Mộ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ẩu
khô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ông
thường được lưu trữ trong /etc/passwd hoặc /etc/shadow. Khi bạn đăng nhập thì tất
cả 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ới
cá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 truy
cậ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ẩu
từ 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
SECURITY OF LINUX

Mật mã công khai chẳng hạn như là sử dụng PGP, liên quan đến mật mã sử dụng
mộ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ìa
khó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ách
an toàn qua các mạng không an toàn như Internet. Cách mã hoá này làm cho những
cặp mắt tò mò không thể đọc được dữ liệu. Mỗi người dùng đều có hai khoá, một
khoá công khai, một khoá riêng. Khoá công khai được giữ trong một thư mục. Ai
cũ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 được
và dùng nó để giải mã thông điệp.

    4.3. SSL, S-HTTP, HTTPS, S/MIME
SSL: SSL, hoặc Secure Sockets Layer, là một phương pháp mã hóa được phát triển
bởi Netscape để cung cấp an ninh trên Internet. Nó hỗ trợ các giao thức mã hóa khác
nhau, 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 giao
thô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ột
trang 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ôi
sau) 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 trong
cá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êu
chuẩ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ên
Internet. 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óa
IPSec 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ảo
mậ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ương
trình như rsh , rlogin.

                                                                          Trang 16
SECURITY OF LINUX

    4.5. SSH
SSH là một bộ các chương trình được sử dụng như là một thay thế an toàn cho
rlogin, rsh và rcp. Nó sử dụng mật mã khóa công khai để mã hóa các thông tin
liê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 DNS

Vớ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ắp
thông tin trên đường truyền




Trướ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 ta
thườ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ác
giao 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ưu
thiế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ội
dung 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ắc
chắ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ữa
hai 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ư cho
ngườ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ận
dùng đúng thuật toán phù hợp để giải mã mới nhận được. Sau đó bạn sẽ nhận được
thư 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ủa
bạn sẽ được để ở trong một phong bì áp dụng thuật toán bí mật tới đích. Nếu thuật
toán không phù hợp, người nhận sẽ xác minh lại địa chỉ lần nữa.

                                                                        Trang 17
SECURITY OF LINUX




Các tính năng quan trọng nhất của SSH

      Các hostkey

Má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ều
quan 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ột
hộp thoại xác nhận như dưới đây:




                                                                         Trang 18
SECURITY OF LINUX

Chú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ành
mố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ất
trê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 key
nà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 cho
OpenSSH 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.pub

Con 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ắc
nhở đă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ào
tập tin known_hosts:

~/.ssh/known_hosts

Bạ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ú ý đến
nhữ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ỉ trang
web và địa chỉ ip của nó).

      Sự thay đổi host key và các vấn đề phát sinh

Có 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
SECURITY OF LINUX

Nhiều khả năng lý do là ở ba câu đầu tiên, và bạn có thể bỏ qua sự thay đổi đó. Nếu
IP/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ắc
chắ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 trong
biế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òng
lệnh sau:

     ssh -o 'StrictHostKeyChecking [option]' user@host

Hãy đổi [option] thành “no”, “ask”, “yes”. Tương tự bạn cũng thay đổi user@host
thành username và tên host của máy chủ bạn kết nối tới. Ví dụ:



                                                                          Trang 20
SECURITY OF LINUX

     ssh       -o       'StrictHostKeyChecking                                 ask'
     yatri@192.168.1.50

Ngăn chặn host dựa vào sự thay đổi các key

Nế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ình
OpenSSH 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 đặt
lạ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
SECURITY OF LINUX




Dướ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
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ộ host
key, 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-server

Bạn sẽ nhận được một thông báo trong khi máy tính tạo key mới.

                                                                       Trang 23
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ối
qua 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ác
gó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 hai
mạ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ối

Mậ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 được
mã 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óa
và 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ật
khẩ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óa

Nế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
SECURITY OF LINUX

Giới thiệ u tổng quan về TrueCrypt để mã hóa dữ liệ u trong Linux
TrueCrypt là phần mềm hệ thống cho phép thiết lập những ổ đĩa được mã hóa tốc
hà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 được
mã 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ìa
khó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 tin
thông thường . Mọi thao tác đó sẽ được TrueCrypt thực hiện trên Ram những không
phả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ải
mã. 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 Linux
TrueCrypt là một phần mềm mã hóa tệp tin một cách tuyệt vời. Tuy nhiên
TrueCrypt lại yêu cầu phải chỉ định trước một vùng không gian nhất định để chứa
cá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ải
tạo vùng không gian để chỉ định để chứa các tệp tin đó.

5. Network security

Bả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ầu
dị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ới
các dịch vụ mạng khác nhau. Một số dịch vụ như xinetd, sshd và portmap được biên
dịch dựa vào thư viện libwrap do đó có kích hoạt tcp_wrapper hỗ trợ cho các dịch
vụ 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.allow
và /etc/hosts.deny được phân tích (parse) để kích thích yêu cầu dịch vụ host. Dựa
và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àn
vớ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
SECURITY OF LINUX

Service: hosts [EXCEPT] hosts

Ví 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 file
host_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 thay
thế 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ằng
lệ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ồn
tà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 ipchains

Input, forward và output cho iptables

                                                                            Trang 26
SECURITY OF LINUX

Ví 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 qua
chuỗ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ỗi
output.

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ấm




Cá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ảng
iptables để quản lý các luật firewall. Điểm khác biệt lớn nhất giữa iptable và ipchain
là 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ựa
theo các gói tin khác đã được truyền qua nhân.




                                                                            Trang 27

More Related Content

What's hot

Anninhmang
AnninhmangAnninhmang
Anninhmangviethoa1
 
Thiết lập access rule trên TMG 2010
Thiết lập access rule trên TMG 2010Thiết lập access rule trên TMG 2010
Thiết lập access rule trên TMG 2010Phan Khanh Toan
 
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPT
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPTBài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPT
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPTMasterCode.vn
 
He thong phat hien xam nhap IDS
He thong phat hien xam nhap IDSHe thong phat hien xam nhap IDS
He thong phat hien xam nhap IDSBui Loc
 
IDS Snort/SnortSam
IDS Snort/SnortSamIDS Snort/SnortSam
IDS Snort/SnortSamTiki.vn
 
Báo cáo Luận Văn Tốt Nghiệp
Báo cáo Luận Văn Tốt NghiệpBáo cáo Luận Văn Tốt Nghiệp
Báo cáo Luận Văn Tốt NghiệpHoHoangKha
 
Designing firewalls
Designing firewallsDesigning firewalls
Designing firewallsLe Kim Hung
 
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)An Pham
 
Baigiang atbmttl
Baigiang atbmttlBaigiang atbmttl
Baigiang atbmttlHuynh MVT
 
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hn
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hnGiao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hn
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hnHuynh MVT
 
Báo cáo thực tập tuần - 6 tại athena - đàm văn sáng
Báo cáo thực tập tuần - 6 tại athena  - đàm văn sángBáo cáo thực tập tuần - 6 tại athena  - đàm văn sáng
Báo cáo thực tập tuần - 6 tại athena - đàm văn sángĐàm Văn Sáng
 
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPT
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPTBài 7: Xác thực và quản lý tài khoản - Giáo trình FPT
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPTMasterCode.vn
 

What's hot (18)

Anninhmang
AnninhmangAnninhmang
Anninhmang
 
Thiết lập access rule trên TMG 2010
Thiết lập access rule trên TMG 2010Thiết lập access rule trên TMG 2010
Thiết lập access rule trên TMG 2010
 
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPT
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPTBài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPT
Bài 5: Quản trị một mạng an toàn và Bảo mật các mạng không dây - Giáo trình FPT
 
Mạng Máy tính
Mạng Máy tínhMạng Máy tính
Mạng Máy tính
 
He thong phat hien xam nhap IDS
He thong phat hien xam nhap IDSHe thong phat hien xam nhap IDS
He thong phat hien xam nhap IDS
 
firewall
firewallfirewall
firewall
 
IDS Snort/SnortSam
IDS Snort/SnortSamIDS Snort/SnortSam
IDS Snort/SnortSam
 
Báo cáo Luận Văn Tốt Nghiệp
Báo cáo Luận Văn Tốt NghiệpBáo cáo Luận Văn Tốt Nghiệp
Báo cáo Luận Văn Tốt Nghiệp
 
Ids
Ids Ids
Ids
 
Designing firewalls
Designing firewallsDesigning firewalls
Designing firewalls
 
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)
 
E Lib&Learning
E Lib&LearningE Lib&Learning
E Lib&Learning
 
Baigiang atbmttl
Baigiang atbmttlBaigiang atbmttl
Baigiang atbmttl
 
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hn
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hnGiao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hn
Giao trinh an_toan_va_bao_mat_thong_tin_dh_bach_khoa_hn
 
Báo cáo thực tập tuần - 6 tại athena - đàm văn sáng
Báo cáo thực tập tuần - 6 tại athena  - đàm văn sángBáo cáo thực tập tuần - 6 tại athena  - đàm văn sáng
Báo cáo thực tập tuần - 6 tại athena - đàm văn sáng
 
Slide c1
Slide c1Slide c1
Slide c1
 
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPT
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPTBài 7: Xác thực và quản lý tài khoản - Giáo trình FPT
Bài 7: Xác thực và quản lý tài khoản - Giáo trình FPT
 
Ch01
Ch01Ch01
Ch01
 

Viewers also liked

SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)
SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)
SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)Security Bootcamp
 
Giới thiệu Robusta Technology & Training
Giới thiệu Robusta Technology & TrainingGiới thiệu Robusta Technology & Training
Giới thiệu Robusta Technology & TrainingThuan Ta
 
Security Bootcamp 2013 - OWASP TOP 10- 2013
Security Bootcamp 2013 - OWASP TOP 10- 2013Security Bootcamp 2013 - OWASP TOP 10- 2013
Security Bootcamp 2013 - OWASP TOP 10- 2013Security Bootcamp
 
Basic Security Training day 2
Basic Security Training day 2Basic Security Training day 2
Basic Security Training day 2Tu Khiem
 
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...Security Bootcamp
 
Lương Trung Thành - Cloud Control Matrix
Lương Trung Thành - Cloud Control MatrixLương Trung Thành - Cloud Control Matrix
Lương Trung Thành - Cloud Control MatrixSecurity Bootcamp
 
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Giang Văn
 
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTBài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTMasterCode.vn
 
Chương 6 Bảo mật - Giáo trình FPT
Chương 6 Bảo mật - Giáo trình FPTChương 6 Bảo mật - Giáo trình FPT
Chương 6 Bảo mật - Giáo trình FPTMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 

Viewers also liked (13)

SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)
SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)
SBC 2012 - Tổng quan về bảo mật trong Cloud (Lê Vĩnh Đạt)
 
Giới thiệu Robusta Technology & Training
Giới thiệu Robusta Technology & TrainingGiới thiệu Robusta Technology & Training
Giới thiệu Robusta Technology & Training
 
Security Bootcamp 2013 - OWASP TOP 10- 2013
Security Bootcamp 2013 - OWASP TOP 10- 2013Security Bootcamp 2013 - OWASP TOP 10- 2013
Security Bootcamp 2013 - OWASP TOP 10- 2013
 
Slide 06
Slide 06Slide 06
Slide 06
 
Basic Security Training day 2
Basic Security Training day 2Basic Security Training day 2
Basic Security Training day 2
 
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...
Security Bootcamp 2013 - Mitigate DDoS attack with effective cost - Nguyễn Ch...
 
Ch16
Ch16Ch16
Ch16
 
Slide 00 gioi thieu
Slide 00   gioi thieuSlide 00   gioi thieu
Slide 00 gioi thieu
 
Lương Trung Thành - Cloud Control Matrix
Lương Trung Thành - Cloud Control MatrixLương Trung Thành - Cloud Control Matrix
Lương Trung Thành - Cloud Control Matrix
 
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
 
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTBài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
 
Chương 6 Bảo mật - Giáo trình FPT
Chương 6 Bảo mật - Giáo trình FPTChương 6 Bảo mật - Giáo trình FPT
Chương 6 Bảo mật - Giáo trình FPT
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 

Similar to Isas semina

tường lửa full.doc
tường lửa full.doctường lửa full.doc
tường lửa full.docPhcNguynHu22
 
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfNuioKila
 
Nghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnNghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnpeterh18
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITNguynMinh294
 
đồ áN thực tập tại athena
đồ áN thực tập tại athenađồ áN thực tập tại athena
đồ áN thực tập tại athenaHuy Bach
 
Báo cáo thực tập - Đàm Văn Sáng
Báo cáo thực tập  - Đàm Văn SángBáo cáo thực tập  - Đàm Văn Sáng
Báo cáo thực tập - Đàm Văn SángĐàm Văn Sáng
 
Giaoan Atbm
Giaoan AtbmGiaoan Atbm
Giaoan Atbmdong
 
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)An Pham
 
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...GiangTran818700
 
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPT
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPTBài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPT
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPTMasterCode.vn
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaÂu Dương Bình
 
Giáo trình bảo mật thông tin
Giáo trình bảo mật thông tinGiáo trình bảo mật thông tin
Giáo trình bảo mật thông tinjackjohn45
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2Con Ranh
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1Con Ranh
 
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...Security Bootcamp
 
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdf
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdfAn Ninh Mạng Và Kỹ Thuật Session Hijacking.pdf
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdfNuioKila
 
91715307 huong dan_su_dung_wireshark_9292
91715307 huong dan_su_dung_wireshark_929291715307 huong dan_su_dung_wireshark_9292
91715307 huong dan_su_dung_wireshark_9292Mai Thanh Binh
 

Similar to Isas semina (20)

tường lửa full.doc
tường lửa full.doctường lửa full.doc
tường lửa full.doc
 
BÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdfBÀI GIẢNG An ninh mạng máy tính.pdf
BÀI GIẢNG An ninh mạng máy tính.pdf
 
Nghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnNghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpn
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTIT
 
3d. Firewall.pptx
3d. Firewall.pptx3d. Firewall.pptx
3d. Firewall.pptx
 
đồ áN thực tập tại athena
đồ áN thực tập tại athenađồ áN thực tập tại athena
đồ áN thực tập tại athena
 
Báo cáo thực tập - Đàm Văn Sáng
Báo cáo thực tập  - Đàm Văn SángBáo cáo thực tập  - Đàm Văn Sáng
Báo cáo thực tập - Đàm Văn Sáng
 
Giaoan Atbm
Giaoan AtbmGiaoan Atbm
Giaoan Atbm
 
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)
 
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...
slide-xay-dung-he-thong-phat-hien-va-chong-xam-nhap-trai-phep-dua-tren-surica...
 
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.docTải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
Tải Free TIỂU LUẬN VỀ AN NINH MẠNG 9 ĐIỂM.doc
 
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPT
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPTBài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPT
Bài 4: Bảo mật máy chủ, ứng dụng, dữ liệu và mạng - Giáo trình FPT
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
 
Giáo trình bảo mật thông tin
Giáo trình bảo mật thông tinGiáo trình bảo mật thông tin
Giáo trình bảo mật thông tin
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1
 
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...
Tấn công và khai thác mạng máy tính theo mô hình thường trực cao cấp APT - Lê...
 
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdf
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdfAn Ninh Mạng Và Kỹ Thuật Session Hijacking.pdf
An Ninh Mạng Và Kỹ Thuật Session Hijacking.pdf
 
Apt oct-2014
Apt oct-2014Apt oct-2014
Apt oct-2014
 
91715307 huong dan_su_dung_wireshark_9292
91715307 huong dan_su_dung_wireshark_929291715307 huong dan_su_dung_wireshark_9292
91715307 huong dan_su_dung_wireshark_9292
 

Isas semina

  • 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. SECURITY OF LINUX MỤC LỤC I. 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 ....................................................................................... 3 II. 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. SECURITY OF LINUX I. Mở đầu 1. Giới thiệu Hiệ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ành Microsoft 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ải nắ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ới thiệ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 ta thườ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ường lửa là ngăn chặn các truy nhập trái phép (theo danh sách truy nhập đó xỏc định trướ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ới mộ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ên mạ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ầu hế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. SECURITY OF LINUX firewall. Firewall cũng là một phần mềm và nên được coi như một phần mềm bình thườ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ần nghĩ 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áy tí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 tin theo 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ác thô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ác gó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 đang cần được chuyển tới. Ví dụ 192.168.1.2 Trang 4
  • 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ởp cho các trường trong IP header hoặc TCP header. Nếu có tương ứng với một trong cá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ác gó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ính sá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ường xuyên kiểm tra để có phản ứng với những kiểu đe dọa mới ( sớm bạc đầu Mì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. SECURITY OF LINUX Tườ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ác cuộ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ửa loạ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 ứng dụ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ào tườ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ông tin 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ùng cao 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ường lử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ớp network. 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 được sử 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ên trong 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át truy 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ọng rằ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ẽ đực chấ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ếu như 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ác biệ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ảnh củ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. SECURITY OF LINUX gó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 được lọ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ên củ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 chia ra thành những phần nhỏ dễ xử lý và được tập hợp lại khi đến đích. Packet header củ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ột chuyể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 gateway sử dụng các ứng dụng TCP/IP như TELNET hay FTP và gateway sẽ hỏi user tên của máy chủ từ xa sẽ được truy cập. Khi user đáp lại và cung cấp một ID người dù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 ứng trê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ơn nữa, gateway có thể được cấu hình để chỉ hỗ trợ tính năng cụ thể của một ứng dụng mà 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ăng khác. Trang 7
  • 8. SECURITY OF LINUX Application-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ầng TCP/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 ứng dụ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. Trong thự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ết nố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 độc lậ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ép mộ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. Khi hai kết nối này được thiết lập, gateway sẽ chuyển tiếp các TCP segment từ đầu cuối nà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ăng bả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ản trị 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ác chi phí kiểm tra các incoming data cho các chức năng bị cấm nhưng không chịu chi phí của outgoing data. Trang 8
  • 9. SECURITY OF LINUX Một ví dụ nữa về việc thực hiện của circuit-level gateway là gói SOCKS; phiên bản 5 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ể truy cập chỉ thông qua một tường lửa, nó phải mở một kết nối TCP đến port SOCKS tương ứng trên hệ thống SOCKS server. Dịch vụ SOCKS được dùng trên TCP port 1080. 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 UDP segement sẽ dược chuyển tiếp khi kết nối TCP được mở. 1.4. Cách cài đặt Có 3 cách cài đặt chính cho 1 tường lửa : Trang 9
  • 10. SECURITY OF LINUX Dual homed host Firewall 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 hai network interface, có nghĩa là máy đó có gắn hai card mạng giao tiếp với hai mạng khá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 Internet và 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úng hoặc cho phép users đăng nhập trực tiếp vào dual-homed host. Mọi giao tiếp từ một host trong mạng nội bộ và host bên ngoài đều bị cấm, dual-homed host là nơi giao tiếp duy nhất Trang 10
  • 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úc nà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 Router tá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ương pháp Packet Filtering. Bastion host được đặt bên trong mạng nội bộ. Packet Filtering được cài trên Router. Theo cách này, Bastion host là hệ thống duy nhất trong 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ập và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ấu hì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. 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ến trú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âm nhập Bastion Host thì không có cách nào để ngăn tách giữa Bastion Host và các host cò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ổn thương, toàn bộ mạng sẽ bị tấn công. Vì lý do này mà Sceened subnet trở thành kiến trú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ác host 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 ra kiế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ào phầ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. SECURITY OF LINUX mạng bên ngoài, tách bastionhost ra khỏi các host thông thường khác. Kiểu screened subnet đơ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ềm hơ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úp cho 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ẫn cầ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ăn chặn Dos nhưng DDos thì không thể,vì vậy để cuộc chiến giữa bảo mật và hacker câ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ữa người và người… 2. Host security Server 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 đến qua 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ân tá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. SECURITY OF LINUX bấ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ệnh sudo.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 server Mô 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à được gọ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ộng cho: 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ống nhau tại bất kỳ phân phối Linux nào. Đó là lý do vì sao chúng ta không tập trung phâ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ọn lắ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ân vù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ân vù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ác thư 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ọn chú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ụng hay 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ống file biên dịch các ổ đặc biệt block, character vì như thế tức là cho phép chúng tạo ra cá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 đánh dấ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ác hay nhóm khác, thông thường là của người quản trị hệ thống. Cờ này được gọi là setuid (suid) hay cờ nhị phânsetgid bit. Nó cũng cho phép thực thi file bên ngoài thư 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ếu mộ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ân suid 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. SECURITY OF LINUX noatime 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ủa cá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 cho bấ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ới tố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ới cơ chế quản trị. 3. Server security Host Linux an toàn hơn host window rất nhiều nhờ cơ chế phân quyền rõ ràng bằng câ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ột má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ư cho má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ên tớ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. Cryptography Mộ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ẩu Mộ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ẩu khô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ông thường được lưu trữ trong /etc/passwd hoặc /etc/shadow. Khi bạn đăng nhập thì tất cả 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ới cá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 truy cậ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ẩu từ 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. SECURITY OF LINUX Mật mã công khai chẳng hạn như là sử dụng PGP, liên quan đến mật mã sử dụng mộ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ìa khó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ách an toàn qua các mạng không an toàn như Internet. Cách mã hoá này làm cho những cặp mắt tò mò không thể đọc được dữ liệu. Mỗi người dùng đều có hai khoá, một khoá công khai, một khoá riêng. Khoá công khai được giữ trong một thư mục. Ai cũ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 được và dùng nó để giải mã thông điệp. 4.3. SSL, S-HTTP, HTTPS, S/MIME SSL: SSL, hoặc Secure Sockets Layer, là một phương pháp mã hóa được phát triển bởi Netscape để cung cấp an ninh trên Internet. Nó hỗ trợ các giao thức mã hóa khác nhau, 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 giao thô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ột trang 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ôi sau) 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 trong cá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êu chuẩ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ên Internet. 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óa IPSec 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ảo mậ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ương trình như rsh , rlogin. Trang 16
  • 17. SECURITY OF LINUX 4.5. SSH SSH là một bộ các chương trình được sử dụng như là một thay thế an toàn cho rlogin, rsh và rcp. Nó sử dụng mật mã khóa công khai để mã hóa các thông tin liê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 DNS Vớ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ắp thông tin trên đường truyền Trướ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 ta thườ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ác giao 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ưu thiế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ội dung 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ắc chắ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ữa hai 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ư cho ngườ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ận dùng đúng thuật toán phù hợp để giải mã mới nhận được. Sau đó bạn sẽ nhận được thư 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ủa bạn sẽ được để ở trong một phong bì áp dụng thuật toán bí mật tới đích. Nếu thuật toá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. SECURITY OF LINUX Các tính năng quan trọng nhất của SSH Các hostkey Má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ều quan 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ột hộp thoại xác nhận như dưới đây: Trang 18
  • 19. SECURITY OF LINUX Chú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ành mố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ất trê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 key nà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 cho OpenSSH 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.pub Con 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ắc nhở đă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ào tập tin known_hosts: ~/.ssh/known_hosts Bạ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ú ý đến nhữ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ỉ trang web và địa chỉ ip của nó). Sự thay đổi host key và các vấn đề phát sinh Có 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. SECURITY OF LINUX Nhiều khả năng lý do là ở ba câu đầu tiên, và bạn có thể bỏ qua sự thay đổi đó. Nếu IP/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ắc chắ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 trong biế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òng lệnh sau: ssh -o 'StrictHostKeyChecking [option]' user@host Hãy đổi [option] thành “no”, “ask”, “yes”. Tương tự bạn cũng thay đổi user@host thành username và tên host của máy chủ bạn kết nối tới. Ví dụ: Trang 20
  • 21. SECURITY OF LINUX ssh -o 'StrictHostKeyChecking ask' yatri@192.168.1.50 Ngăn chặn host dựa vào sự thay đổi các key Nế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ình OpenSSH 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 đặt lạ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. SECURITY OF LINUX Dướ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. 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ộ host key, 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-server Bạ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. 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ối qua 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ác gó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 hai mạ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ối Mậ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 được mã 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óa và 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ật khẩ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óa Nế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. SECURITY OF LINUX Giới thiệ u tổng quan về TrueCrypt để mã hóa dữ liệ u trong Linux TrueCrypt là phần mềm hệ thống cho phép thiết lập những ổ đĩa được mã hóa tốc hà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 được mã 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ìa khó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 tin thông thường . Mọi thao tác đó sẽ được TrueCrypt thực hiện trên Ram những không phả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ải mã. 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 Linux TrueCrypt là một phần mềm mã hóa tệp tin một cách tuyệt vời. Tuy nhiên TrueCrypt lại yêu cầu phải chỉ định trước một vùng không gian nhất định để chứa cá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ải tạo vùng không gian để chỉ định để chứa các tệp tin đó. 5. Network security Bả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ầu dị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ới các dịch vụ mạng khác nhau. Một số dịch vụ như xinetd, sshd và portmap được biên dịch dựa vào thư viện libwrap do đó có kích hoạt tcp_wrapper hỗ trợ cho các dịch vụ 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.allow và /etc/hosts.deny được phân tích (parse) để kích thích yêu cầu dịch vụ host. Dựa và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àn vớ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. SECURITY OF LINUX Service: hosts [EXCEPT] hosts Ví 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 file host_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 thay thế 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ằng lệ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ồn tà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 ipchains Input, forward và output cho iptables Trang 26
  • 27. SECURITY OF LINUX Ví 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 qua chuỗ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ỗi output. 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ấm Cá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ảng iptables để quản lý các luật firewall. Điểm khác biệt lớn nhất giữa iptable và ipchain là 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ựa theo các gói tin khác đã được truyền qua nhân. Trang 27