Hướng dẫn tắt service không cần thiết trên Linux System
Khi cài đặt hệ điều hành Linux, có rất nhiều package và ứng dụng được cài đặt tự động mà người dùng không hề hay biết. Bài viết sẽ hướng dẫn tắt service không cần thiết trên Linux System, giúp server hoạt động nhanh và hiệu quả hơn. Khi xây dựng một máy chủ, chúng ta cần tự đặt vấn đề về việc ...
Khi cài đặt hệ điều hành Linux, có rất nhiều package và ứng dụng được cài đặt tự động mà người dùng không hề hay biết. Bài viết sẽ hướng dẫn tắt service không cần thiết trên Linux System, giúp server hoạt động nhanh và hiệu quả hơn.
Khi xây dựng một máy chủ, chúng ta cần tự đặt vấn đề về việc chúng ta cần gì từ nó. Bạn cần Web Server, một FTP Server, một DNS Server hay một Database Server … ? Bài viết sẽ đề xuất một số ứng dụng và service khong cần thiết nhưng được cài mặc định cài từ động và chiếm tài nguyên hệ thống.
Để biết được những service nào đang chạy trên hệ thống ta dùng lệnh sau:
[securitydaily@vnist]# ps ax
Kết quả minh họa
PID TTY STAT TIME COMMAND 2 ? S 0:00 [kthreadd] 3 ? S 0:00 \_ [migration/0] 4 ? S 0:09 \_ [ksoftirqd/0] 5 ? S 0:00 \_ [migration/0] 6 ? S 0:24 \_ [watchdog/0] 7 ? S 2:20 \_ [events/0] 8 ? S 0:00 \_ [cgroup] 9 ? S 0:00 \_ [khelper] 10 ? S 0:00 \_ [netns] 11 ? S 0:00 \_ [async/mgr] 12 ? S 0:00 \_ [pm] 13 ? S 0:16 \_ [sync_supers] 14 ? S 0:15 \_ [bdi-default] 15 ? S 0:00 \_ [kintegrityd/0] 16 ? S 0:49 \_ [kblockd/0] 17 ? S 0:00 \_ [kacpid] 18 ? S 0:00 \_ [kacpi_notify] 19 ? S 0:00 \_ [kacpi_hotplug] 20 ? S 0:00 \_ [ata_aux] 21 ? S 58:46 \_ [ata_sff/0] 22 ? S 0:00 \_ [ksuspend_usbd] 23 ? S 0:00 \_ [khubd] 24 ? S 0:00 \_ [kseriod] .....
Xem những cổng kết nối mà tiến trình chấp nhận thông qua lệnh :
[securitydaily@vnist]# netstat -lp
Kết quả minh họa:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:31138 *:* LISTEN 1485/rpc.statd tcp 0 0 *:mysql *:* LISTEN 1882/mysqld tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind tcp 0 0 *:ndmp *:* LISTEN 2375/perl tcp 0 0 *:webcache *:* LISTEN 2312/monitorix-http tcp 0 0 *:ftp *:* LISTEN 2174/vsftpd tcp 0 0 *:ssh *:* LISTEN 1623/sshd tcp 0 0 localhost:ipp *:* LISTEN 1511/cupsd tcp 0 0 localhost:smtp *:* LISTEN 2189/sendmail tcp 0 0 *:cbt *:* LISTEN 2243/java tcp 0 0 *:websm *:* LISTEN 2243/java tcp 0 0 *:nrpe *:* LISTEN 1631/xinetd tcp 0 0 *:xmltec-xmlmail *:* LISTEN 2243/java tcp 0 0 *:xmpp-client *:* LISTEN 2243/java tcp 0 0 *:hpvirtgrp *:* LISTEN 2243/java tcp 0 0 *:5229 *:* LISTEN 2243/java tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind tcp 0 0 *:http *:* LISTEN 6439/httpd tcp 0 0 *:oracleas-https *:* LISTEN 2243/java ....
Ở màn hình kết quả trên, ta sẽ nhận thấy một vài ứng dụng khồn cần thiết bao gồm:
- smbd và nmbd
smbd và mnbd là tiến trình của Samba Process, dùng để chia sẻ file giữa các nền tảng khác nhau như Windows và Linux bằng cách sử dụng giao thức SMB/CIFS. - Telnet
TELNET (viết tắt của TErminaL NETwork) là một giao thức mạng (network protocol) được dùng trên các kết nối với Internet hoặc các kết nối tại mạng máy tính cục bộ LAN. - rlogin
Đăng nhập từ xa vào một host khác trong mạng - rexec
Remote Process Execution hay còn lại là rexec cho phép bạn thực thi shell command trên một máy tính từ xa. - FTP
FTP là chữ viết tắt của File Transfer Protocol (Giao thức chuyển nhượng tập tin), đây là một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa máy tính của bạn với host và ngược lại. - automount
Tự động mount file hệ thống - named
NameServer (DNS) - Lpd
Tiền trình máy in - Inetd
Tiến trình cung cấp dịch vụ Internet cho máy chủ. Nếu đang sử dụng những ứng dụng độc lập như SSH cùng MySql, Apache,.. thì không cần thiết sử dụng inetd - portmap
Portmap là một Open Network Computing Remote Procedure Call (ONC RPC) có hai tiến trình rpc.portmap và rpcbind.
Cách vô hiệu hóa service trên Linux
Trong các bản phân phối Red Hat như Fedora và CentOS, sử dụng script ‘chkconfig’ để bật và tắt services trên Linux.
Ví dụ để tắt Apache Web Server không cho khởi động cùng hệ thống
[securitydaily@vnist]# chkconfig httpd off [securitydaily@vnist]# chkconfig httpd --del
Trong các bản phân phối Debian như Ubuntu, Linux, Mint …, sử dụng script update-rc.d
[securitydaily@vnist]# update-rc.d -f apache2 remove
Sau khi thay thực hiện thay đổi, ở lần tiếp theo hệ thống khởi động sẽ không còn những tiến trình không cần thiết, giúp tiết kiệm tài nguyên cũng như giúp máy chủ hoạt động nhanh, an toàn và bảo mật hơn.
tecmint