1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bảo mật trong linux

21 390 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 323 KB

Nội dung

Bảo mật trong linux

Trang 1

Bộ Công Thương Trường Đại Học Công Nghiệp Hà Nội

Khoa Công nghệ thông tin

Trang 2

Mục lục

1 Quan điểm về bảo mật……… 4

2 Các bước ban đầu trong việc thiết kế một hệ thống an ninh……… 6

2.1 Ngắt kết nối tới các mạng không mong muốn……… 6

2.2 Bảy điều không bao giờ nên làm để bảo mật hệ thống………… 7

2.2.1 Không bao giờ sử dụng những mật khẩu đơn giản hoặc dễ đoán 7

2.2.2 Không sử dụng tài khoản gốc trừ khi thật cần……… 7

2.2.3 Không được chia sẻ các mật khẩu của bạn……… 8

2.2.4 Đừng tin tưởng một cách mù quáng những file nhị phân mà được đưa cho bạn……… 8

2.2.5 Đừng bỏ qua các file log……… 9

2.2.6 Đừng để hệ thống của bạn không được cập nhật……… 9

2.2.7 Đừng quên về bảo mật vật lí……… 9

3 Cấu hình TCP Wrapper……… 9

3.1 Sử dụng TCP Wrapper với inetd……… 10

3.2 Sử dụng TCP Wrapper với xinetd……… 10

3.3 /etc/hosts.allow và /etc/hosts.deny……… 10

4 Tường lửa: Lọc IP của các gói tin……… 12

4.1 Netfilter cơ bản……… 13

4.2 Phát triển các bộ qui tắc lọc IP……… 17

4.3 Quản lí lọc IP và các file kịch bản……… 18

4.4 Cấu hình ví dụ với netfilter……… 18

4.4.1 Ví dụ lọc IP đơn giản……… 18

4.4.2 Giao thức lọc IP để bảo vệ toàn bộ mạng máy tính……… 21

Trang 3

Lời nói đầu

Hệ điều hành Linux đang phát triển rất mạnh trên thế giới, các ưu điểm mà hệ điềuhành này mang lại là vô cùng to lớn, tuy nhiên ở Việt Nam hệ điều hành này vẫn chưa đượcnhiều người biết đến và sử dụng một cách thành thạo như các hệ điều hành khác (Windows làmột hệ điều hành rất nổi tiếng mà phần lớn máy tính ở Việt Nam được cài đặt và sử dụng).Nhằm tìm hiểu sâu hơn về hệ điều hành này, nhóm Sinh viên chúng em quyết định chọn hệđiều hành Linux làm đề tài cho bài tập lớn môn Hệ điều hành, và sẽ đi tìm hiểu chi tiết về hệthống bảo mật của nó Ngày nay vấn đề an ninh mạng cũng đang là một trong những vấn đềnóng trong lĩnh vực Công nghệ thông tin, tìm hiểu những khái niệm cơ bản, những phươngpháp đảm bảo an ninh cho hệ thống máy tính là một đòi hỏi đối với sinh viên ngành Côngnghệ thông tin Để hoàn thành bài tập lớn chúng em đã tham khảo rất nhiều tài liệu về hệ điềuhành Linux trong đó chủ yếu là ở tài liệu mà thầy đã cung cấp (Running Linux, 4th Edition) Vìthời gian làm bài tập lớn của chúng em có phần hơi hạn hẹp do đó kết quả vẫn còn nhiều thiếtsót

Trang 4

BẢO MẬT CƠ BẢN TRONG LINUX

Trong phần này chúng ta sẽ thảo luận về hệ thống bảo mật cơ bản của Linux Bảo mật làmột chủ đề luôn luôn quan trọng, đặc biệt với sự gia tăng sử dụng của các hệ thống mạngkết nối cố định mà dễ bị tổn thương do bị tấn công từ xa trong khi không được giám sátRất nhiều kĩ thuật tốt nhất là đơn giản nhất, thường bị thực tiễn bỏ qua, chúng ta sẽkhám phá chúng trước Sau đó sẽ chuyển sang một vài chủ đề ít rõ ràng hơn, và chúng ta sẽkết thúc bằng một cuộc thảo luận ngắn về một chủ đề khá phức tạp trong bảo mật mạng.Chúng ta cũng sẽ thảo luận một vài hướng dẫn về tường lửa để bảo vệ các quá trình cài đặtđơn giản chống lại các cuộc tấn công mạng

1 Quan điểm về hệ thống bảo mật

Có một quan điểm đúng đắn, công bằng về một hệ thống bảo mật đôi khi là rất khó.Phương tiện hướng tới các câu chuyện giật gân liên quan tới các hệ thống bảo mật, đặc biệtkhi chúng bao gồm các công ty hoặc các viện nghiên cứu nỗi tiếng Mặt khác, quản lí bảomật có thể là một thách thức về mặt kĩ thuật và là một công việc tốn khá nhiều thời gian.Rất nhiều người dùng Internet giữ cách nhìn rằng hệ thống của họ giữ những dữ liệu không

có giá trị, bảo mật không nhiều Số khác nỗ lực thật nhiều để bảo vệ hệ thống của họ khỏiviệc sử dụng trái phép Dù bạn nằm ở nhóm nào bạn cũng nên nhận thức rằng luôn có một

sự rủi ro, nguy hiểm mà bạn sẽ trở thành nạn nhân của một cuộc tấn công bảo mật Có rấtnhiều lí do, chẳng hạn như tại sao ai đó thích tấn công vào hệ thống bảo mật của bạn Giátrị của dữ liệu trên hệ thống của bạn chỉ là một trong số đó, chúng ta sẽ thảo luận về nhữngcái khác tiếp theo trong những phần sau

Hệ thống bảo mật truyền thống tập trung vào các hệ thống có thể truy cập thông quamột thiết bị cuối được kết nối hoặc một kết nối trực tiếp Trong lĩnh vực này nguy hiểm lớnnhất một cách tiêu biểu đến từ bên trong tổ chức sở hữu hệ thống, và dạng bảo mật tốt nhất

là bảo vệ mức vật lí, nơi mà các console, các thiết bị cuối và host ở trong những "phòng" bịkhóa Thậm chí khi hệ thống máy tính được khởi động và kết nối vào mạng, truy cập vẫnrất hạn chế Các mạng đang sử dụng thường đắt để truy cập, hoặc bị đóng mà không chophép các kết nối tới host từ bất kì nơi nào

Sự phổ biến của Internet đã làm tăng một làn sóng mới về bảo mật liên quan tới mạng.Một máy tính kết nối Internet mở ra khả năng lạm dụng của hàng vạn host trên toàn thếgiới Trên Internet, một số lượng có nhiều các dạng hành vi khó gần, gây khó khăn cho cácnhà quản trị hệ thống Vì thế chúng ta sẽ đề cập đến chúng, đó là:

Denial of service (DoS) (Từ chối dịch vụ)

Loại tấn công này làm giảm hoặc phá vỡ một dịch vụ trên hệ thống

Trang 5

Snooping (Rình mò)

Loại tấn công này bao gồm việc chặn dữ liệu của các người dùng khác và nghengóng mật khẩu hoặc các thông tin nhạy cảm khác Đôi khi loại tấn công này cũng baogồm việc sửa đổi dữ liệu Snooping thường bao gồm việc nghe trộm trên các kết nốimạng, nhưng cũng có thể được thực hiện bằng cách vạch trần một hệ thống để chặn thưviện hoặc các lời gọi hệ thống mà mang các thông tin nhạy cảm (thông tin cá nhân, mậtkhẩu hay thông tin tín dụng )

Viruses, worms, and Trojan Horses (Virus, sâu và Trojan Horses)

Những loại tấn công này mỗi loại đều dựa vào một hành động của người sử dụnghoặc hệ thống để chạy các chương trình được cung cấp bởi kẻ tấn công Các chươngtrình có thể được nhận trong một thư điện tử, hoặc từ một website, hay thậm chí ở trongmột vài chương trình nhìn bề ngoài tưởng như vô hại được nhận ở đâu đó trên Internet

và được cài vào máy cục bộ

Một cách chung, DoS tấn công chủ yếu bằng việc tự tạo ra một số lượng lớn cácyêu cầu (request) bất thường tới một dịch vụ được cung cấp bởi một hệ thống Sự tấncông ồ ạt của hành động này có thể làm hệ thống host dốc hết bộ nhớ, sức mạnh tínhtoán hay băng thông mạng Và kết quả, các yêu cầu xa hơn khác tới hệ thống bị từ chối,hoặc làm giảm hiệu suất của hệ thống xuống một mức không thể sử dụng được Đểcuộc tấn công có thể thực hiện được, kẻ tấn công phải tấn công một dịch vụ được thiếtkết nghèo nàn hoặc có khả năng tự tạo ra một số lượng các yêu cầu (request) vượt quákhả năng của một dịch vụ có thể đáp ứng

Một dạng quỉ quyệt của tấn công DoS là DDoS, từ chối dịch vụ phân tán Trongdạng tấn công này, một số lượng lớn các máy tính làm nguyên nhân tạo ra các yêu cầutới một dịch vụ Điều này làm tăng sự nguy hại của một cuộc tấn công DoS theo haihướng: bằng cách chôn vùi đích tấn công với một lượng lớn các yêu cầu, và bằng cách

ẩn thủ phạm đằng sau hàng ngàn người tham gia không có ý thức Bằng việc sử dụngmột lượng lớn các máy chủ từ đó tiến hành một cuộc tấn công cũng làm cho tấn côngDDoS trở nên khó khăn để điều khiển hơn rất nhiều và không thể cứu chữa một khi nó

đã xảy ra Thậm chí những người mà không có liên quan gì với trạng thái của dữ liệucủa họ cũng nên bảo vệ chính họ khỏi dạng tấn công này, để giảm thiểu tối đa mứcnguy hiểm của việc trở thành kẻ tòng phạm không có ý thức trong một cuộc tấn côngDDoS chống lại một ai đó khác

Dạng thứ hai của tấn công, đôi khi được gọi là cracking, là một trong những dạng màhầu hết mọi người đều tiếp xúc trong vấn đề bảo mật Các công ty và các tổ chứcthường lưu trữ các thông tin nhạy cảm của họ trên một hệ thống máy tính có thể đượcnối mạng và truy cập với nhau Một ví dụ chúng nhất liên quan tới một người dùngInternet trung bình là lưu trữ thông tin chi tiết của thẻ tín dụng bởi các website Nơi màkhuyến khích các cá nhân không lương thiện cố truy cập và ăn cắp sử dụng sai mụcđích, lạm dụng loại thông tin nhạy cảm này

Đôi khi các biện pháp mà được sử dụng để chống lại các truy cập bất hợp pháphoặc làm sập các dịch vụ rất tài tình, khéo léo, nếu hợp đạo đức Thiết kế một cơ chếxâm nhập thường yêu cầu một sự hiểu biết vững chắc về hệ thống đích để khám phá ra

lỗ hổng Thường thường, một khi một cơ chế xâm nhập đã được khám phá ra, nó được

Trang 6

đóng gói trong dạng của một cái được gọi là rootkit, một tập hợp các chương trình hoặckịch bản mà bất kì ai sở hữu chỉ với một chút hiểu biết cơ bản cũng có thể sử dụng đểkhai thác một lỗ hổng bảo mật Khoảng rộng lớn chính yếu của các kẻ xâm nhập làđược chạy bởi một "script kiddies" mà sử dụng những bộ xâm nhập được đóng góitrước mà không cần bất kì hiểu biết thực tế hệ thống mà chúng tấn công Chúng ta sẽthảo luận những cách khác nhau để bảo vệ hệ thống trong phần này.

2 Các bước ban đầu trong việc thiết lập một hệ thống an ninh

Có một vài thứ rất cơ bản mà bạn có thể làm để bảo vệ một hệ thống Linux tránhkhỏi hầu hết các rủi ro an ninh cơ bản Tất nhiên, phụ thuộc vào việc bạn cấu hình, cáchthức mà bạn sẽ sử dụng hệ thống của bạn , chúng có thể rắc rối hơn việc cài đặt đơngiản được mô tả ở dưới đây Trong phần này chúng ta sẽ khám phá một cách ngắn gọn

cơ chế cơ bản để bảo vệ một hệ thống Linux khỏi hầu hết các cuộc tấn công thôngthường - đây là một trong những cách tiếp cận cơ bản mà tách giả thấy được trong khicài cho một chiếc máy mới

2.1 Ngắt kết nối tới các mạng không mong muốn

Bước đầu tiên trong việc bảo mật cho một hệ thống Linux là ngắt kết nối hay vôhiệu hóa tất cả các mạng ma và các dịch vụ mà bạn không cần Một cách cơ bản, bất kìcổng mạng nào mà hệ thống đang chờ kết nối đều có thể nguy hiểm, bởi vì đó có thể làmột sự khai thác bảo mật dựa vào một mạng ma sử dụng cổng đó Cách nhanh nhất đểtìm ra những cổng nào được mở là sử dụng netstat -an, được chỉ ra dưới đây (tuy nhiênchúng ta sẽ bỏ đi một vài dòng):

# netstat -an

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:7120 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

Ở đây chúng ta thấy rằng hệ thống này đang nghe ngóng cho những kết nối trêncổng 7120, 6000 và 22 Nhìn vào /etc/services, hoặc sử dụng -p với lệnh netstat, có thểthường tiết lộ mạng ma nào đang giao tiếp với những cổng đó Trong trường hợp này

nó là X font server, X Window System server và ssh

Nếu bạn nhìn thấy rất nhiều những cổng khác mở - cho những thứ như telnetd,sendmail hãy tự hỏi bạn xem liệu bạn có thực sự cần những deamons đó chạy không.Qua thời gian, những vấn đề bảo mật sẽ càng bộc lộ, và trừ phi bạn có nhiều kinhnghiệm trong việc theo dõi tất cả những cập nhật bảo mật, nếu không hệ thống của bạn

có thể bị tổn thương từ những cuộc tấn công Bởi vậy, telnetd, ftpd, và rshd tất cả baogồm gửi các mật khẩu thông qua mạng Internet cho việc chứng thực, một giải pháp tốthơn là sử dụng sshd, nó mã hóa dữ liệu và sử dụng một cơ chế chứng thực mạnh hơn.Thậm chí nếu bạn chưa bảo giờ sử dụng telnetd thì để nó chạy trên hệ thống của bạnkhông phải là một ý kiến hay trong trường hợp một ai đó cố tìm một cách phá vỡ nó Ngắt các dịch vụ thường phải chỉnh sửa các file cấu hình tương ứng cho bản phânphối của bạn và khởi động lại hệ thống Trên các hệ thống Red Hat, ví dụ, nhiềudeamons được bắt đầu bằng các kịch bản trong thư mục /etc/rc.d/init.d

Trang 7

Đổi tên hoặc gỡ bỏ những file kịch bản đó có thể ngăn chặn deamons tương ứng từlúc khởi động Những deamon khácđược khởi động bởi inetd hoặc xinetd trong việc trảlời các kết nối mạng; sửa những cấu hình của những hệ thống đó có thể giới hạn tậphợp các daemon chạy trên hệ thống của bạn.

Nếu bạn thực sự cần một dịch vụ chạy trên máy của bạn (chẳng hạn như X server),hãy tìm những cách để ngăn chặn các kết nối tới dịch vụ đó từ những máy chủ khôngmong muốn, chẳng hạn, sẽ là an toàn nhất để cho phép kết nối ssh chỉ từ những máychủ tin tưởng, chẳng hạn chỉ từ những máy trong mạng nội bộ của bạn Trong trườnghợp của X server và X font server, cái mà chạy trên nhiều máy Linux, thường không có

lí do để cho phép các kết nối tới những daemon từ bất kì thứ gì ngoài chính mạng cục

bộ Lọc các kết nối tới những daemon có thể được thực hiện bởi TCP wrapper hoặc IPfiltering, chúng ta sẽ mô tả trong phần sau

2.2 Bảy điều không bao giờ nên làm để bảo mật hệ thống

Phần này sẽ tổng kết lại các lỗi bảo mật phổ biến nhất (Không phải thực sự chỉ có 7,nhưng đó là những lỗi đủ xứng đáng nằm trong top) Một cách kiên định tránh tất cảnhững lỗi này là công việc khó

2.2.1 Không bao giờ sử dụng những mật khẩu đơn giản hoặc dễ đoán

Không bao giờ sử dụng một mật khẩu mà giống (hoặc có liên quan tới) IDcủa bạn, hoặc tên, sinh nhật, tên công ty, hay tên của con cún của bạn Nếu bạn làmột người yêu thích ô tô đừng bao giờ sử dụng tên kiểu xe hoặc biển số đăng kí xe ô

tô của bạn Nếu bạn yêu thích động vật cũng đừng bao giờ đặt mật khẩu là tên đăng

kí của động vật đó - từ đó bạn rút ra ý tưởng Luôn đảm bảo rằng mật khẩu của bạnkhông phải là những từ ngữ đơn giản mà có thể tìm thấy trong từ điển Mật khẩu tốtnhất là những câu vô lý Một thói quen tốt là sử dụng một mật khẩu dựa trên mộtqui tắc đơn giản mà bạn có thể nhớ Ví dụ, bạn có thể chọn một qui tắc giống như:

kí tự cuối cùng của mỗi từ trong cụm từ “Mary had a little lamb, its fleece was white

as snow," do đó mật khẩu của bạn sẽ là "ydaebsesesw" Một kĩ thuật chúng khác là

sử dụng số và hệ thống dấu chấm câu trong mật khẩu Thực vậy vì có một vàichương trình mật khẩu yêu cầu điều này Một sự kết hợp của hai kĩ thuật sẽ là tốthơn

2.2.2 Không sử dụng tài khoản gốc trừ khi thật cần

Một trong những lí do mà nhiều hệ điều hành (chẳng hạn Windows) có thể bị tổnthương do những cuộc tấn công qua virus email và điều này giống như việc thiếumột hệ thống quyền toàn diện Trong những hệ thống như vậy, bất kì người dùngnào có quyền truy cập vào bất kì file nào, chạy bất kì chương trình nào hoặc cấuhình lại theo bất kì cách nào Bởi vì một người dùng có thể dễ dàng chạy mộtchương trình nên có thể gây nguy hại cho hệ thống Trái lại, mô hình bảo mật củaLinux giới hạn một khoảng rộng các tác vụ được phân quyền, chẳng hạn như càimột phần mềm mới hay chỉnh sửa bất kì file cấu hình nào thành người sử dụng gốc(root user) Không được sử dụng tài khoản gốc cho mọi thứ! Nếu làm vậy bạn sẽ bỏ

đi một trong những phần mạnh nhất để chống lại virus và "Trojan Horse Luôn sửdụng một tài khoản thường (normal user) và sử dụng lệnh su hoặc lệnh sudo để tạmthời đạt được truy cập gốc khi bạn cần thực hiện một tác vụ được phân quyền

Trang 8

Ngoài ra có một lợi ích nữa trong việc giới hạn việc sử dụng của tài khoản gốc:logging (ghi lại các sự kiện của hệ thống dựa trên các hành vi của người dùng hoặchành vi của các thành phần trong hệ thống) Lênh su và lệnh sudo viết những thôngđiệp tới file log của hệ thống khi chúng được yêu cầu, trong khi thực thi lênh su vàlệnh sudo có đề cập đến ID của người sử dụng Điều này rất có ích cho việc theo dõicác quyền gốc đã được sử dụng và bởi ai.

2.2.3 Không được chia sẻ các mật khẩu của bạn

Không được nói cho bất kì ai mật khẩu của bạn, không bao giờ Điều này cónghĩa là bạn không nên viết mật khẩu của bạn trên bất kì sticky nào được dán trênmàn hình của bạn hoặc trong nhập kí của bạn được để ở ngăn kéo trên cùng Nếubạn muốn cho phép ai đó tạm thời truy cập tới hệ thống của bạn, hãy tạo một tàikhoản tạm cho họ sử dụng Điều này cho phép bạn thuận tiện theo dõi những gì họlàm, và bạn có thể dễ dàng xóa chúng đi sau khi xong việc Nếu bạn thực sự tintưởng ai đó với tài khoản gốc của bạn hãy sử dụng lệnh sudo, lệnh mà cho phép bạnđưa các người sử dụng gốc truy cập mà không tiết lộ mật khẩu gốc

2.2.4 Đừng tin tưởng một cách mù quáng những file nhị phân mà được đưa cho bạn

Trong khi rất là thuận tiện để tải về và cài đặt những file nhị phân trên máy củabạn, bạn nên luôn đặt câu hỏi bạn tin tưởng bao nhiêu vào những file nhị phân đótrước khi chạy chúng Nếu bạn đang cài gói phần mềm mà được download trực tiếp

từ sites chính thức hoặc một site phát triển những file nhị phân đó, bạn có thể hoàntoàn tin tưởng rằng phần mềm đó là an toàn Nếu bạn lấy chúng từ một site ánh xạsite không chính thức, bạn cần xem xét bạn tin tưởng bao nhiêu vào người quản trịcủa site Rất có thể rằng một ai đó đang phân phối một bản đã được sửa đổi củaphần mềm với một cửa sau mà sẽ cho phép ai đó được phép truy cập vào máy tínhcủa bạn Ví dụ tổ chức Debian đang phát triển một cách thức cho việc phê chuẩnmột gói phần mềm để xác nhận rằng nó chưa bao giờ được sửa đổi Các bản phânphối khác được đảm bảo để chấp nhận các kĩ thuật tương tực để bảo vệ tính toàn vẹncủa gói phần mềm thuộc sở hữu của họ

Nếu bạn muốn cài và chạy một chương trình mà đã được đưa cho bạn dưới dạngnhị phân, có một vài thứ mà bạn có thể làm để giảm tối thiểu nguy hiểm Khôngmay mắn, không có kĩ thuật nào là dễ dàng nếu bạn là một người mới làm quentrong môi trường Linux Đầu tiên, luôn chạy những chương trình không tin tưởngdưới một tài khoản không phải tài khoản gốc trừ phi chương trinh đặc biệt yêu cầunhững quyền của người dùng gốc để thực hiện Điều này sẽ chứa các thiệt hại màchương trình có thể làm, ảnh hưởng chỉ tới các file và các thư mục của người sửdụng đó Nếu bạn muốn nhận một vài ý tưởng về những gì chương trình có thể làmtrước khi bạn chạy nó,bạn có thể chạy một đoạn chương trình và lấy ra các chuỗi

Nó sẽ chỉ ra cho bạn tất cả các chuỗi mà được code cứng vào trong chương trình.Bạn nên tìm kiếm xem có bất kì tham chiếu nào tới file hoặc thư mục nào đó không,chẳng hạn etc/passwd, /bin/login, etc Nếu bạn nhìn thấy một tham chiếu tới một filequan trọng, bạn nên tự hỏi mình xem liệu đó có phải là mục đích củchương trìnhtrong câu hỏi Nếu không hãy coi chừng Nếu bạn thiên về kĩ thuật, bạn có thể xem

Trang 9

xét lần đầu tiên chạy chương trình và xem nó đang làm gì,sử dụng một chương trìnhtheo dõi chẳng hạn như strace hoặc Itrace, cái mà sẽ hiển thị hệ các lời gọi và thưviện hệ thống mà chương trình đang gọi Nhìn vào cá tham chiếu tới các file hệthống hoặc các hoạt động mạng khác thường trong traces

2.2.5 Đừng bỏ qua các file log

Các file log trong hệ thống của bạn là những người bạn tốt của bạn, và chúng cóthể nói cho bạn biết rất nhiều về những gì đã xảy ra trong hệ thống của bạn Bạn cóthể tìm thông tin về chúng mỗi khi các kết nối mạng được yêu cầu tới hệ thống củabạn, ai đã sử dụng tài khoản gốc, và ai cố gắng đăng nhập bị sai Bạn nên kiểm trafile log một cách định kì và để biết điều gì là bình thường, và hữu ích hơn cái gì làkhông bình thường Nếu bạn nhìn thấy một vài thứ khác thường, hãy nghiên cứu tỉmỉ

2.2.6 Đừng để hệ thống của bạn không được cập nhật

Hãy luôn giữ phần mềm trong hệ thống của bạn được cập nhật, điều này giúpđảm bảo rằng tất cả các lỗi bảo mật được sửa chữa và áp dụng Hầu hết các bảnphân phối Linux cung cấp một tập hợp các gói mà chỉ sửa chữa các lỗi bảo mật, bởivậy bạn không phải lo lắng về kết quả, chẳng hạn file cấu hình và những đặc điểmthay đổi để giữ hệ thống của bạn được bảo mật Bạn nên theo dõi những sự cập nhậtnày

2.2.7 Đừng quên về bảo mật vật lí

Hầu hết các lỗ thủng bảo mật được thực hiện bởi những người bên trong tổ chứcchạy hệ thống đích Tất cả các cấu hình an ninh cho phần mềm trong thế giới sẽchẳng là gì nếu ai đó có thể bật máy tính và boot từ một đĩa mềm chứa code lợidụng tấn công Nếu máy của bạn sử dụng một BIOS hoặc hệ thống thông báo rằngcho phép thứ tự thiết bị boot đã được cấu hình hãy thiết lập boot từ đĩa mềm và đĩa

CD sau đĩa cứng Nếu BIOS của bạn cung cấp hỗ trợ đặt mật khẩu bạn hãy cấu hình

để sử dụng nó Nếu bạn có thể khóa case của máy lại hãy làm như vậy Nếu bạn cóthể giữ máy trong một vùng an toàn về mặt vật lí chẳng hạn trong một căn phòngđược khóa, như vậy sẽ rất tốt

3 Cấu hình TCP Wrapper

Như chúng ta đã biết sự kết nối máy tính của bạn với một hệ thống mạng lớn càng làmtăng sự nguy hiểm bị tấn công Sự phán đoán chung không thuộc phương thức nào, nó làthời gian đợi đóng lại ở an ninh mạng cơ sỏ bây giờ chúng ta thảo luận về việc làm giảm sựnguy hiểm không mong muốn khi truy cập mạng, sử dụng công cụ trình bao bọc cấu hìnhTCP Cơ chế wrap này hiện hữu như một dịch vụ( giống như dịch vụ mail), một chươngtrình nối mạng mà nối với nó và từ chối từ các địa chỉ trái phép Nó là cách đơn giản đểthêm dịch vụ điều khiển truy cập, nó không thể tự sáng tạo mà hầu hết dùng chung vớichương trình inet hoặc xinetd deamons(chương trình của UNIX , sử dụng trong nền sau màngười sủ dụng không biết đến sự có mặt của nó)

TCP Wrapper gần giống với một đội bảo vệ, “bạn phải tìm một lối vào rộng hơn.” Khibạn tới gần một khu vực(chuẩn bị đăng nhập), đội bảo vệ sẽ có thể hỏi tên và địa chỉ củabạn Đội bảo vệ tra cứu danh sách khách( gues), nếu bạn được cho phép, đội bảo vệ sẽ dẹpsang một bên và cho bạn đăng nhập hệ thống khi một kết nối mạng được bảo vệ bởi TCP

Trang 10

Wrapper thì Wrapper sẽ là vật đầu tiên bảo vệ nó Wrapper sẽ kiểm tra nguồn gốc của sựnối mạng sử dụng máy chủ và địa chỉ sau đó sẽ kiểm tra nó có trong danh sách cho phépđăng nhập không Nếu tên và địa chỉ của máy trạm đó khớp với trong danh sách thìWrapper sẽ dẹp sang một bên và chính thức cho phép máy trạm đăng nhập hệ thống Đó làhai cách mà bạn có thể sử dụng Linux cấu hình và phân phối Nếu bạn sử dụng Inetd đểquản lý( kiểm tra xem file /etc/inetd.conf có đang tồn tại không), TCP Wrapper sẽ thực hiện

bổ sung lời gọi chương trình đặc biệt tcpd Nếu bạn sử dụng xinted(kiểm tra thư viện/etc/xinetd.d ), xinetd sẽ luôn luôn sử dụng TCP Wrapper ngay lập tức Và sau đây, chúng ta

sẽ nghiên cứu chúng cụ thể

3.1 Sử dụng TCP Wrapper với inetd

Nếu bạn sử dụng inet daemon để khởi chạy dịch vụ mạng, nó có thể phải hiệu chỉnhfile /etc/inetd.conf của bạn để chạy TCP Wrapper Hãy sử dụng lệnh finger daemonkiểm tra xem người dùng nào đó có đang sủ dụng internet hay không, nó sẽ cho thôngtin về người sủ dụng đó về tên và địa chỉ, ví dụ: in.fingerd ngôn ngữ cơ sỏ thay thế việc

sử dụng infinger daemon, inetd sủ dụng tcpd daemon để thay thế Tcpd thực hiện TCPwrapper và sau đó chạy in.fingerd tại nơi mà sự kết nối được chấp nhận

TCP wrapper yêu cầu thay đổi rất đơn giản file /etc/inetd.conf Với lệnh fingerdaemon, bạn cần có một danh sách các file ví dụ như sau:

# /etc/in.fingerd finger daemon

finger streamtcp nowaitroot /usr/sbin/in.fingerd in.fingerd

Đó là lí do lệnh tcpd được sử dụng để thay thế lệnh in.fingerd Tên đầy đủ của lệnh

finger daemon được khóa với tcpd như một đối số, và tcpd sử dụng đối số đó và khởitạo lệnh thực sau khi nó được xác nhận là đã được cho phép đăng nhập

Bạn nên tạo sự thay đổi này cho các chương trình daemon mà bạn muốn bảo vệ.Trên hầu hết các hệ thống Linux, bạn có thể tìm thấy tcpd tự định cấu hình, nên sự thayđổi đó không là cần thiết

3.2 Sử dụng TCP Wrapper với xinetd

Xinetd được sử dụng để thay thế cho inetd vì vài sự phân phối (ví dụ như Red hat)

là một điển hình Trong hầu hết các trường hợp thì xinetd có xây dựng hỗ trợ cho TCP

Wrapper, tất cả các thứ để bạn thay đổi cấu hình tập tin TCP Wrapper(/etc/hosts.allow and /etc/hosts.deny) cũng được mô tả trong phần tiếp Nếu tự bạn đã cài xinetd thì được

chắc chắn sự hỗ trợ cho TCP Wrapper

3.3 /etc/hosts.allow và /etc/hosts.deny

TCP Wrapper sử dụng hai file cấu hình /etc/hosts.allow và /etc/hosts.deny Đây lànhững file được sử dụng để chỉ định những quy tắc truy cập cho các mạng daemonđược bảo vệ bởi TCP Wrapper

Khi TCP Wrapper được gọi, nó thu được địa chỉ IP của máy chủ kết nối và cốgắng tìm ra tên máy chủ sử dụng tìm kiếm hệ thống tên miền Tiếp theo nó tra cứu file

etc/hosts.allow để xem máy chủ này có được cho phép đăng nhập hay không để sử

dụng dịch vụ Nếu khớp, sự đăng nhập được cho phép và lệnh daemon về mạng thực

Ngày đăng: 04/02/2016, 10:14

TỪ KHÓA LIÊN QUAN

w