Đề tài: An toàn và bảo mật trên hệ điều hành Linux
Page 31 GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
Tham số “-qa” sẽ truy vấn tất cả các gói dữ liệu RPM được cài đặt trên hệ
thống và ký tự đặt biệt “>” sẽ ghi lại tất cả những gì xuất ra trên màn hình vào tập
tin intalled_rpm
Bước 2 này yêu cầu chúng ta chắc chắn không quên loại bỏ những gói dữ liệu RPM
không cần thiết và thêm vào những gói dữ liệu quan trọng ,những gói này cho phép
bạn biên dịch chương trình trên hệ thống .Nếu kết quả giống như tập tin dưới đây thì
ta có thể yên tâm với server Linux mới này.
Nội dung của tập tin intalled_rpm phải giống dưới đây:
setup-2.1.8-1 findutils-4.1-34 flex-2.5.4a-9
filesytem-1.3.5-1 gawk-3.0.4-2 ncomprocess-4.2.4-15
basesystem-6.0-4 patch-2.5-10 net-tools.54-4
idconfig-1.9.5-16 gdbm-1.8.0-3 newt-0.50.8-2
gbilc-2.1.3-15 bison-1.2.8-2 passwd-0.64.1-1
shadow-utils-19990827-10 glib-1.2.6-3 perl-5.00503-10
mktemp-1.5-2 gmp-2.0.2-13 popt-1.5-0.48
termpcap-10.2.7-9 autoconf-2.13-5 procmail-3.14-2
libtermcap-2.2.8-20 gbm-1.18.1-7 procps-2.0.6-5
bash-1.14.7-22 groff-1.15-8 psmisc-19-2
MAKEDEV-2.5.2-1 gzip-1.2.4a-2 quota-2.00pre3-2
SysVinit-2.5.2-1 inetd-0.16-4 gdb-4.18-11
anacron-2.1-6 initscripts-5.00-1 readline-2.2.2-6
chkconfig-1.1.2-1 ipchains-1.3.9-5 make-3.78.1-4
GVHD:Nguyễn Tấn Khôi Sinh viên thực hiện:
Lê Thị Huyền Trang
Nguyễn Huy Chương
Phụ lục Các phần mền bảo mật
Linux sXid
Các tập tin SUID/SGID có thể trở thành một mối nguy cho vấn đề bảo mật và
an toàn của hệ thống . Để giảm các rủi ro này ,trước đây chúng ta đã remove các bit
„s‟ từ các chương trình được sở bởi root mà sẽ không yêu cầu nhiều quyền sử dụng
,nhưng tương lai các tập tin tồn tại khác có thể cài đặt với „s‟ bit được bật lên khi
không có sự thông báo của bạn .sXid là một chương trình theo dỏi hệ thống suid/sgid
được thiết kế chạy từ cron trên một nguyên lý cơ bản .
Cơ bản là nó theo dõi bất kỳ sự thay đổi nào trong các thư mục và các tập tin
s[ug]id của bạn .Nếu có bất kỳ một điều gì mới trong các thư mục hay tập tin ,các
thư mục và tập tin này sẽ thay đổi bit hoặc các mode khác sau đó sẽ tự độnng thực
hiện việc tìm kiếm tất cả suid/sgid trên máy server của bạn và thông báo về chúng
cho bạn .
Linux Logcheck
Một công việc quan trọng trong thế giới bảo mật và an toàn là phải kiểm tra
thường xuyên các tập tin xuất ra các kết quả theo dõi hệ thống (log file). Thông
thường các hoạt động hằng ngày của người quản trị hệ thống không cho phép anh ta
co thời gian để thực hiện những công việc này và có thể mang đến nhiều vấn đề .
Giải thích tính trưu tượng của logcheck:
Kiểm tra theo dõi và ghi nhận các sự kiện xãy ra thì rất quan trọng ! Đó là
những người quản trị của hệ thống nhận biết được các sự kiện này do vậy có thể
ngăn chặn các vấn đề chắc chắn xãy ra nếu bạn có một hệ thống kết nối với internet
.Thật không may cho hầu hết logfile là nó không có ai kiểm tra vá log đó ,mà nó
thường được kiểm tra khi có sự kiện nào đó xãy ra . Điều này logcheck sẽ giúp đỡ
cho bạn
Local host tự động cấu hình lại để loại bỏ tất cả các gói thông tin từ host mục
tiêu thông qua bộ lọc local host
Mục đích của PortSentry là để giúp người quản trị mạng có được công cụ khảo
sát kỹ lưỡng hệ thống của mình
Linux OpenSSH Clien/Server
Như được minh hoạ trong chương 2 ,”Sự cài đặt Linux Server”, rất nhiều dịch
vụ mạng được đưa vào ,nhưng không có hạn chế các dịch vụ như rsh ,rlogin, hoặc
rexec không bị xâm nhập với kiểu mà các tin tặc thường dùng như nghe trộm điện
tử.Như một hệ quả ,bất kỳ ai ,người mà đã truy cập tới bất kỳ máy tính nào đã được
kết nối vào mạng đều có thể lắng nghe trên đường truyền giao tiếp của họ và lấy về
mật khẩu của bạn ,và cũng như việc lấy bất kỳ thông tin riêng tư nào khác thông
qua đường mạng ở dạng văn bản .Hiện tại Telnet là chương trình rất cần thiết cho
công việc quản trị hằng ngày ,nhưng nó không an toàn khi nó truyền mật khẩu của
bạn ở dạng văn bản ( plain text ) thông qua mạng và cho phép bất kỳ trình lắng
nghe nào ( listener) ,theo cách này tin tặc sử dụng tài khoản của bạn đẻ làm bất kỳ
công việc phá hoại nào mà hắn ta muốn . Để giải quyết vấn đề này chúng tìm ta một
cách khác ,hoặc một chương trình để thay thế nó .Thật may mắn OpenSSH là một
dịch vụ thật sự vững chắc và bảo mật có thể thay thế cho cách cũ ,các chương trình
login từ xa không an toàn và cổ xưa chẳng hạn như telnet , rlogin, rsh,rdist hay rcp.
Thông qua tập tin README chính thức của OpenSSH :
Ssh ( Secure Shell ) là một chương trình để log vào một máy tính khác thông
qua một hệ thống hệ thống mạng , để thi hành các lệnh trong một máy tính ở xa ,và
để chuyển các tập tin từ một máy này tới một máy khác .Nó cung cấp tính năng xác
nhận hợp lệ “ authentication” và bảo mật sự trao đổi thông tin qua các kênh truyền
dẫn không an toàn .Nó cũng được dự trù để thay thế cho các chương trình rlgoin ,rsh
và rdist.
Trong việc cấu hình ,chúng ta phải cấu hình OpenSSH hỗ trợ tcp-wrappers (
inetd super server) để cải tiến việc bảo mật cho chương trình bảo mật sẵn có và luôn
tránh việc phải chạy chương trình daemon của nó theo kiểu background trên máy
server .Theo cách này ,chương trình sẽ chỉ chạy khi máy khách ( client ) kết nối đến
thống ,một dạng số hoá “snapshot “ của hệ thống trong hệ thống bảo mật đã biết
.Người sử dụng có thể cấu hình Tripwire một cách rất chính xác ,chỉ rõ tập tin và thư
mục sở hưu riêng cho mỗi máy để theo dõi ,hay tạo một dạng mâux chuẩn mà nó có
thể sử dụng trên tất cả các máy trong mạng .
Một khi cơ sở dữ liệu tạo ra ,một người quản trị hệ thống có thể dùng Triwire
để kiểm tra toàn vẹn của hệ thống ở bất kỳ thời điểm nào .Bằng cách quét một hệ
thống hiện hành và so sánh thông tin với dữ liệu lưu trữ trong cơ sở dữ liệu ,Triwire
phát hiện và báo cáo bất kỳ việc thêm vào hay xoá bớt ,hay thay đổi tới hệ thống
bên ngoài các ranh giới bên ngoài được chỉ định . Nếu việc thay đổi là hợp lệ thì quản
trị hệ thống có thể cập nhật cơ sở dữ liệu biên với thông tin mới . Nếu các thay đổi cố
tình làm hại được tìm thấy ,thì người quản trị hệ thống sẽ biết ngay các phần nào
của các thành phần của mạng đã bị ảnh hưởng .
Phiên bản Tripwire này là một sản phẩm có các phần được cải tiến đáng kể so
với phiên bản Tripwire trước đó .
Server Linux DNS và BIND
Một khi chúng ta đã cài đặt tất cả phần mềm bảo mật cần thiết trên Linux
server , đây là thời điểm để cải tiến và điều chỉnh phần mạng ( netword ) của server
của chúng ta . DNS là một trong những dịch vụ quan trọng nhất cho sự trao đổi
thông tin trên mạng IP ,và vì lí do này , tát cả các máy Linux client sẽ được cài đặt
những chức năng lưu giữ (caching) ở một mức độ tối thiểu nào đó .Việc cài đặt một
caching server cho các máy client nội bộ sẽ làm giảm bớt tải trên các máy primary
server . Mọt Caching chỉ rõ tên máy chủ sẽ tìm kiếm trả lời cho những tên ghi nhớ và
phần đáp án này để khi nào chúng ta cần , nó đáp ứng ngay không cần mất nhiều
thời gian vô ích
Vì những nguyên nhân bảo mật , điều rất quan trọng là DNS không tồn tại
sẵn giữa các máy trên mạng và máy bên ngoài . Để tăng tính năng an toàn hơn ,
đơn giản dùng các địa chỉ IP kết nối với những máy bên ngoài từ bên trong mạng và
ngược lại
Trong cấu hình cà cài đặt ,chúng ta sẽ chạy chương trình BIND/DNS với user
II. Bảo mật Linux Server 7
III. Firewall 9
IV. Xây dựng hệ thống mạng Linux 23
Phụ lục Các phần mền bảo mật 31