Tác giả: becamehacker
Một giải pháp cho việc xây dựng một mạng truy cập Internet ổn định là dùng server chạy hệ điều hành Linux. Hiện nay, Linux đang được coi là một trong những hệ điều hành tốt nhất cho môi trường mạng. Giải pháp này giúp giảm chi phí đầu tư về phần cứng cho server, tăng tốc độ của mạng cục bộ và bảo đảm một môi trường mạng chạy ổn định.
Một cách tổng quát, mạng được xây dựng trên mô hình client-server. Server là một máy chủ truy cập trực tiếp Internet và chạy trên nền hệ điều hành Linux, thực hiện các dịch vụ như cache proxy server, DHCP server, Samba server. Các máy client thông thường có thể chạy trên hệ điều hành Windows hoặc cả Linux nữa, cùng truy xuất Internet thông qua proxy server. Phổ biến nhất là hình thức truy cập Internet thông qua modem kết nối với line điện thoại.
Server kết nối với mạng cục bộ thông qua một card giao tiếp mạng (NIC), trong trường hợp này tôi giả sử đặt địa chỉ IP tĩnh cho máy server là 192.168.1.1; subnet mask là 255.255.255.0.
Các máy con có thể được cấp IP động bởi DHCP server hoặc có thể gán IP tĩnh cho từng máy, từ 192.168.1.2 -255/24.
Để cấu hình IP cho NIC, bạn dùng ifconfig, ví dụ:
QUOTE
#ifconfig eth0 192.168.1.1/255.255.255.0
Một cách khác mà bạn có thể dùng là trình network config bằng lệnh:
QUOTE
#netconfig
Hoặc dùng #redhat-config-network từ dòng lệnh để chạy chương trình cấu hình cho card mạng (NIC) và modem.
Để cho phép đặc tính IP forwarding trên server, bạn cần thực hiện lệnh sau:
QUOTE
#echo “1” >/proc/sys/net/ipv4/ip_forward
Bạn có thể dùng lệnh sau để chỉ định modem. Giả sử modem của bạn gắn vào cổng COM2, tức là ttyS1
QUOTE
#/ln -s/ dev/modem/ dev/ttyS1
Các file cấu hình quan trọng của mạng:
QUOTE
etc/resolv.conf
: Chỉ định địa chỉ IP của DNS server và search domain.
QUOTE
/etc/sysconfig/network
: Chỉ định tìm đường (routing) và thông tin các host của tất cả các giao tiếp mạng.
QUOTE
etc/sysconfig/network-scripts/ifcfg-
chứa thông tin cấu hình cho mỗi network interface, chẳng hạn đối với modem là ifcfg-ppp0. File này sẽ tự động được tạo nếu bạn dùng wvdial, KPPP, Network Administrator Tool.
Nếu bạn coi server như một gateway, bạn dùng masquerading cho máy trong mạng nội bộ như sau:
QUOTE
#/sbin//iptable –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
Đó là đối với modem. Còn nếu đối với một card mạng đã được ISP gán IP tĩnh, chẳng hạn eth0, ta làm như sau, với x.x.x.x là IP do ISP cung cấp:
QUOTE
#/sbin//iptable –t nat –A POSTROUTING –o eth0 –j SNAT –to x.x.x.x
Masquerade: Nếu một trong những máy thuộc mạng cục bộ muốn gửi thông tin ra bên ngoài thì nó sẽ giả thông tin được gởi như chính thông tin từ máy Linux làm gateway này. (Các máy cục bộ không được cấp địa chỉ IP thực). Tương tự cho chiều ngược lại, các gói dữ liệu gửi đến từ bên ngoài, máy chủ sẽ phân tích và tự động chuyển thông tin đó đến đúng máy tính tương ứng bên trong mạng nội bộ. Như vậy, mạng nội bộ coi như được cách ly, mặc dù chúng có thể trao đổi thông tin với bên ngoài.
Việc thiết kế cho các máy con truy cập Internet thông qua proxy server sẽ giúp giảm chi phí đường truyền của kết nối Internet. Tất cả các gói dữ liệu đi từ Internet vào mạng đều được lưu trữ trong bộ nhớ đệm (cache) của server, và do đó khi một yêu cầu truy xuất đến thông tin từ Internet mà đã được truy xuất trước đó rồi thì có thể thông tin đó đã nằm trên cache, server chỉ việc chuyển thẳng dữ liệu đó đến máy con mà không cần phải tốn chi phí tải lại từ Internet về trong mỗi lần truy cập. Ta dùng chương trình squid của Linux làm proxy server.
Cấu hình SQUID:
Khi squid đã được cài đặt, bạn cần cấu hình squid từ file
QUOTE
/etc/squid/squid.conf
Theo mặc định, port để “lắng nghe” các proxy client là 3128. Bạn có thể thêm vào port 8080 như sau: Trỏ tới phần #http_port 3128, bỏ dấu
QUOTE
“#”
đi và thêm vào port 8080:
QUOTE
http_port 3128 8080
Còn rất nhiều cấu hình trong file squid.conf, bạn có thể tự mình sửa. Sau đó, bạn có thể khởi động squid:
QUOTE
#/etc/rc.d/init.d/squid start
Để các máy con có thể truy xuất web, bạn cần cấu hình lại web browser.
Đối với Internet Explorer, bạn mở Internet Options, chọn Connections và bấm vào LAN Settings, không chọn Automatically detect settings. Trong phần proxy server, chọn use a proxy server. Trong trường hợp Address, bạn nhập vào địa chỉ IP của Squid Proxy (192.168.1.1), port là 8080.
Ngoài ra, bạn có thể cấu hình để các máy client trong mạng được cấp IP động, dùng DHCP server, chia sẻ máy in và tài nguyên đĩa, dữ liệu với nhau bằng Samba server.
Mạng và Linux
Làm việc nhiều với mạng, chắc chắn bạn càng nghe nói nhiều về Linux - hệ điều hành trẻ trung đầy sinh lực mà thời gian gần đây đã được cho là đối thủ cân tài, cân sức với Microsoft Windows NT. Do là hệ điều hành cho nhiều người sử dụng, với phần nhân (kernel) được thiết kế chức năng mạng ngay từ ban đầu nên Linux là ứng cử viên hệ điều hành mạng sáng giá.
Vì thế hãy xem xét Linux khi bạn đang dự định thiết lập một mạng máy tính nghiêm túc, đó là chưa kể chi phí cho mạng này rất thấp. Ngoài ra, sự hỗ trợ của Linux cho X Windows cho phép bạn sử dụng được hầu hết những ứng dụng X có trên Internet: trình duyệt Netscape như Navigator và Communicator, hoặc X11amp MP3. Đúng vậy, bạn có thể đã có những ứng dụng này trên Windows, nhưng kinh nghiệm Internet của bạn sẽ tiến nhanh hơn bằng con đường Linux. Tính ổn định và sức đề kháng tốt cũng là hai yếu tố khiến Linux trở thành hệ điều hành cao cấp dành cho những tác vụ quan trọng - vượt hơn hẳn Windows.
Thoạt đầu Linux làm bạn ái ngại, nhất là khi so sánh với vẻ thân thiện, khả ái, cắm-là-chạy (plug and play) của môi trường Windows 95/98. Cần khẳng định là cài đặt và sử dụng Linux không dễ dàng song cũng không quá khó như một số người thường nghĩ. Hơn nữa, yếu tố miễn phí cũng đáng quan tâm đấy chứ! Và chưa hết, nếu đang làm việc trong môi trường mạng, sự hiểu biết về Unix sẽ giúp ích cho công việc của bạn, và nhờ Linux, việc tìm hiểu về một hệ điều hành thông dụng sẽ đỡ nhọc công hơn.
Linux - hệ điều hành linh hoạt
Linux có đáp ứng được những tiêu chuẩn CNTT về mặt thương mại? Nó có đủ sức mạnh và tính linh hoạt cần thiết? Hiển nhiên, khả năng tính toán xí nghiệp với Linux là một chủ đề lớn, trong khuôn khổ giới hạn của bài báo này thì chỉ xin nêu một vài điểm nổi bật mà thôi.
Đầu tiên, Linux là hệ điều hành thích hợp cho máy trạm và tùy thuộc vào cách thức xác lập cấu hình, Linux thỏa mãn được những yêu cầu chuyên biệt cho thương mại. Linux có thể sử dụng làm môi trường phát triển, hub truyền thông, và với những ứng dụng chạy trên X Windows, nó có thể đảm nhận cả vai trò một máy để bàn truyền thống.
Hai là, có một thứ mà Linux có thể thực hiện tốt hơn những hệ thống khác, đó là khả năng phục vụ. Với những tính năng truyền thông và mạng cực mạnh, Linux là hệ điều hành server lý tưởng cho môi trường tính toán xí nghiệp.
Linux - server quản lý tập tin và in ấn
Linux được phân phối cùng với SAMBA - bộ giao thức SMB miễn phí - cho phép truy cập tập tin và máy in trên máy Linux từ máy trạm DOS, Win95, Win98 và Windows NT trên mạng cục bộ. Điều này có nghĩa là Linux hoạt động như một file server. Một tính năng tuyệt vời khác là có thể cấu hình SAMBA để quản trị bảo mật: hoặc thông qua những chức năng gốc của Unix, hoặc bằng server password (Windows NT). SAMBA còn cung cấp phần mềm cho client, cho phép máy trạm Linux truy cập tập tin trên máy Windows.
Linux - server thư điện tử
Ngay cả khi bạn không muốn kết nối mạng LAN với Internet, đây cũng vẫn là lựa chọn thú vị do Linux có nhiều phần mềm về truyền thông thích hợp để bạn xây dựng mạng Intranet cộng tác mà không phải mất thêm phí tổn phần mềm. Dịch vụ đơn giản nhất có lẽ là sendmail - chương trình phục vụ mail truyền thống của Unix, cho phép gửi email trên mạng cộng tác hoặc Internet. Với hệ thống mail cho xí nghiệp, bạn chỉ cần tạo lập các tài khoản người dùng và chương trình nhận mail cho những máy trên mạng LAN.
Trong mạng Intranet phức tạp hơn, có lẽ bạn còn muốn triển khai những dịch vụ ftp, Usenet và Web server. Có rất nhiều phần mềm Web server miễn phí, và còn kèm theo ngay trong bản Linux của bạn (có thể là httpd). Một Web server thông dụng nữa là Apache, bạn có thể tải chương trình này tại địa chỉ
http://www.apache.org/.
Linux - server cho WAN hoặc gateway
Thông thường, mọi sự trở nên phức tạp và tốn kém hơn nếu bạn đi quá giới hạn của LAN. Tuy nhiên, việc kết nối mạng diện rộng (WAN) với Linux chỉ là một sự mở rộng chức năng LAN. Thông thường, bạn có thể triển khai PPP bằng kết nối thông qua modem hay tân tiến hơn thì bằng đường dây thuê bao và kết nối ISDN. Linux có cả PPP và SLIP, hỗ trợ bức tường lửa, che chắn IP (IP masquerading), giấu password (nhằm tăng cường chống bẻ khóa, tập tin lưu trữ password sẽ được đặt tại /etc/shadow thay vì /etc/passwd), NFS và NIS - là những điểm bắt đầu khá tốt với WAN.
Nếu say mê Internet, hẳn bạn đã nghe nói đến TCP/IP (Transmission Control Protocol/Internet Protocol), bộ giao thức này cung cấp nền tảng phần mềm cho các hệ thống mạng máy tính liên kết với nhau trên khắp Internet. Linux sử dụng bộ giao thức chuẩn TCP/IP, bộ giao thức truyền thông Unix-Unix, thường được gọi là UUCP (Unix to Unix Copy Protocol) - và nhiều phương thức truyền thông qua cổng tuần tự khác.
Tính năng mạng của Linux rất linh động, cho phép cấu hình hệ thống mạng với quy mô từ mạng SME LAN cho đến mạng cộng tác trải rộng khắp thế giới. Bạn cũng nên biết rằng TCP/IP đã được sử dụng gần 2 thập kỷ qua và có hàng triệu người dùng hiện còn tin tưởng vào bộ giao thức này. Vì thế, nó rất thích hợp với môi trường cộng tác và những ứng dụng then chốt. Hơn nữa, Linux hỗ trợ đầy đủ cho TCP/IP cùng với những tính năng cao cấp như bức tường lửa, che chắn địa chỉ IP.
Trong môi trường quy mô trung bình, bước đầu đến với mạng có lẽ là kết nối một máy đơn Linux với Internet. Điều này thực hiện khá dễ dàng nếu bạn có modem và tài khoản dial-up tới một nhà cung cấp dịch vụ Internet (ISP) nào đó: xác lập dịch vụ PPP (Point-to-Point Protocol) và chọn tùy chọn TCP/IP trong khi cấu hình phần nhân Linux. Trong một số trường hợp, bộ giao thức cũ SLIP vẫn được sử dụng thay vì PPP, nhưng có nhiều nhà cung cấp dịch vụ vẫn đưa ra loại tài khoản SLIP được triển khai trên nền phần mềm mô phỏng PPP, vì vậy, bạn vẫn có khả năng sử dụng PPP trên máy trạm. Phần khó khăn nhất có lẽ là xác lập PPP ở máy trạm kể cả sửa đổi lại một số tập tin cấu hình trong thư mục /etc/ppp. Còn một cách khác là sử dụng chương trình linuxconf để cấu hình tính năng dial-out của PPP hay SLIP.
Chưa hết: bạn có thể cấu hình máy Linux thành trạm gateway Internet trong mạng LAN của bạn. Điều này có nghĩa là cho phép nhiều máy cùng sử dụng và chia sẻ một tài khoản Internet - một ý tưởng rất tuyệt nếu bạn dự định sử dụng chung truy cập Internet cho 2 hoặc 3 máy. Có thể cấu hình Linux thành một server SLIP hay PPP để truy cập bằng modem, hay thậm chí thành hẳn một nút Internet thực sự.
Hầu hết người dùng cộng tác đều quan tâm đến việc có một mạng LAN, để tập trung và chia sẻ những dữ liệu quan trọng, tạo điều kiện thuận lợi trong truyền thông nội bộ. Kết nối nhiều máy Linux thành một mạng LAN không khó khăn lắm: mỗi máy chỉ cần một card Ethernet, dây cáp thích hợp và một vài thiết bị mạng như hub Ethernet.
Linux hỗ trợ nhiều card mạng Ethernet (như 3Com, D-Link,...), tự động nhận ra cấu hình của card LAN vào lúc khởi động để khởi tạo lớp phần mềm giao tiếp mạng theo đúng cấu hình này. Mỗi máy cần có một địa chỉ IP và tên máy chủ (host name) riêng để giao tiếp với nhau trên mạng (điều này cũng giống như kiểu cấu hình được sử dụng trên những mạng Windows).
Sau khi đã thiết lập mạng xong, bạn có thể sử dụng rất nhiều ứng dụng mạng có sẵn như mail, chương trình đọc tin (elm, pine, rn, nn, và tin) được sử dụng với mail server (sendmail) và news server NNTP. Một số công cụ thông dụng khác như telnet hoặc rlogin cho phép bạn đăng nhập và thi hành các lệnh trên một máy khác; FTP (File Transfer Protocol) để truyền tập tin giữa các máy trên mạng; finger để tìm kiếm thông tin về người dùng trên mạng cục bộ hay Internet. Bạn sẽ kinh ngạc về khối lượng thông tin đồ sộ "nhặt" được chỉ bằng một lệnh finger đơn giản. Người dùng cộng tác cũng muốn có một cơ sở dữ liệu cho phép chia sẻ thông tin tập trung chẳng hạn như dữ liệu khách hàng, danh mục sản phẩm, đơn đặt hàng, hoá đơn, ... Linux cung cấp một hệ thống ổn định và đáng tin cậy cho loại ứng dụng này. Trong hệ thống client/server, máy trạm gửi yêu cầu về cơ sở dữ liệu đến server Linux và sẽ nhận được kết quả dưới dạng thức SQL. Kỹ thuật này làm giảm lưu lượng trên mạng xuống mức thấp nhất và phân bố tải một cách cân bằng giữa những máy trạm.
Linux được phân phối cùng với NFS (Network File System), một hệ thống file phân bố cho phép chia sẻ tập tin trên toàn bộ mạng Linux, nghĩa là việc truy cập tập tin ở máy khác được thực hiện như thể chúng đang được lưu trữ trên đĩa cứng cục bộ. Ngoài ra còn có NIS (Network Information Service), cho phép hệ thống tự động thu thập thông tin về tài khoản người dùng, nhóm, đặc quyền truy cập, và thông tin từ những server khác trên mạng. Nói tóm lại, NFS và NIS cho phép nhiều server Linux, mạng LAN, WAN hoạt động như một hệ thống nhất.
Cuối cùng, có nhiều bộ phần mềm gắn liền với Linux, được dùng để xây dựng các "mạng tạp chủng". Những bộ phần mềm này tích hợp server Linux trong một mạng gồm các client với nhiều hệ điều hành khác nhau như Windows 3.1, Windows 95, NT, Novell, và Macintosh. Với bộ giao thức SAMBA, Linux có thể cung cấp dịch vụ file và in ấn. SAMBA cho phép máy Windows tìm duyệt và truy cập tập tin thông qua Windows Explorer và File Manager. Chương trình Mars NetWare Emulator cung cấp những chức năng của một file server Netware cho máy trạm chạy DOS và Windows (bạn có thể tải xuống từ địa chỉ
http://www.compu-art.de/mars_nwe). Và giờ đây là thời điểm đúng đắn nhất nếu bạn đang có một mạng Novell hoặc dự định cài đặt trong tương lai gần.
Tăng cường an ninh cho hệ thống Linux
Linux đã tạo ra một sự bùng nổ trong lĩnh vực tin học và ngày càng trở nên phổ biến hiện nay. Rất nhiều các công ty, tổ chức trên thế giới chấp nhận Linux như là một platform cho sản phẩm của họ, cũng như nhiều công ty, ISPs sử dụng máy chủ Linux như là các Internet gateway. Vấn đề an toàn an ninh cho hệ thống Linux ngày càng trở nên quan trọng và bức thiết hơn. Tài liệu này sẽ cho bạn một cái nhìn tổng quát về an toàn hệ thống và những hướng dẫn giúp tăng cường mức độ an toàn cho hệ thống Linux của bạn. (Tài liệu này được báo cáo tại hội thảo Linux Việt Nam vào tháng 12/2000 nên có một số phần đã cũ so với hiện nay.)
GIỚI THIỆU
Cùng với sự phát triển không ngừng của truyền thông kỹ thuật số, Internet và sự phát triển nhảy vọt của nền công nghiệp phần mềm, bảo mật máy tính là một vấn đề ngày càng trở nên quan trọng. Cần phải hiểu rằng không có hệ thống máy tính nào là an toàn tuyệt đối. Tất cả những gì bạn có thể làm là giúp cho hệ thống của bạn trở nên an toàn hơn.
Kể từ khi Linux được phát triển một cách rộng rãi và nhanh chóng, đặc biệt là trong các giao dịch kinh doanh quan trọng, an ninh là một vấn đề quyết định sự sống còn của Linux. Với hàng trăm công cụ bảo vệ sẵn có, người dùng Linux được trang bị tốt hơn để ngăn chặn và duy trì một hệ thống an toàn. Linux không những hoạt động tốt mà còn có những tính năng và sản phẩm liên quan cho phép xây dựng một môi trường tương đối an toàn.
NHỮNG NGUY CƠ AN NINH TRÊN LINUX
Linux và các ứng dụng trên nó có thể không ít các lỗ hổng an ninh hơn những hệ điều hành khác. Theo quan điểm của một số chuyên gia máy tính, Linux có tính an toàn cao hơn các hệ điều hành của Microsoft, vì các sản phẩm của Microsoft không được xem xét kỹ lưỡng và chặt chẽ bằng các sản phẩm mã nguồn mở như Linux. Hơn nữa, Linux dường như là "miễn nhiễm" với virus máy tính (hiện tại đã có xuất hiện một vài loại virus hoạt động trên môi trường Linux nhưng không ảnh hưởng gì mấy đến người dùng Linux). Nhưng một hệ thống Linux được cấu hình không tốt sẽ tệ hơn nhiều so với một hệ thống Microsoft được cấu hình tốt !!! Khi có được một chính sách an ninh tốt và hệ thống được cấu hình theo đúng chính sách đó thì sẽ giúp bạn tạo được một hệ thống an toàn (ở mức mà chính sách của bạn đưa ra).
Nhưng sự an toàn không phải là thứ có thể đạt được như một mục tiêu cuối cùng. Đúng hơn đó là tập hợp của những cách cài đặt, vận hành và bảo trì một hệ điều hành, mạng máy tính, ... Nó phụ thuộc vào các hoạt động hàng ngày của hệ thống, người dùng và người quản trị. Bạn phải bắt đầu từ một nền tảng ban đầu và từ đó cải thiện tính an toàn của hệ thống của bạn nhiều nhất có thể được mà vẫn đảm bảo các hoạt động bình thường của hệ thống.
XEM XÉT CHÍNH SÁCH AN NINH CỦA BẠN
Kết nối vào Inernet là nguy hiểm cho hệ thống mạng của bạn với mức an toàn thấp. Từ những vấn đề trong các dịch vụ TCP/IP truyền thống, tính phức tạp của việc cấu hình máy chủ, các lỗ hổng an ninh bên trong quá trình phát triển phần mềm và nhiều nhân tố khác góp phần làm cho những hệ thống máy chủ không được chuẩn bị chu đáo có thể bị xâm nhập và luôn tồn tại những nguy cơ tiềm tàng về vấn đề an toàn trong đó.
Mục đích của một chính sách an toàn hệ thống là quyết định một tổ chức sẽ phải làm như thế nào để bảo vệ chính nó. Để có được một chính sách an ninh hiệu quả, người xây dựng các chính sách này phải hiểu và có thể kết hợp tất cả các thông tin, yêu cầu, ...
Khi một tình huống xảy ra nằm ngoài dự kiến, chẳng hạn một sự xâm nhập trái phép vào hệ thống của bạn, câu hỏi lớn nhất là "sẽ phải làm gì đây ?"
Không may là có hàng triệu câu trả lời khác nhau cho câu hỏi đó. Nếu một người mà chưa từng phải đối phó với một kẻ xâm nhập trước đây thì kẻ xâm nhập có thể dễ dàng biến mất vì các dấu vết đã trở nên qúa cũ và không còn hữu ích nữa.
Những sai sót trong chính sách an ninh không chỉ liên quan đến những kẻ xâm nhập, mà còn liên quan đến những vấn đề bình thường như thời tiết, thiên tai, cháy, nổ, hư hỏng thiết bị,... Do vậy, việc thiết lập một chính sách an ninh tốt cho việc giải quyết những sự cố phải được lên kế hoạch kỹ lưỡng, được xem xét và chứng nhận bởi người có quyền hạn trong công ty.
Một chính sách an ninh tốt nên bao gồm các vấn đề sau :
QUOTE
Chính sách phục hồi dữ liệu khi có sự cố
Chính sách phục hồi hệ thống trong trường hợp hư hỏng thiết bị
Chính sách, cách thức điều tra những kẻ xâm nhập trái phép
Chính sách, cách thức điều tra khi công ty bị cáo buộc xâm nhập vào các hệ thống khác
Cách thức, quy trình và nơi thông báo sự xâm nhập trái phép từ bên ngoài hay gây ra bởi các nhân viên của mình.
Chính sách an ninh về mặt vật lý của hệ thống
...
Bạn có thể nhờ tư vấn của các công ty, tổ chức làm dịch vụ tư vấn về an toàn máy tính để giúp bạn xây dụng một chính sách an ninh tốt. Các công ty này có các chuyên gia về an toàn máy tính, họ có sẵn các biểu mẫu chính sách an ninh nên có thể thiết lập nhanh chóng các chính sách mà bao gồm tất cả các mặt trong việc an toàn hệ thống máy tính.
TĂNG CƯỜNG AN NINH CHO KERNEL
Mặc dù thừa hưởng những đặc tính của hệ thống UNIX và khá an ninh hơn một số hệ điều hành khác, hệ thống GNU/Linux hiện nay vẫn tồn tại những nhược điểm sau:
Quyền của user ‘root’ có thể bị lạm dụng. User ‘root’ có thể dễ dàng thay đổi bất kỳ điều gì trên hệ thống.
Nhiều file hệ thống có thể dễ dàng bị sửa đổi. Nhiều file hệ thống quan trọng như
QUOTE
/bin/login
có thể bị sửa đổi bởi hacker để cho phép đăng nhập không cần mật khẩu. Nhưng những file loại này lại hiếm khi nào thay đổi trừ phi khi nâng cấp hệ thống.
Các module có thể được dùng để chặn kernel. “Loadable Kernel Module” là một thiết kế tốt để tăng cường tính uyển chuyển, linh hoạt cho kernel. Nhưng sau khi một module được nạp vào kernel, nó sẽ trở thành một phần của kernel và có thể hoạt động như kernel nguyên thủy. Vì vậy, các chưng trình mục đích xấu có thể được viết dạng module và nạp vào kernel, rồi sau đó hoạt động như một virus.
Các process không được bảo vệ. Các process như web server có thể trở thành mục tiêu bị tấn công của hacker sau khi thâm nhập hệ thống.
Để cải thiện tính an ninh cho các server Linux, chúng ta cần có một kernel an toàn hơn. Điều này có thể thực hiện được bằng cách sửa đổi kernel nguyên thuỷ bằng các ‘patch’ tăng cường tính an ninh cho hệ thống. Các patch này có các tính năng chính yếu sau:
Bảo vệ – bảo vệ các file hệ thống quan trọng khỏi sự thay đổi ngay cả với user root. Bảo vệ các process quan trọng khỏi bị ngừng bởi lệnh ‘kill’. Chặn các tác vụ truy cập IO mức thấp (RAW IO) của các chương trình không được phép.
Phát hiện – Phát hiện và cảnh báo với người quản trị khi server bị scan. Cũng như khi có các tác vụ trên hệ thống vi phạm các luật (rules) định trước.
Đối phó – Khi phát hiện sự vi phạm trên hệ thống, các ghi nhận chi tiết sẽ được thực hiện cũng như có thể ngừng lập tức phiên làm việc gây ra
Một vài công cụ sửa đổi kernel được sử dụng rộng rãi là LIDS (Linux Intrusion Detection System), Medusa, ...
AN TOÀN CHO CÁC GIAO DỊCH TRÊN MẠNG
Có rất nhiều dịch vụ mạng truyền thống giao tiếp thông qua giao thức văn bản không mã hoá, như TELNET, FTP, RLOGIN, HTTP, POP3. Trong các giao dịch giữa người dùng với máy chủ, tất cả các thông tin dạng gói được truyền qua mạng dưới hình thức văn bản không được mã hoá. Các gói tin này có thể dễ dàng bị chặn và sao chép ở một điểm nào đó trên đường đi. Việc giải mã các gói tin này rất dễ dàng, cho phép lấy được các thông tin như tên người dùng, mật khẩu và các thông tin quan trọng khác. Việc sử dụng các giao dịch mạng được mã hoá khiến cho việc giải mã thông tin trở nên khó hơn và giúp bạn giữ an toàn các thông tin quan trọng. Các kỹ thuật thông dụng hiện nay là IPSec, SSL, TLS, SASL và PKI.
Quản trị từ xa là một tính năng hấp dẫn của các hệ thống UNIX. Người quản trị mạng có thể dễ dàng truy nhập vào hệ thống từ bất kỳ nơi nào trên mạng thông qua các giao thức thông dụng như telnet, rlogin. Một số công cụ quản trị từ xa được sử dụng rộng rãi như linuxconf, webmin cũng dùng giao thức không mã hoá. Việc thay thế tất cả các dịch vụ mạng dùng giao thức không mã hoá bằng giao thức có mã hoá là rất khó. Tuy nhiên, bạn nên cung cấp việc truy cập các dịch vụ truyền thống như HTTP/POP3 thông qua SSL, cũng như thay thế các dịch vụ telnet, rlogin bằng SSH.
AN TOÀN CHO CÁC GIAO DỊCH TRÊN MẠNG
Có rất nhiều dịch vụ mạng truyền thống giao tiếp thông qua giao thức văn bản không mã hoá, như
QUOTE
TELNET, FTP, RLOGIN, HTTP, POP3
. Trong các giao dịch giữa người dùng với máy chủ, tất cả các thông tin dạng gói được truyền qua mạng dưới hình thức văn bản không được mã hoá. Các gói tin này có thể dễ dàng bị chặn và sao chép ở một điểm nào đó trên đường đi. Việc giải mã các gói tin này rất dễ dàng, cho phép lấy được các thông tin như tên người dùng, mật khẩu và các thông tin quan trọng khác. Việc sử dụng các giao dịch mạng được mã hoá khiến cho việc giải mã thông tin trở nên khó hơn và giúp bạn giữ an toàn các thông tin quan trọng. Các kỹ thuật thông dụng hiện nay là
QUOTE
IPSec, SSL, TLS, SASL và PKI.
Quản trị từ xa là một tính năng hấp dẫn của các hệ thống UNIX. Người quản trị mạng có thể dễ dàng truy nhập vào hệ thống từ bất kỳ nơi nào trên mạng thông qua các giao thức thông dụng như telnet, rlogin. Một số công cụ quản trị từ xa được sử dụng rộng rãi như linuxconf, webmin cũng dùng giao thức không mã hoá. Việc thay thế tất cả các dịch vụ mạng dùng giao thức không mã hoá bằng giao thức có mã hoá là rất khó. Tuy nhiên, bạn nên cung cấp việc truy cập các dịch vụ truyền thống như HTTP/POP3 thông qua SSL, cũng như thay thế các dịch vụ telnet, rlogin bằng SSH.
LINUX FIREWALL
An toàn hệ thống luôn luôn là một vấn đề sống còn của mạng máy tính và firewall là một thành phần cốt yếu cho việc đảm bảo an ninh.
Một firewall là một tập hợp các qui tắc, ứng dụng và chính sách đảm bảo cho người dùng truy cập các dịch vụ mạng trong khi mạng bên trong vẫn an toàn đối với các kẻ tấn công từ Internet hay từ các mạng khác. Có hai loại kiến trúc firewall cơ bản là : Proxy/Application firewall và filtering gateway firewall. Hầu hết các hệ thống firewall hiện đại là loại lai (hybrid) của cả hai loại trên.
Nhiều công ty và nhà cung cấp dịch vụ Internet sử dụng máy chủ Linux như một Internet gateway. Những máy chủ này thường phục vụ như máy chủ mail, web, ftp, hay dialup. Hơn nữa, chúng cũng thường hoạt động như các firewall, thi hành các chính sách kiểm soát giữa Internet và mạng của công ty. Khả năng uyển chuyển khiến cho Linux thu hút như là một thay thế cho những hệ điều hành thương mại.
Tính năng firewall chuẩn được cung cấp sẵn trong kernel của Linux được xây dựng từ hai thành phần :
QUOTE
ipchains và IP Masquerading
.
là một cơ chế lọc gói tin IP. Những tính năng của IP Chains cho phép cấu hình máy chủ Linux như một filtering gateway/firewall dễ dàng. Một thành phần quan trọng khác của nó trong kernel là IP Masquerading, một tính năng chuyển đổi địa chỉ mạng (network address translation- NAT) mà có thể che giấu các địa chỉ IP thực của mạng bên trong.
Để sử dụng ipchains, bạn cần thiết lập một tập các luật mà qui định các kết nối được cho phép hay bị cấm. Ví dụ:
QUOTE
# Cho phép các kết nối web tới Web Server của bạn
/sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT
# Cho phép các kết nối từ bên trong tới các Web Server bên ngoài
/sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT
# Từ chối truy cập tất cả các dịch vu khác
/sbin/ipchains -P your_chains_rules input DENY
Ngoài ra, bạn có thể dùng các sản phẩm firewall thương mại như Check Point FireWall-1, Phoenix Adaptive Firewall, Gateway Guardian, XSentry Firewall, Raptor, ... hay rất nhiều các phiên bản miễn phí, mã nguồn mở cho Linux như T.Rex Firewall, Dante, SINUS, TIS Firewall Toolkit, ...
DÙNG CÔNG CỤ DÒ TÌM ĐỂ KHẢO SÁT HỆ THỐNG
Thâm nhập vào một hệ thống bất kỳ nào cũng cần có sự chuẩn bị. Hacker phải xác định ra máy đích và tìm xem những port nào đang mở trước khi hệ thống có thể bị xâm phạm. Quá trình này thường được thực hiện bởi các công cụ dò tìm (scanning tool), kỹ thuật chính để tìm ra máy đích và các port đang mở trên đó. Dò tìm là bước đầu tiên hacker sẽ sử dụng trước khi thực hiện tấn công. Bằng cách sử dụng các công cụ dò tìm như Nmap, hacker có thể rà khắp các mạng để tìm ra các máy đích có thể bị tấn công. Một khi xác định được các máy này, kẻ xâm nhập có thể dò tìm các port đang lắng nghe. Nmap cũng sử dụng một số kỹ thuật cho phép xác định khá chính xác loại máy đang kiểm tra.
Bằng cách sử dụng những công cụ của chính các hacker thường dùng, người qun trị hệ thống có thể nhìn vào hệ thống của mình từ góc độ của các hacker và giúp tăng cường tính an toàn của hệ thống. Có rất nhiều công cụ dò tìm có thể sử dụng như: Nmap, strobe, sscan, SATAN, ...
Dưới đây là một ví dụ sử dụng Nmap:
QUOTE
# nmap -sS -O 192.168.1.200
Starting nmap V. 2.54 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on comet (192.168.1.200):
Port State Protocol Service
7 open tcp echo
19 open tcp chargen
21 open tcp ftp
...
TCP Sequence Prediction: Class=random positive increments
Difficulty=17818 (Worthy challenge)
Remote operating system guess: Linux 2.2.13
Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds
Tuy nhiên, sử dụng các công cụ này không thể thay thế cho một người quản trị có kiến thức. Bởi vì việc dò tìm thường dự báo một cuộc tấn công, các site nên ưu tiên cho việc theo dõi chúng. Với các công cụ dò tìm, các nhà quản trị hệ thống mạng có thể phát hiện ra những gì mà các hacker có thể thấy khi dò trên hệ thống của mình.
PHÁT HIỆN SỰ XÂM NHẬP QUA MẠNG
Nếu hệ thống của bạn có kết nối vào internet, bạn có thể trở thành một mục tiêu bị dò tìm các lỗ hổng về bảo mật. Mặc dù hệ thống của bạn có ghi nhận điều này hay không thì vẫn không đủ để xác định và phát hiện việc dò tìm này. Một vấn đề cần quan tâm khác là các cuộc tấn công gây ngừng dịch vụ (Denial of Services - DoS), làm thế nào để ngăn ngừa, phát hiện và đối phó với chúng nếu bạn không muốn hệ thống của bạn ngưng trệ.
Hệ thống phát hiện xâm nhập qua mạng (Network Intrusion Detection System - NIDS) theo dõi các thông tin truyền trên mạng và phát hiện nếu có hacker đang cố xâm nhập vào hệ thống (hoặc gây gây ra một vụ tấn công DoS). Một ví dụ điển hình là hệ thống theo dõi số lượng lớn các yêu cầu kết nối TCP đến nhiều port trên một máy nào đó, do vậy có thể phát hiện ra nếu có ai đó đang thử một tác vụ dò tìm TCP port. Một NIDS có thể chạy trên máy cần theo dõi hoặc trên một máy độc lập theo dõi toàn bộ thông tin trên mạng.
Các công cụ có thể được kết hợp để tạo một hệ thống phát hiện xâm nhập qua mạng. Chẳng hạn dùng tcpwrapper để điều khiển, ghi nhận các dịch vụ đã được đăng ký. Các chương trình phân tích nhật ký hệ thống, như swatch, có thể dùng để xác định các tác vụ dò tìm trên hệ thống. Và điều quan trọng nhất là các công cụ có thể phân tích các thông tin trên mạng để phát hiện các tấn công DoS hoặc đánh cắp thông tin như tcpdump, ethereal, ngrep, NFR (Network Flight Recorder), PortSentry, Sentinel, Snort, ...
Khi hiện thực một hệ thống phát hiện xâm nhập qua mạng bạn cần phải lưu tâm đến hiệu suất của hệ thống cũng như các chính sách bảo đảm sự riêng tư.
KIỂM TRA KHẢ NĂNG BỊ XÂM NHẬP
Kiểm tra khả năng bị xâm nhập liên quan đến việc xác định và sắp xếp các lỗ hổng an ninh trong hệ thống bằng cách dùng một số công cụ kiểm tra. Nhiều công cụ kiểm tra cũng có khả năng khai thác một số lỗ hổng tìm thấy để làm rõ quá trình thâm nhập trái phép sẽ được thực hiện như thế nào. Ví dụ, một lỗi tràn bộ đệm của chương trình phục vụ dịch vụ FTP có thể dẫn đến việc thâm nhập vào hệ thống với quyền ‘root’. Nếu người quản trị mạng có kiến thức về kiểm tra khả năng bị xâm nhập trước khi nó xảy ra, họ có thể tiến hành các tác vụ để nâng cao mức độ an ninh của hệ thống mạng.
Có rất nhiều các công cụ mạng mà bạn có thể sử dụng trong việc kiểm tra khả năng bị xâm nhập. Hầu hết các quá trình kiểm tra đều dùng ít nhất một công cụ tự động phân tích các lỗ hổng an ninh. Các công cụ này thăm dò hệ thống để xác định các dịch vụ hiện có. Thông tin lấy từ các dịch vụ này sẽ được so sánh với cơ sở dữ liệu các lỗ hổng an ninh đã được tìm thấy trước đó.
Các công cụ thường được sử dụng để thực hiện các kiểm tra loại này là ISS Scanner, Cybercop, Retina, Nessus, cgiscan, CIS, ...Kiểm tra khả năng bị xâm nhập cần được thực hiện bởi những người có trách nhiệm một cách cẩn thận. Sự thiếu kiến thức và sử dụng sai cách có thể sẽ dẫn đến hậu quả nghiêm trọng không thể lường trước được.
ĐỐI PHÓ KHI HỆ THỐNG CỦA BẠN BỊ TẤN CÔNG
Gần đây, một loạt các vụ tấn công nhắm vào các site của những công ty lớn như Yahoo!, Buy.com, E-Bay, Amazon và CNN Interactive gây ra những thiệt hại vô cùng nghiêm trọng. Những tấn công này là dạng tấn công gây ngừng dịch vụ "Denial-Of-Service" mà được thiết kế để làm ngưng hoạt động của một mạng máy tính hay một website bằng cách gửi liên tục với số lượng lớn các dữ liệu tới mục tiêu tấn công khiến cho hệ thống bị tấn công bị ngừng hoạt động, điều này tương tự như hàng trăm người cùng gọi không ngừng tới 1 số điện thoại khiến nó liên tục bị bận.
Trong khi không thể nào tránh được mọi nguy hiểm từ các cuộc tấn công, chúng tôi khuyên bạn một số bước mà bạn nên theo khi bạn phát hiện ra rằng hệ thống của bạn bị tấn công. Chúng tôi cũng đưa ra một số cách để giúp bạn bảo đảm tính hiệu qủa của hệ thống an ninh và những bước bạn nên làm để giảm rủi ro và có thể đối phó với những cuộc tấn công.
Nếu phát hiện ra rằng hệ thống của bạn đang bị tấn công, hãy bình tĩnh. Sau đây là những bước bạn nên làm:
Tập hợp 1 nhóm để đối phó với sự tấn công:
- Nhóm này phải bao gồm những nhân viên kinh nghiệm, những người mà có thể giúp hình thành một kế hoạch hành động đối phó với sự tấn công.
Dựa theo chính sách và các quy trình thực hiện về an ninh của công ty, sử dụng các bước thích hợp khi thông báo cho mọi người hay tổ chức về cuộc tấn công.
Tìm sự giúp đỡ từ nhà cung cấp dịch vụ Internet và cơ quan phụ trách về an ninh máy tính:
- Liên hệ nhà cung cấp dịch vụ Internet của bạn để thông báo về cuộc tấn công. Có thể nhà cung cấp dịch vụ Internet của bạn sẽ chặn đứng được cuộc tấn công.
- Liên hệ cơ quan phụ trách về an ninh máy tính để thông báo về cuộc tấn công
Tạm thời dùng phương thức truyền thông khác (chẳng hạn như qua điện thoại) khi trao đổi thông tin để đảm bo rằng kẻ xâm nhập không thể chặn và lấy được thông tin.
Ghi lại tất cả các hoạt động của bạn (chẳng hạn như gọi điện thoại, thay đổi file, ...)
Theo dõi các hệ thống quan trọng trong qúa trình bị tấn công bằng các phần mềm hay dịch vụ phát hiện sự xâm nhập (intrusion detection software/services). Điều này có thể giúp làm giảm nhẹ sự tấn công cũng như phát hiện những dấu hiệu của sự tấn công thực sự hay chỉ là sự quấy rối nhằm đánh lạc hướng sự chú ý của bạn(chẳng hạn một tấn công DoS với dụng ý làm sao lãng sự chú ý của bạn trong khi thực sự đây là một cuộc tấn công nhằm xâm nhập vào hệ thống của bạn).
- Sao chép lại tất cả các files mà kẻ xâm nhập để lại hay thay đổi (như những đoạn mã chương trình, log file, ...)
Liên hệ nhà chức trách để báo cáo về vụ tấn công.
Những bước bạn nên làm để giảm rủi ro và đối phó với sự tấn công trong tương lai :
Xây dựng và trao quyền cho nhóm đối phó với sự tấn công
Thi hành kiểm tra an ninh và đánh giá mức độ rủi ro của hệ thống
Cài đặt các phần mềm an toàn hệ thống phù hợp để giảm bớt rủi ro
Nâng cao khả năng của mình về an toàn máy tính
Các bước kiểm tra để giúp bạn bảo đảm tính hiệu quả của hệ thống an ninh
Kiểm tra hệ thống an ninh mới cài đặt : chắc chắn tính đúng đắn của chính sách an ninh hiện có và cấu hình chuẩn của hệ thống.
Kiểm tra tự động thường xuyên : để khám phá sự “viếng thăm” của những hacker hay những hành động sai trái của nhân viên trong công ty.
Kiểm tra ngẫu nhiên: để kiểm tra chính sách an ninh và những tiêu chuẩn, hoặc kiểm tra sự hiện hữu của những lỗ hổng đã được phát hiện (chẳng hạn những lỗi được thông báo từ nhà cung cấp phần mềm)
Kiểm tra hằng đêm những file quan trọng: để đánh giá sự toàn vẹn của những file và cơ sở dữ liệu quan trọng
Kiểm tra các tài khoản người dùng: để phát hiện các tài khoản không sử dụng, không tồn tại, ...
Kiểm tra định kỳ để xác định trạng thái hiện tại của hệ thống an ninh của bạn
QUOTE
BẠN CÓ THỂ XEM THÊM THÔNG TIN TẠI
Các trung tâm giúp đối phó tai nạn trên Internet
http://www.cert.org/
http://www.first.org/
http://ciac.llnl.gov/
http://www.cert.dfn.de/eng/csir/europe/certs.html
Một số website về an toàn máy tính
http://www.cs.purdue.edu/coast/
http://www.linuxsecurity.com/
http://www.securityportal.com/
http://www.tno.nl/instit/fel/intern/wkinfsec.html
http://www.icsa.net/
http://www.sans.org/
http://www.iss.com/
http://www.securityfocus.com/
Thông tin về an toàn từ nhà cung cấp
http://www.calderasystems.com/news/security/
http://www.debian.org/security/
http://www.redhat.com/cgi-bin/support/
Một số sách về an toàn máy tính
Actually Useful Internet Security Techniques by Larry J. Hughes Jr.
Applied Cryptography: Protocols, Algorithms and Source Code in C by Bruce Schneier
Building Internet Firewall by Brent Chapman & Elizabeth D. Zwicky
Cisco IOS Network Security by Mike Kaeo
Firewalls and Internet Security by Bill Cheswick & Steve Bellovin
Halting the Hacker: A practical Guide To Computer Security by Donal L. Pipkin
Intrusion Detection: An Introduction to Internet Surveillance, Correlation, Traps, Trace Back and Response by Edward G. Amoroso
Intrusion Detection: Network Security Beyond the Firewall by Terry Escamilla
Linux Security by Jonh S. Flowers
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 dần trở thành một đối thủ tiềm năng của hệ điều hành Microsoft Windows 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 đ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ị cũng cần phải nắm được một số kỹ năng nhất định. Trong bài viết này, chúng tôi xin giới thiệu một số kinh nghiệm nhằm nâng cao tính an toàn cho một hệ thống Linux (để dễ theo dõi cho bạn đọc, chúng tôi sẽ minh hoạ bằng RedHat, một phiên bản Linux rất phổ biến ở Việt Nam và trên thế giới).
1.1. Loại bỏ tất cả các account và nhóm đặc biệt
Ngay sau khi cài đặt Linux, người quản trị nên xoá bỏ tất cả các account và nhóm (group) đã được tạo sẵn trong hệ thống nhưng không có nhu cầu sử dụng, ví dụ như lp, sync, shutdown, halt, news, uucp, operator, games, gopher, v.v... (Tuy nhiên bạn đọc cần biết rõ những account và nhóm nào không cần cho hệ thống của mình rồi hãy xoá)
Thực hiện việc xoá bỏ account với lệnh :
QUOTE
# userdel
Ví dụ, nếu không có nhu cầu về in ấn trên hệ thống, có thể xoá account lp như sau:
QUOTE
# userdel lp
Tương tự như vậy, có thể thực hiện việc xoá bỏ các nhóm không cần thiết với lệnh
QUOTE
# groupdel
2.2. Che giấu file chứa mật khẩu
Từ lịch sử xa xưa của Unix và cả Linux, mật khẩu của toàn bộ các account đã từng được lưu ngay trong file /etc/password, file có quyền đọc bởi tất cả các account trong hệ thống! Đây là một kẽ hở lớn cho các kẻ phá hoại: Mặc dù các mật khẩu đều được mã hoá, nhưng việc giải mã ngược là có thể thực hiện được (và có thể thực hiện khá dễ dàng, đặc biệt vì cơ chế mã hoã mật khẩu không phải là khó phá và ngày nay khả năng tính toán và xử lý của máy tính rất mạnh). Vì lí do trên, gần đây các nhà phát triển Unix và Linux đã phải đặt riêng mật khẩu mã hoá vào một file mà chỉ có account root mới đọc được: file /etc/shadow. (Khi sử dụng phương pháp này, để đảm bảo tính tương thích, nơi vốn đặt mật khẩu trong file /etc/password người ta đánh dấu "x")
Nếu bạn đọc đang sử dụng các phiên bản RedHat gần đây (ví dụ RedHat 6.x hay 7.x) thì nhớ chọn lựa Enable the shadow password khi cài đặt RedHat để sử dụng tính năng che giấu mật khẩu này (Cũng thật may vì chọn lựa này là mặc định trong hầu hết các phiên bản Linux đang sử dụng rộng rãi hiện nay)
3.3. Tự động thoát khỏi shell
Người quản trị hệ thống rất hay quên thoát ra khỏi dấu nhắc shell khi kết thúc công việc. Bản thân tôi cũng đã từng nhiều lần khi đang thực hiện việc quản trị với account root thì bỏ đi vì một số công việc khác. Thật nguy hiểm nếu lúc đó có một kẻ phá hoại ở đó: Kẻ này có thể dễ dàng có quyền truy xuất hệ thống ở mức cao nhất mà chẳng cần tốn một chút công sức nào cả.
Để giảm nguy cơ này, người quản trị nên cài đặt tính năng tự động thoát ra khỏi shell khi không có sự truy xuất nào trong một khoảng thời gian định trước bằng cách đặt một tham số quy định khoảng thời gian hệ thống vẫn duy trì dấu nhắc shell.
Muốn cài đặt tham số này, người sử dụng biến môi trường TMOUT và gán cho nó một giá trị số thể hiện khoảng thời gian tính bằng giây hệ thống vẫn duy trì dấu nhắc. Để thực hiện điều này cho tất cả các account trong hệ thống, cách đơn giản nhất là đặt nó vào file /etc/profile dòng lệnh sau: (giả sử ta đặt khoảng thời gian là 600 giây)
TMOUT=600
Như vậy là nếu trong khoảng 10 phút người sử dụng không truy xuất shell, shell sẽ tự động thoát ra. Tuy nhiên cần chú ý: Mẹo này sẽ không "ổn" nếu lúc đó người dùng đang chạy một chương trình nào đó như vi hay mc,... Có nghĩa là người dùng phải đang làm việc trực tiếp với shell chứ không phải với bất kỳ một chương trình nào khác.
4.4. Loại bỏ các dịch vụ không sử dụng
Một điều khá nguy hiểm là sau khi cài đặt, hệ thống tự động bật chạy khá nhiều dịch vụ (và đa số là các dịch vụ không mong muốn), dẫn tới tốn tài nguyên và gây nên nhiều nguy cơ về bảo mật. Người quản trị nên loại bỏ ngay lập tức các dịch vụ không dùng tới ngay sau khi cài máy. Hoặc đơn giản bằng cách xoá bỏ các gói phần mềm/dịch vụ không sử dụng (qua công cụ quản trị gói phần mềm rpm của RedHat) hoặc sử dụng công cụ ntsysv để duyệt xem tất cả các dịch vụ đang cài đặt rồi vô hiệu hoá những dịch vụ không cần thiết (bằng cách bỏ đánh dấu các dịch vụ không sử dụng với phím Space). Sau khi thoát ra khỏi ntsysv thì khởi động lại máy: các dịch vụ không mong muốn sẽ không chạy nữa.
5.5. Không tiết lộ thông tin về hệ thống qua telnet
Dịch vụ cho phép truy xuất hệ thống từ xa telnet có khả nǎng tiết lộ thông tin về hệ thống, dễ tạo điều kiện cho những kẻ phá hoại tấn công dựa vào những điểm yếu đã biết. Điều này rất dễ nhận thấy: Mọi người dùng kết nối từ xa vào dịch vụ telnet đều nhận được thông tin về tên máy, phiên bản Linux và phiên bản của nhân (kernel) của máy chủ.
Để tránh điều này, ta cần thực hiện việc kích hoạt telnetd (telnet server) với tham số -h. Do các phiên bản RedHat 7.x khi chạy telnetd không còn sử dụng inetd nữa (mà sử dụng xinetd - một phiên bản nâng cấp và có nhiều cải tiến so với inetd) nên cách cấu hình lại telnetd sẽ khác nhau tuỳ theo phiên bản RedHat đang sử dụng.
+ Với các phiên bản RedHat 6.x và trước đó, thực hiện các bước sau:
Trong file /etc/inetd.conf, thay đổi dòng
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetdchuyển thành :
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
Tiếp theo, khởi động lại inetd bằng câu lệnh:
QUOTE
# /etc/rc.d/init.d/inetd restart
+ Với các phiên bản RedHat 7.x, thực hiện bước sau:
Trong file
QUOTE
/etc/xinetd.d/telnet
, thêm chọn lựa:
QUOTE
server_args = -h
File trên sẽ có dạng như sau;
QUOTE
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
server_args = -h
}
Tiếp theo, khởi động lại xinetd bằng câu lệnh:
QUOTE
# /etc/rc.d/init.d/xinetd restart
6.6. Tránh sử dụng các dịch vụ không mã hoá thông tin trên đường truyền
Mặc dù ở trên chúng tôi đã trình bày cách ngưng dịch vụ telnet tiết lộ thông tin, nhưng chúng tôi xin có lời khuyên: Tuyệt đối tránh sử dụng những dịch vụ kiểu như telnet, ftp (ngoại trừ ftp anonymous) vì những dịch vụ này hoàn toàn không hề mã hoá mật khẩu khi truyền qua mạng. Bất kỳ một kẻ phá hoại nào cũng có thể dễ dàng "tóm" được mật khẩu của bạn bằng những công cỠ