Tải bản đầy đủ (.doc) (28 trang)

Báo cáo đề tài Hardening Linux Computer

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (459.6 KB, 28 trang )

Đại Học Quốc Gia Tp.Hcm
Đại Học Công Nghệ Thông Tin
MMT&TT
Báo Cáo Đề Tài:
Hardening Linux Computer

Nhóm TH:
Nguyễn Trường Giang : 07520095
Nguyễn Xuân Lục : 07520216
TP.HCM tháng 5/2011
I. Tổng quan Hệ Điều Hành Linux
1. Giới thiệu:
Linux là hệ điều hành mở.Mọi người đều có thể có source code của mã nguồn mở,
chỉnh sửa, biên dịch theo ý riêng.Mã nguồn mở đã chỉnh sửa có thể dùng cho mục đích
riêng hoặc công khai. Nếu công khai phải cung cấp đầy đủ source code. Linux là hệ
điều hành mã nguồn mở, được phân phối theo quy định của GNU GPL. Có thể tính phí
khi phân phối một sản phẩm có nguồn gốc là mã nguồn mở.
Có thể tính phí khi phân phối một sản phẩm có nguồn gốc là mã nguồn mở. Tuy nhiên,
khi phân phối phải kèm theo source code. Khi người sử dụng đã có một phần mềm mã
nguồn mở, họ được tự do chỉnh sửa, chia sẻ, phân phối lại…
Linux được Linus Torvalds viết năm 1991. Được cộng đồng Internet đón nhận.
Nhiều người tình nguyện tham gia phát triển Linux.
 Hệ điều hành Linux gồm:
• Linux kernel.
• Những ứng dụng và tiện ích GNU.
• Những ứng dụng khác.
 Đặc điểm của Hệ điều hành Linux :
Hardware:
• Chạy trên nhiều platform, Alpha, AMD, Intel, MIPS, PowerPC, Sparc…
• http://hardware .redhat.com/hcl
Software:





Document:

Giao diện đồ họa:
• Hỗ trợ GNOME, KDE,…
• Linux không yêu cầu giao diện đồ họa.
Ngôn ngữ lập trình: C, C++, FORTRAN, Java, Perl, Python, PHP…
Dễ dàng quản lý từ xa:
• Dễ dàng remote từ xa bằng commandline hoặc GUI.
2. Nhược điểm :
• Khó sử dụng cho người mới bắt đầu.
• Không có hỗ trợ, không có document đầy đủ.
• Bug vẫn tồn tại.
• Khi phát sinh lỗi, không phải ai cũng có khả năng hiểu lỗi.
3. Ưu điểm :
• Tính ổn định cao: Linux có thể chạy nhiều năm, không cần reboot.
• Unix là hệ điều hành được kế cho multi users. Nhiều người cùng chạy một
chương trình trên một máy tính vào cùng một thời điểm.
• Linux có sự tách biệt giữa GUI và Kernel, GUI là thành phần chiếm nhiều
memory nhất, và rất phức tạp, dễ bị lỗi. Với Windows, GUI và kernel là không
thể tách rời .Với Linux, GUI tách biệt với kernel. Người sử dụng có thể không
sử dụng GUI, hoặc sử dụng những GUI khác nhau.
• Cho phép tùy biến, phù hợp với server, vốn không cần GUI, tiết kiệm được
memory, và ít bị lỗi.
• Cấu hình của Linux là file text, vì vậy dễ dàng chỉnh sửa theo ý muốn. Có thể
xóa bỏ hoàn toàn những cấu hình cũ khi không cần, không có một chuẩn cấu
hình.
• Mỗi dịch vụ định nghĩa một chuẩn cấu hình riêng. Tính ổn định cao và hầu như

không có virus. Nhiều ý kiến cho rằng ai cũng có thể kiểm soát source code
khiến nó không an toàn. Tuy nhiên, bí mật không phải là an toàn. Code của linux
được hàng ngàn programer kiểm tra. Nếu có bug, dễ dàng được tìm thấy hơn mã
nguồn đóng.
II. Tổng quan về hệ thống File
1. Tổng quan.
Như đã nói về hệ điều hành thì tập tin chỉ là một chuổi các byte liên tốc. như vậy có thể
dùng khái niệm tập tin cho các thiết bị và các tính năng khác. Điều này làm đơn giản
hóa sự tổ chức và trao đổi các dữ liệu, vì có thể thực hiện ghi dử liệu vào tập tin,
chuyển dữ liệu lên các thiết bị và trao đổi dữ liệu giữa các tiến trình bằng cách tương
tác với nhau. Trong tất cả các trường hợp này sử dụng cùng một phương pháp dựa trên
ý tưởng chứa các byte. Do đó ngoài các tập tin thông thường va thư mục, những thành
phần như /boot, /dev… cũng được gọi là tập tin.
 Linux có 4 kiểu File cơ bản: Thư mục(container), File đặc biệt(device,
socket,pipe…), liên kết symbolic link(symlinks), file thông thường(program,
text, library,…) .
 Đường dẫn :
 Đường dẫn tuyệt đối.
 Đường dẫn tương đối.
 Đường dẫn đặc biệt
 Đĩa cứng và phân vùng :
 Mọi đĩa cứng (disk) đều cần được phân chia partition.
 Mỗi partition được xem như một phân vùng độc lập. Khi dữ liệu đầy,
partition này không thể “overflow” (lấn chiếm) kích thước của
partition khác.
 Có thể cài các hệ điều hành khác nhau lên các partition khác nhau.
 Sau đó, dùng một một trình quản lý boot loader để quản lý quá trình
boot.
Một trong những mục tiêu của việc phân vùng là để việc bảo mật dữ
liệu đạt được kết quả cao hơn trong trường hợp có thảm họa hoặc

phân vùng bị hư hại. Bằng cách chia đĩa cứng trong phân vùng, dữ
liệu có thể được phân vùng và tách biệt nhau. Khi có vấn đề xảy ra,
chỉ có các dữ liệu trong phân vùng đó trong phân vùng sẽ bị hư hại,
trong khi dữ liệu trên những phân vùng khác không bị tổn hại.
 Phân loại và bố trí phân vùng:
 Phân vùng dữ liệu: /usr, /home, /var ,/opt.
 Phân vùng trao đổi.
 Điểm lắp.
 Những ổ đĩa IDE sẽ có tên là hdX.
 X có giá trị từ [a-z] đại diện cho một ổ đĩa vật lý. Vd: hda, hdb…
 Khi được chia partition, partition sẽ có dạng: hdXY
 X là kí tự ổ đĩa.
 Y là số thứ tự.
Vd: hda1, hda2, hdb1, hdb2…
 CDROM cũng được hiểu như một ổ đĩa IDE.
 Ổ đĩa SCSI sẽ có tên là sdX.
2. Tổ Chức Hệ Thống File trên Linux
Trên một máy chủ, hệ thống dữ liệu có xu hướng tách biệt với dữ liệu người dùng. Các
chương trình mà dịch vụ cung cấp được lưu giữ ở một nơi khác với dữ liệu được xử lý bởi
dịch vụ này. Phân vùng khác nhau sẽ được tạo ra trên hệ thống như :
• một phân vùng với tất cả các dữ liệu cần thiết để khởi động máy
• một phân vùng chứa dữ liệu cấu hình và các chương trình máy chủ
• một hoặc nhiều phân vùng chứa dữ liệu máy chủ như các bảng cơ sở dữ liệu, thư
của người dùng, một kho lưu trữ ftp vv
• một phân vùng với các chương trình người dùng và các ứng dụng
• một hoặc nhiều phân vùng cho các tập tin người dùng cụ thể (thư mục home)
• một hoặc nhiều phân vùng swap (bộ nhớ ảo)
Để thuận tiện, hệ thống tập tin Linux được săp xếp theo dạng tree ,các thư mục con tiếp
theo dc ký hiệu = 1 dấu (/)
Dưới đây là một số phân vùng được sử dụng trong hệ thống File Linux :

• /swap: virtual memory.
• /bin: lệnh quan trọng, chứa hầu hết các lệnh người dùng.
• /boot: file cấu hình boot loader.
• /dev: chứa các tập tin thiết bị .
• /etc: file cấu hình hệ thống cục bộ theo máy .
• /home: chứa dữ liệu tập tin của users.
• /lib: file thư viện quan trọng, chứa các tập tin thư viện người dùng.
• /man :chứa các tài liệu trực tuyến .
• /include :chứa các tập tin include chuẩn của C .
• /var/log : các tập tin lưu giữ thông tin làm việc hiệ hành của người dùng.
III. QUẢN LÝ TẬP TIN
 Trong hệ điều hành Linux chúng ta có thể dùng command line để thao tác tạo, sao
chép, di chuyển, đổi tên, xóa hoặc xem nội dung của thư mục.
 Tập lệnh cơ bản :
Passwd (đổi mật khẩu đăng nhập), pwd(in thư mục làm việc hiên hành),
cd(chuyển đổi thư mục làm việc), ls(liệt kê nội dung thư mục) …
Ngoài ra để thuận tiện trong việc quản lý file chúng ta có thể sử dụng những tập lệnh để
quản lý thư mục như:
 Mkdir: tạo thư mục.
 Rmdir: xóa thư mục rỗng.
 Touch,cat: tạo file.
 Cp: copy file/thư mục.
 Mv: di chuyển/đổi tên.
 Rm: xóa file/thư mục.
 Ln:tạo liên kết.
 Ls [-a.-l,-r] xem nội dung thư mục.
 Echo, more/less,head/tail …
 Mount là biến một partition, một thiết bị (CD-ROM, USB…) thành một thư mục
trên cây thư mục. Thư mục này được gọi là mount-point.
Xem nội dung của partition vừa được mount bằng xem nội dung của thư mục

mount-point.
Ví dụ : Tạo một thư mục /mnt/cdrom. Thư mục này dùng làm mount-point cho ổ đĩa
CD-ROM
IV. User and File system Security Administration
Users được định nghĩa trong một hệ thống để xác định “ai? được quyền dùng cái
gì?” trong hệ thống đó.
Với Linux, mỗi user có một định danh duy nhất, gọi là UID (User ID).
a. 0 – 99: user có quyền quản trị.
b. > 99: user khác. >= 500: không phải user hệ thống.
c. => UID có khả năng sử dụng lại???
Mỗi user thuộc ít nhất một group. Mỗi group cũng có một định danh duy nhất là
GID.
 Mỗi users cần có những thông tin: tên user, UID, tên group, GID, home directory…
 Windows quản lý thông tin bằng LDAP, Kerberos. Linux quản lý thông tin bằng file
text.
 Có thể chỉnh sửa thông tin của users bằng công cụ, hoặc sửa trực tiếp bằng text file.
 Những file định nghĩa thông tin users:
 /etc/passwd: chứa thông tin user login, password mã hóa, UID, GID, home
directory, và login shell. Mỗi dòng là thông tin của một user.
 /etc/shadow: chứa thông tin password mã hóa, thời gian sử dụng password,
thời gian phải thay đổi password…
 /etc/group: chứa thông tin group.
 File /etc/passwd
 File /etc/shadow
 File /etc/group
 Quản lý bằng command line
• useradd: tạo user.
• usermod: chỉnh sửa thông tin user.
• userdel: xóa user.
• groupadd: tạo group.

• groupdel: xóa group.
• groupmod: chỉnh sửa thông tin group.
 Quản lý bằng giao diện đồ họa
 Tất cả file và thư mục thuộc sở hữu user tạo ra chúng.
 Mỗi file trong linux được gán quyền theo ba lớp user sau:
• User (owner).
• Group.
• Others(everyone)
• Xem quyền truy cập : ls -l
 Biểu diễn quyền truy cập
user | group | others
r w x r w x r w x
 Quyền trong linux được phân chia như sau:
 Quyền đọc: r (read).
 Quyền ghi: w (write).
 Quyền thực thi: x (excute).
 Biểu diễn dạng số
● r = 4
● w = 2
● x = 1
● - = 0
 Tác vụ trên quyền truy cập
● + thêm quyền.
● - loại bỏ quyền.

×