天天看點

LINUX調優方法總結

大多數 Linux 釋出版都定義了适當的緩沖區和其他 Transmission Control Protocol(TCP)參數。可以修改這些參數來配置設定更多的記憶體,進而改進網絡性能。設定核心參數的方法是通過 proc 接口,也就是通過讀寫 /proc 中的值。幸運的是,sysctl 可以讀取 /etc/sysctl.conf 中的值并根據需要填充/proc,這樣就能夠更輕松地管理這些參數。清單 2 展示在網際網路伺服器上應用Internet 伺服器的一些比較激進的網絡設定。

# Use TCP syncookies when needed

net.ipv4.tcp_syncookies = 1

# Enable TCP window scaling

net.ipv4.tcp_window_scaling: = 1

# Increase TCP max buffer size

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

# Increase Linux autotuning TCP buffer limits

net.ipv4.tcp_rmem = 4096 87380 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

# Increase number of ports available

net.ipv4.ip_local_port_range = 1024 65000

将這些設定添加到 /etc/sysctl.conf 的現有内容中。

第一個設定啟用 TCP SYN cookie。當從客戶機發來新的 TCP 連接配接時,資料包設定了 SYN 位,伺服器就為這個半開的連接配接建立一個條目,并用一個 SYN-ACK 資料包進行響應。在正常操作中,遠端客戶機用一個 ACK 資料包進行響應,這會使半開的連接配接轉換為全開的。有一種稱為 SYN 泛濫(SYN flood) 的網絡攻擊,它使 ACK 資料包無法傳回,導緻伺服器用光記憶體空間,無法處理到來的連接配接。SYNcookie 特性可以識别出這種情況,并使用一種優雅的方法保留隊列中的空間(細節參見 參考資料 一節)。大多數系統都預設啟用這個特性,但是確定配置這個特性更可靠。

啟用 TCP 視窗伸縮使客戶機能夠以更高的速度下載下傳資料。TCP 允許在未從遠端端收到确認的情況下發送多個資料包,預設設定是最多 64 KB,在與延遲比較大的遠端客戶機進行通信時這個設定可能不夠。視窗伸縮會在頭中啟用更多的位,進而增加視窗大小。

後面四個配置項增加 TCP 發送和接收緩沖區。這使應用程式可以更快地丢掉它的資料,進而為另一個請求服務。還可以強化遠端客戶機在伺服器繁忙時發送資料的能力。

最後一個配置項增加可用的本地端口數量,這樣就增加了可以同時服務的最大連接配接數量。

在下一次引導系統時,或者下一次運作 sysctl -p /etc/sysctl.conf 時,這些設定就會生效。

----------------------------------------------------------------------------------------------------------------------------

磁盤子系統的調優

磁盤在LAMP 架構中扮演着重要的角色。靜态檔案、模闆和代碼都來自磁盤,組成資料庫的資料表和索引也來自磁盤。對磁盤的許多調優(尤其是對于資料庫)集中于避免磁盤通路,因為磁盤通路的延遲相當高。是以,花一些時間對磁盤硬體進行優化是有意義的。

首先要做的是,確定在檔案系統上禁用 atime 日志記錄特性。atime 是最近通路檔案的時間,每當通路檔案時,底層檔案系統必須記錄這個時間戳。因為系統管理者很少使用 atime,禁用它可以減少磁盤通路時間。禁用這個特性的方法是,在 /etc/fstab 的第四列中添加 noatime 選項。

示範如何啟用 noatime 的 fstab 示例

/dev/VolGroup00/LogVol00 / ext3 defaults,noatime 1 1

LABEL=/boot /boot ext3 defaults,noatime 1 2

devpts /dev/pts devpts gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs defaults 0 0

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

LABEL=SWAP-hdb2 swap swap defaults 0 0

LABEL=SWAP-hda3 swap swap defaults 0 0

有多種磁盤硬體組合,而且 Linux 不一定能夠探測出通路磁盤的最佳方式。可以使用 hdparm 指令查明和設定用來通路 IDE 磁盤的方法。hdparm -t /path/to/device 執行速度測試,可以将這個測試結果作為性能基準。為了使結果盡可能準确,在運作這個指令時系統應該是空閑的。

在 /dev/hd 上執行的速度測試

# hdparm -t /dev/hda

/dev/hda:

Timing buffered disk reads: 182 MB in 3.02 seconds = 60.31 MB/sec

hdparm 的常用選項

選項 描述

-vi 向磁盤查詢它支援的設定以及它正在使用的設定。

-c 查詢/啟用 (E)IDE 32 位 I/O 支援。hdparm -c 1 /dev/hda 啟用這個設定。

-m 查詢/設定每中斷多扇區模式。如果設定大于零,設定值就是每個中斷可以傳輸的最大扇區數量。

-d 1 -X 啟用直接記憶體通路(DMA)傳輸并設定 IDE 傳輸模式。hdparm 手冊頁詳細說明了在 -X 後面可以設定的數字。隻有在 -vi 說明目前并未使用最

快速的模式的情況下,才需要進行這個設定。

不幸的是,對于 Fiber Channel and Small Computer Systems Interface(SCSI)系統,調優依賴于具體的驅動器。

必須将有幫助的設定添加到啟動腳本中,比如 rc.local。

TCP/IP子系統的調優

所有的TCP/IP調優參數都位于/proc/sys/net/目錄. 例如, 下面是最重要的一些調優參數, 後面是它們的含義:

1. /proc/sys/net/core/rmem_max — 最大的TCP資料接收緩沖

2. /proc/sys/net/core/wmem_max — 最大的TCP資料發送緩沖

3. /proc/sys/net/ipv4/tcp_timestamps — 時間戳在(請參考RFC 1323)TCP的標頭增加12個位元組

4. /proc/sys/net/ipv4/tcp_sack — 有選擇的應答

5. /proc/sys/net/ipv4/tcp_window_scaling — 支援更大的TCP視窗. 如果TCP視窗最大超過65535(64K), 必須設定該數值為1

6. rmem_default — 預設的接收視窗大小

7. rmem_max — 接收視窗的最大大小

8. wmem_default — 預設的發送視窗大小

9. wmem_max — 發送視窗的最大大小

/proc目錄下的所有内容都是臨時性的, 是以重新開機動系統後任何修改都會丢失.

建議在系統啟動時自動修改TCP/IP參數:

把下面代碼增加到/etc/rc.local檔案, 然後儲存檔案, 系統重新開機的時候會自動修改下面的TCP/IP參數:

echo 256960 > /proc/sys/net/core/rmem_default

echo 256960 > /proc/sys/net/core/rmem_max

echo 256960 > /proc/sys/net/core/wmem_default

echo 256960 > /proc/sys/net/core/wmem_max

echo 0 > /proc/sys/net/ipv4/tcp_timestamps

echo 1 > /proc/sys/net/ipv4/tcp_sack

echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

TCP/IP參數都是自解釋的, TCP視窗大小設定為256960, 禁止TCP的時間戳(取消在每個資料包的頭中增加12位元組), 支援更大的TCP視窗和TCP有選擇的

應答.

上面數值的設定是根據互連網連接配接和最大帶寬/延遲率來決定.

注: 上面執行個體中的數值可以實際應用, 但它隻包含了一部分參數.

另外一個方法: 使用 /etc/sysctl.conf 在系統啟動時将參數配置成您所設定的值:

net.core.rmem_default = 256960

net.core.rmem_max = 256960

net.core.wmem_default = 256960

net.core.wmem_max = 256960

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_sack =1

net.ipv4.tcp_window_scaling = 1

檔案子系統的調優

ulimit -a 用來顯示目前的各種使用者程序限制。

Linux對于每個使用者,系統限制其最大程序數。為提高性能,可以根據裝置資源情況,

設定各linux 使用者的最大程序數,下面我把某linux使用者的最大程序數設為10000個:

ulimit -u 10000

對于需要做許多 socket 連接配接并使它們處于打開狀态的 Java 應用程式而言,

最好通過使用 ulimit -n xx 修改每個程序可打開的檔案數,預設值是 1024。

ulimit -n 4096 将每個程序可以打開的檔案數目加大到4096,預設為1024

其他建議設定成無限制(unlimited)的一些重要設定是:

資料段長度:ulimit -d unlimited

最大記憶體大小:ulimit -m unlimited

堆棧大小:ulimit -s unlimited

CPU 時間:ulimit -t unlimited

虛拟記憶體:ulimit -v unlimited

暫時地,适用于通過 ulimit 指令登入 shell 會話期間。

永久地,通過将一個相應的 ulimit 語句添加到由登入 shell 讀取的檔案中, 即特定于 shell 的使用者資源檔案,如:

1)、解除 Linux 系統的最大程序數和最大檔案打開數限制:

vi /etc/security/limits.conf

# 添加如下的行

* soft noproc 11000

* hard noproc 11000

* soft nofile 4100

* hard nofile 4100

說明:* 代表針對所有使用者

noproc 是代表最大程序數

nofile 是代表最大檔案打開數

2)、讓 SSH 接受 Login 程式的登入,友善在 ssh 用戶端檢視 ulimit -a 資源限制:

a、vi /etc/ssh/sshd_config

把 UserLogin 的值改為 yes,并把 # 注釋去掉

b、重新開機 sshd 服務:

/etc/init.d/sshd restart

3)、修改所有 linux 使用者的環境變量檔案:

vi /etc/profile

ulimit -n 4096

ulimit -d unlimited

ulimit -m unlimited

ulimit -s unlimited

ulimit -t unlimited

ulimit -v unlimited

/**************************************

有時候在程式裡面需要打開多個檔案,進行分析,系統一般預設數量是1024,(用ulimit -a可以看到)對于正常使用是夠了,但是對于程式來講,就太少

了。

修改2個檔案。

1./etc/security/limits.conf

加上:

* soft nofile 8192

* hard nofile 20480

2./etc/pam.d/login

session required /lib/security/pam_limits.so

**********

另外確定/etc/pam.d/system-auth檔案有下面内容

session required /lib/security/$ISA/pam_limits.so

這一行確定系統會執行這個限制。

***********

3.一般使用者的.bash_profile

#ulimit -n 1024

重新登陸ok

記憶體子系統的調優

記憶體子系統的調優不是很容易,需要不停地監測來保證記憶體的改變不會對伺服器的其他子系統造成負面影響。如果要改變虛拟記憶體參數

(在/proc/sys/vm),建議您每次隻改變一個參數然後監測效果。對與虛拟記憶體的調整包括以下幾個項目:

配置Linux核心如何更新dirty buffers到磁盤。磁盤緩沖區用于暫存磁盤的資料。相對于記憶體來講,磁盤緩沖區的速度很慢。是以,如果伺服器使用

這類記憶體,性能會成問題。當緩沖區内的資料完全dirty,使用:sysctl -w vm.bdflush="30 500 0 0 500 3000 60 20 0"

vm.bdflush有9個參數,但是建議您隻改變其中的3個:

1 nfract, 為排隊寫入磁盤前,bdflush daemon允許的緩沖區最大百分比

2 ndirty, 為bdflush即刻寫的最大緩沖區的值。如果這個值很大,bdflush需要更多的時間完成磁盤的資料更新。

7 nfract_sync, 發生同步前,緩沖區變dirty的最大百分比

配置kswapd daemon,指定Linux的記憶體頁數量

sysctl -w vm.kswapd="1024 32 64"

三個參數的描述如下:

– tries_base 相當于核心每次所的“頁”的數量的四倍。對于有很多交換資訊的系統,增加這個值可以改進性能。

– tries_min 是每次kswapd swaps出去的pages的最小數量。

– swap_cluster 是kswapd 即刻寫如的pages數量。數值小,會提高磁盤I/O的性能;數值大可能也會對請求隊列産生負面影響。

如果要對這些參數進行改動,請使用工具vmstat檢查對性能的影響。其它可以改進性能的虛拟記憶體參數為:

_ buffermem

_ freepages

_ overcommit_memory

_ page-cluster

_ pagecache

_ pagetable_cache

網絡子系統的調優

作業系統安裝完畢,就要對網絡子系統進行調優。對其它子系統的影響:影響CPU使用率,尤其在有大量TCP連接配接、塊尺寸又非常小時,記憶體的使用會

明顯增加。

如何預防性能下降

如下的sysctl指令用于改變安全設定,但是它也可以防止網絡性能的下降。這些指令被設定為預設值。

◆關閉如下參數可以防止黑客對伺服器IP位址的攻擊

sysctl -w net.ipv4.conf.eth0.accept_source_route=0

sysctl -w net.ipv4.conf.lo.accept_source_route=0

sysctl -w net.ipv4.conf.default.accept_source_route=0

sysctl -w net.ipv4.conf.all.accept_source_route=0

◆開啟TCP SYN cookies,保護伺服器避免受syn-flood攻擊,包括服務取決denial-of-service (DoS) 或者分布式服務拒絕distributed denial-of-

service (DDoS) (僅适用Red Hat Enterprise Linux AS)

sysctl -w net.ipv4.tcp_syncookies=1

◆以下指令使伺服器忽略來自被列入網關的伺服器的重定向。因重定向可以被用來進行攻擊,是以我們隻接受有可靠來源的重定向。

sysctl -w net.ipv4.conf.eth0.secure_redirects=1

sysctl -w net.ipv4.conf.lo.secure_redirects=1

sysctl -w net.ipv4.conf.default.secure_redirects=1

sysctl -w net.ipv4.conf.all.secure_redirects=1

另外,你可以配置接受或拒絕任何ICMP重定向。ICMP重定向是器傳輸資訊的機制。比如,當網關接收到來自所接網絡主機的Internet資料報時,網關可以

發送重定向資訊到一台主機。網關檢查路由表獲得下一個網關的位址,第二個網關将資料報路由到目标網絡.關閉這些重定向得指令如下:

sysctl -w net.ipv4.conf.eth0.accept_redirects=0

sysctl -w net.ipv4.conf.lo.accept_redirects=0

sysctl -w net.ipv4.conf.default.accept_redirects=0

sysctl -w net.ipv4.conf.all.accept_redirects=0

◆如果這個伺服器不是一台路由器,那麼它不會發送重定向,是以可以關閉該功能:

sysctl -w net.ipv4.conf.eth0.send_redirects=0

sysctl -w net.ipv4.conf.lo.send_redirects=0

sysctl -w net.ipv4.conf.default.send_redirects=0

sysctl -w net.ipv4.conf.all.send_redirects=0

◆配置伺服器拒絕接受廣播風暴或者smurf 攻擊attacks:

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

◆忽略所有icmp包或者pings:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

◆有些路由器針對廣播祯發送無效的回應,每個都産生警告并在核心産生日志.這些回應可以被忽略:

sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1

針對TCP和UDP的調優

下邊的指令用來對連接配接數量非常大的伺服器進行調優.

◆對于同時支援很多連接配接的伺服器,新的連接配接可以重新使用TIME-WAIT套接字. 這對于Web伺服器非常有效:

sysctl -w net.ipv4.tcp_tw_reuse=1

如果你使用該指令,還要啟動TIME-WAIT 套接字狀态的快速循環功能:

sysctl -w net.ipv4.tcp_tw_recycle=1

圖Figure 10-7顯示出将這些功能啟用,連接配接數量明顯降低.因為每個TCP傳輸都包含遠端用戶端的資訊緩存,是以有利于提高性能.緩存中存放round-trip時

間、最大segment大小、擁塞視窗的資訊。

◆參數tcp_fin_timeout 是套接字關閉時,保持FIN-WAIT-2狀态的時間。一個TCP連接配接以three-segment SYN序列開始, 以three-segment FIN序列結束.均

不保留資料.通過改變tcp_fin_timeout的值, 從FIN序列到記憶體可以空閑出來處理新連接配接的時間縮短了,使性能得到改進.改變這個值的前要經過認真的監測

,避免因為死套接字造成記憶體溢出.

sysctl -w net.ipv4.tcp_fin_timeout=30

◆伺服器的一個問題是,同一時刻的大量TCP連接配接裡有很多的連接配接被打開但是沒有使用. TCP的keepalive功能檢測到這些連接配接,預設情況下,在2小時之後丢掉

. 2個小時的可能導緻記憶體過度使用,降低性能.是以改成1800秒(30分鐘)是個更好的選擇:

sysctl -w net.ipv4.tcp_keepalive_time=1800

◆對于所有的隊列,設定最大系統發送緩存(wmem) 和接收緩存(rmem)到8MB

sysctl -w net.ipv4.core.wmem_max=8388608

sysctl -w net.ipv4.core.rmem_max=8388608

這些設定指定了建立TCP套接字時為其配置設定的記憶體容量. 另外,使用如下指令發送和接收緩存.該指令設定了三個值:最小值、初始值和最大值:

sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608"

sysclt -w net.ipv4.tcp.wmem="4096 87380 8388608"

第三個值必須小于或等于wmem_max和rmem_max。

◆(SUSE LINUX Enterprise Server适用) 通過保留路徑驗證來源資料包。預設情況下,路由器轉發所有的資料包,即便是明顯的異常網絡流量。通過

啟動和是的過濾功能,丢掉這些資料包:

sysctl -w net.ipv4.conf.eth0.rp_filter=1

sysctl -w net.ipv4.conf.lo.rp_filter=1

sysctl -w net.ipv4.conf.default.rp_filter=1

sysctl -w net.ipv4.conf.all.rp_filter=1

◆當伺服器負載繁重或者是有很多用戶端都是超長延時的連接配接故障,可能會導緻half-open連接配接數量的增加。這對于Web伺服器很來講很平常,尤其有很多撥

号客戶時.這些half-open連接配接儲存在 backlog connections 隊列中.将這個值最少設定為4096 (預設為1024). 即便是伺服器不接收這類連接配接,設定這個值

還能防止受到denial-of-service (syn-flood)的攻擊.

sysctl -w net.ipv4.tcp_max_syn_backlog=4096

◆設定ipfrag參數,尤其是NFS和Samba伺服器。這裡,我們可以設定用于重新組合IP碎片的最大、最小記憶體。當ipfrag_high_thresh值被指派,碎片會被丢

棄直到達到ipfrag_low_thres值。

當TCP資料包傳輸發生錯誤時,開始碎片整理。有效的資料包保留在記憶體,同時損壞的資料包被轉發。例如,設定可用記憶體範圍從256 MB到384 MB

sysctl -w net.ipv4.ipfrag_low_thresh=262144

sysctl -w net.ipv4.ipfrag_high_thresh=393216

網絡安全設定:

TCP SYN Flood 攻擊

TCP SYN Flood是一種常見,而且有效的遠端(遠程)拒絕服務(Denial of Service)攻擊方式,它透過一定的操作破壞TCP三向交握建立正常連接,佔用並耗

費系統資源,使得提供TCP服務的主機系統無法正常工作。 由於TCP SYN Flood是透過網路底層對服務器Server進行攻擊的,它可以在任意改變自己的網路

IP位址的同時,不被網路上的其他設備所識別,這樣就給防範網路犯罪部門追查犯罪來源造成很大的困難。

系統檢查

一般情況下,可以一些簡單步驟進行檢查,來判斷系統是否正在遭受TCP SYN Flood攻擊。

1、 服務端無法提供正常的TCP服務。連接請求被拒絕或超時。

2、透過 netstat -an 指令檢查系統,發現有大量的SYN_RECV連接狀態。

3. iptables的設定,引用自CU

防止同步包洪水(Sync Flood)

# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

也有人寫作

#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

--limit 1/s 限制syn并發數每秒1次,可以根據自己的需要修改

防止各種端口掃描

# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Ping洪水攻擊(Ping of Death)

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

暫定步驟:

修改/etc/profile檔案,加入:

ulimit -u 10240

修改/etc/rc.d/rc.local,加入:

echo ‘131072′ > /proc/sys/fs/file-max

echo ‘131072′ > /proc/sys/fs/inode-max

(1G記憶體值修改成:65535 2G記憶體值修改成:131072 4G記憶體值修改成:262144)

修改/etc/sysctl.conf檔案,加入:

net.core.rmem_default = 8388608

net.core.rmem_max = 8388608

net.core.wmem_default = 8388608

net.core.wmem_max = 8388608

net.core.netdev_max_backlog=3000

#Modify i-node

sys.fs.file-max= 65535

sys.fs.inode-max= 65535

#Set System Memory

vm.bdflush="30 500 0 0 500 3000 60 20 0"

vm.kswapd="1024 32 64"

#Disable HackAttack!

net.ipv4.conf.eth0.accept_source_route=0

net.ipv4.conf.lo.accept_source_route=0

net.ipv4.conf.default.accept_source_route=0

net.ipv4.conf.all.accept_source_route=0

net.ipv4.conf.lo.accept_redirects=0

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.eth0.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0

net.ipv4.conf.lo.secure_redirects=0

net.ipv4.conf.all.secure_redirects=0

net.ipv4.conf.eth0.secure_redirects=0

net.ipv4.conf.default.secure_redirects=0

net.ipv4.conf.eth0.send_redirects=0

net.ipv4.conf.lo.send_redirects=0

net.ipv4.conf.default.send_redirects=0

net.ipv4.conf.all.send_redirects=0

net.ipv4.tcp_syncookies=1

net.ipv4.icmp_echo_ignore_broadcasts=1

net.ipv4.icmp_ignore_bogus_error_responses=1

#Web Servers

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_tw_recycle=1

net.ipv4.tcp_fin_timeout=30

net.ipv4.tcp_keepalive_time=1800

net.ipv4.core.wmem_max=16777216

net.ipv4.core.rmem_max=16777216

net.ipv4.tcp_rmem="4096 87380 8388608"

net.ipv4.tcp.wmem="4096 87380 8388608"

net.ipv4.tcp_max_syn_backlog=8192

防火牆安全:

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

備注說明:(相對比較激進的網絡參數調整)

net.ipv4.tcp_rmem = 4096 87380 8388608

net.ipv4.tcp_wmem = 4096 65536 8388608

LINUX安全設定步驟:

删除所有那些不能在你系統上使用的預設使用者群組賬戶: lp,sync,shutdown,halt, news, uucp, operator, games, gopher

ROOT自動從shell登出

編輯你的配置檔案”vi /etc/profile”,在某個地方加入如下行,

“HISTFILESIZE=”

TMOUT=3600

我們為變量”TMOUT=”輸入的這個值使用秒表示的、代表一個小時(60*60=3600秒)。如果你将此行加入你的 “/etc/profile” 檔案,那麼在一小時的

非活動狀态之後将要系統裡的所有使用者自動登出。你可以在使用者私人的”.bashrc”檔案裡面

設定這個變量,可以在一個确定的時間以後自動登出他們。

禁止并且解除安裝所有沒有用的服務

你必須禁止别切解除安裝所有你不用的的服務,那樣的話,你就能少擔心一些。看看你的”/etc/inetd.conf”檔案, 用注釋的方法禁用(在一行的開始加個#

),然後給inetd程序發送一個SIGHUP指令去更新到目前的”inetd.conf”檔案。這樣做:

第一步把”/etc/inetd.conf”更改許可權限成600,那樣的話,就隻有root可以讀和寫。

[Root@kapil /]# chmod 600 /etc/inetd.conf

第二步確定”/etc/inetd.conf”的所有者是root。

第三步編輯inetd.conf檔案(vi /etc/inetd.conf),并且禁止一些服務,就像:ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop

-3, finger, auth等等,除非你打算用它。關閉這些服務就降低一些風險。

第四步給你的inetd程序發送一個HUP信号[root@kapil /]# killall -HUP inetd

第五步設定”/etc/inetd.conf”檔案為不可更改,使用 chattr 指令,這樣的話,沒人能修改那個檔案。*簡單的設定檔案為不可更改,執行如下指令:

[root@kapil /]# chattr +i /etc/inetd.conf

這将防止對”inetd.conf”檔案的任何更改(意外的更改或者其他更改)。隻有超級使用者root能設定或者清除這個檔案屬性。修改inetd.conf *簡單的取

http://blog.yunvi.com/html/540.html

繼續閱讀