麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Unix > 正文

Unix高級安全設置第三部分-LINUX系列

2019-09-08 23:19:58
字體:
來源:轉載
供稿:網友

三、常見Unix安全設置方案-2.Linux系列

3.2 Linux 系列
3.2.1物理安全
3.2.1.1 BIOS安全,設定引導口令
禁止從軟盤啟動,并且給BIOS加上密碼。每次啟動的時候都手工檢查一下BIOS,這樣可以提高系統的安全性。禁止從軟盤啟動,可以阻止別人用特殊的軟盤啟動你的計算機;給BIOS加上密碼,可以防止有人改變BIOS的參數,比如:允許從軟盤啟動或不用輸入口令就可以引導計算機。

3.2.1.2 安全策略
有一點很重要而且必須指出的是:如果你不知道要保護什么,那么更本沒有辦法保證系統的安全。所以必須要有一個安全策略,基于這樣的一個策略才可以決定哪些東西允許別人訪問,哪些不允許。如何制定一個安全策略完全依賴于你對于安全的定義。下面的這些問題提供一些一般性的指導方針:

1)如何定義保密的和敏感的信息?
2)重點防范
3)遠程用戶有必要訪問你的系統嗎?
4)系統中有保密的或敏感的信息嗎?
5)如果這些信息被泄露給你的競爭者和外面的人有什么后果?
6)口令和加密能夠提供足夠的保護嗎?
7)你想訪問Internet嗎?
8)你允許系統在Internet上有多大的訪問量?
8) 如果發現系統被黑客入侵了,下一步該怎么做?

這個列表很短,真正的安全策略可能包含比這多得多的內容。可能你要做的第一件是:評估一下自己的偏執程度。任何一個安全策略多少都有一定程度的“偏執”:確定到底在多大程度上相信別人,包括內部的人和外部的人。安全策略必須在允許用戶合理地使用可以完成工作所必須的信息和完全禁止用戶使用信息之間找到平衡點。這個平衡點就是由系統策略決定的。

3.2.1.3 口令
這章的Linux安全概要就從口令的安全開始講起。許多人都把所有的東西保存在計算機上,防止別人查看這些信息的方法就是用口令把計算機保護起來。沒有什么東西是絕對安全的。與常識相反的是:無法破解的口令是不存在的。只要給足時間和資源,所有的口令都能用社會工程(譯者注:原文是social engineering,找不出更好的翻譯,大致的意思是用社會和心理學的知識,而不是用純粹的技術手段)或強行計算的方法猜出來。

通過社會工程或其它方法獲得服務器的口令是最簡單和最流行的入侵服務器的方法。決大多數的技術支持人員很容易獲得其他用戶的口令,因為用戶的安全意識很差而且很輕易就相信自己的同事,特別是幫助自己解決問題的人。有很多登記在案的成功入侵就是因為一些別有用心的人利用安全管理上的松懈而獲得成功的。有時候,在特定的時間在特定的地點,上級或老板對員工喊話就有可能泄露機密,導致可怕的后果。

因為破解口令是一項很耗時間和資源的工作,所以應該使得口令文件難于破解,這樣即使黑客獲取了口令文件也不能輕易破解。作為一個系統管理員,自己在每個周末運行一下口令破解程序,是保證系統安全的好方法。這有利于盡早地發現和替換那些很容易被猜出來的口令。而且,還要有一個好的口令檢查機制,在用戶選擇新口令或改變舊口令的時候,來排除那些有安全隱患的口令。那些字典里的單詞、或者全是大寫或全是小寫的以及沒有包含數字或特殊字符的字符串是不能用來做口令的。我建議用下面的規則選擇有效的口令:

口令至少要有6個字符,最好包含一個以上的數字或特殊字符。
口令不能太簡單,所謂的簡單就是很容易猜出來,也就是用自己的名字,電話號碼、生日、職業或者其它個人信息作為口令。
口令必須是有有效期的,在一段時間之后就要更換口令。
口令在這種情況下必須作廢或者重新設定:如果發現有人試圖猜測你的口令,而且已經試過很多次了。

安裝完Linux系統之后默認的最小口令長度為5。這就是說一個新的用戶可以訪問服務器,那么他的口令必須多于5字符。但是這樣是不夠安全的,最好口令的長度能夠大于8。可以強制用戶使用8個字符以上的口令。編輯“/etc/login.defs”文件,把最小口令長度由5改成8。

找到PASS_MIN_LEN 5 這一行,改為:PASS_MIN_LEN 8 。“login.defs”是很重要的配置文件。可以在這個文件中設定一些其它的安全策略,比如:口令的有效期。

3.2.1.4 root帳號
“root”帳號是Unix系統中享有特權的帳號。“root”帳號是不受任何限制和制約的。因為系統認為root知道自己在做些什么,而且會按root說的做,不問任何問題。因此,可能會因為敲錯了一個命令,導致重要的系統文件被刪除。用root帳號的時候,要非常非常小心。因為安全原因,在不是絕對必要的情況下,不要用root帳號登錄。特別要注意的是:不在自己的服務器上的時候,千萬不要在別的計算機上用“root”登錄自己的服務器。這是非常非常
非常糟糕的一件事。

3.2.1.5 加密
加密時要用到密匙,密匙是一個特殊的數字,把密匙和需要加密的信息經過加密算法加密之后,只有知道密匙的人才能把信息讀出來。如果所有的計算機主機都在你的控制下,加密當然是一個好方法,但是,如果其中一臺“被信任的”主機被黑客控制了,你馬上就有危險了。這就不僅僅是用戶的帳號和口令有危險了。在通常情況下,加密是用來保證機密信息在系統中傳送的安全。如果一臺計算機被控制了,那么這些加密信息就會讓人知道或是泄密了。

有一個好的安全策略,這種危險的可能性會降到最低,但是如果某臺主機的密匙被泄露出去,那么危險始終存在。

3.2.2 安全配置

3.2.2.1 “/etc/exports”文件
如果通過NFS把文件共享出來,那么一定要配置“/etc/exports”文件,使得訪問限制盡可能的嚴。這就是說,不要用通配符,不允許對根目錄有寫權限,而且盡可能只給只讀權限。編輯exports文件(vi /etc/exports)加入。例如:

/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)

“/dir/to/export”是你想共享出來的目錄,host.mydomain.com是允許訪問這個目錄的計算機。代表只讀,代表不允許對根目錄進行寫操作。使這些改變生效,你還要運行“/usr/sbin/exportfs -a”命令。

注意:在服務器上裝NFS服務是會有安全隱患的,就我個人而言,不建議你使用NFS。

3.2.2.2 “/etc/inetd.conf”文件
Inetd,也叫作“超級服務器”,根據網絡請求裝入網絡程序。“inetd.conf”文件告訴inetd監聽哪些網絡端口,為每個端口啟動哪個服務。把Linux系統放在任何的網絡環境中,第一件要做的事就是了解一下服務器到底要提供哪些服務。不需要的那些服務應該被禁止掉,最好卸載掉,這樣黑客就少了一些攻擊系統的機會。查看“/etc/inetd.conf”文件,了解一下inetd提供哪些服務。用加上注釋的方法(在一行的開頭加上#號),禁止任何不需要的服務,再給inetd進程發一個SIGHUP信號。

第一步:把文件的許可權限改成600。

[root@cnns]# chmod 600 /etc/inetd.conf

第二步:確信文件的所有者是root。

[root@cnns]# stat /etc/inetd.conf

這個命令顯示出來的信息應該是:

File: /"/etc/inetd.conf/"
Size: 2869 Filetype: Regular File
Mode: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Device: 8,6 Inode: 18219 Links: 1
Access: Wed Sep 22 16:24:16 1999(00000.00:10:44)
Modify: Mon Sep 20 10:22:44 1999(00002.06:12:16)
Change: Mon Sep 20 10:22:44 1999(00002.06:12:16)

第三步:編輯“inetd.conf”文件(vi /etc/inetd.conf),禁止所有不需要的服務,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、auth,等等。如果你覺得某些服務有用,可以不禁止這些服務。但是,把這些服務禁止掉,系統受攻擊的可能性就會小很多。改變后的“inetd.conf”文件的內容如下面所示:

# To re-read this file after changes, just do a /'killall -HUP inetd/'
#
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
#time stream tcp nowait root internal
#time dgram udp wait root internal
#
# These are standard services.
#
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#
# Shell, login, exec, comsat and talk are BSD protocols.
#
#shell stream tcp nowait root /usr/sbin/tcpd in.rshd
#login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd in.rexecd
#comsat dgram udp wait root /usr/sbin/tcpd in.comsat
#talk dgram udp wait root /usr/sbin/tcpd in.talkd
#ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd
#dtalk stream tcp wait nobody /usr/sbin/tcpd in.dtalkd
#
# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
#imap stream tcp nowait root /usr/sbin/tcpd imapd
#
# The Internet UUCP service.
#
#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as /"boot servers./" Do not uncomment
# this unless you *need* it.
#
#tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
#bootps dgram udp wait root /usr/sbin/tcpd bootpd
#
# Finger, systat and netstat give out user information which may be
# valuable to potential /"system crackers./" Many sites choose to disable
# some or all of these services to improve security.
#
#finger stream tcp nowait root /usr/sbin/tcpd in.fingerd
#cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd
#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet
#
# Authentication
#
#auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -l -e -o
#
# End of inetd.conf

注意:改變了“inetd.conf”文件之后,別忘了給inetd進程發一個SIGHUP信號(killall -HUP inetd)。

[root@cnns /root]# killall -HUP inetd

第四步: 為了保證“inetd.conf”文件的安全,可以用chattr命令把它設成不可改變。把文件設成不可改變的只要用下面的命令:

[root@cnns]# chattr +i /etc/inetd.conf
這樣可以避免“inetd.conf”文件的任何改變(意外或是別的原因)。一個有“i”屬性的文件是不能被改動的:不能刪除或重命名,不能創建這個文件的連接,不能往這個文件里寫數據。只有系統管理員才能設置和清除這個屬性。如果要改變inetd.conf文件,你必須先清除這個不允許改變的標志:

[root@cnns]# chattr -i /etc/inetd.conf

3.2.2.3 TCP_WRAPPERS
在默認情況下,RedHat Linux允許所有的服務請求。用TCP_WRAPPERS來保護服務器的安全,使其免受外部的攻擊,比想象的要簡單和輕松得多。在“/etc/hosts.deny”文件中加入“ALL: ALL@ALL, PARANOID”以禁止所有計算機訪問你的服務器,然后在“/etc/hosts.allow” 文件中一個一個加入允許訪問你的服務器的計算機。這種作法是最安全的。

TCP_WRAPPERS是由兩個文件控制的,依次是:“/etc/hosts.allow”和“/etc/hosts.deny” 。判斷是依次進行的,具體的規則如下:

如果在在/etc/hosts.allow文件中有匹配的項(daemon, client),那么允許訪問;否則,查看/etc/hosts.deny,如果找到匹配的項,那么訪問被禁止;否則,訪問被允許。

第一步:編輯hosts.deny文件(vi /etc/hosts.deny)加入下面這些行:

Access is denied by default.
# Deny access to everyone.
ALL: ALL@ALL, PARANOID #Matches any host whose name does not match its address, see bellow.

這樣做的意思是:所有的服務、訪問位置,如果沒有被明確地允許,也就是在“/etc/hosts.allow”中找不到匹配的項,就是被禁止的。

注意:加上“PARANOID”參數之后,如果要在服務器上使用telnet或ftp服務,就要在服務器的“/etc/hosts”文件中加入允許使用telnet和ftp服務的客戶端計算機的名字和IP地址。否則,在顯示登錄提示之前,因為DNS的域名解析,可能要等上幾分鐘時間。

第二步:編輯“hosts.allow”文件(vi /etc/hosts.allow)。例如,可以加入下面這些行(被授權訪問的計算機要被明確地列出來):

sshd: 208.164.186.1 gate.openarch.com

被授權訪問的計算機的IP地址是:208.164.186.1,主機名是:gate.openarch.com,允許使用的服務是:sshd。

第三步:tcpdchk是檢查TCP_WAPPERS配置的程序。它檢查TCP_WAPPERS的配置,并報告它可以發現的問題或潛在的問題。在所有的配置都完成了之后,請運行tcpdchk程序:[root@cnns]# tcpdchk

3.2.2.4 “/etc/aliases”文件
Aliases文件如果管理錯誤或管理得太粗心了就會造成安全隱患。例如:很多的軟件產商都把“decode”這個別名放在aliases文件里。這樣做的目的是為了方便通過email傳送二進制文件。在發送郵件的時候,用戶把二進制文件用“uuencode”轉成ASCII文件,然后把結果發給接收端的“decode”。由這個別名讓郵件信息通過“/usr/bin/uuencode”程序把二進制文件重新轉換成ASCII文件。如果允許“decode”出現在aliases文件中,可以想象將會有什么樣的安全隱患。

把定義“decode”這個別名的行從aliases文件中刪除。同樣地,每一個會運行程序的別名都要好好查看一下,很有可能要把它們刪除掉。要使改動生效,還必須運行:

[root@cnns]# /usr/bin/newaliases

編輯aliases文件(vi /etc/aliases),刪除或注釋掉下面這些行:

# Basic system aliases -- these MUST be present.
MAILER-DAEMON: postmaster
postmaster: root
# General redirections for pseudo accounts.
bin: root
daemon: root
#games: root ? remove or comment out.
#ingres: root ? remove or comment out.
nobody: root
#system: root ? remove or comment out.
#toor: root ? remove or comment out.

#uucp: root ? remove or comment out.
# Well-known aliases.
#manager: root ? remove or comment out.
#dumper: root ? remove or comment out.
#operator: root ? remove or comment out.
# trap decode to catch security attacks
#decode: root
# Person who should get root/'s mail
#root: marc

別忘了運行“/usr/bin/newaliases”使改變生效。

3.2.2.5 防止sendmail被沒有授權的用戶濫用
最新版的sendmail(8.9.3)集成了很強大的防止垃圾郵件(anti-spam)的功能,可以防止郵件服務器被沒有授權的用戶濫用。要實現這個功能可以通過編輯“/etc/sendmail.cf”文件,改變配置文件以阻止那些發垃圾郵件的人。

編輯“sendmail.cf”文件(vi /etc/sendmail.cf),把這一行:
O PrivacyOptions=authwarnings
改為:
O PrivacyOptions=authwarnings,noexpn,novrfy

這些改變可以防止發垃圾郵件的人使用sendmail中的“EXPN”和“VRFY”命令。這些命令經常被沒有授權的人使用。參考本書sendmail配置這一節以獲得更多這方面的信息。

編輯“sendmail.cf”文件(vi /etc/sendmail.cf),把這一行:
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
改為:
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=xx L=xx

這將改變sendmail接受連接時所顯示的提示信息。你要把“C=xx L=xx”中的“xx”改成你所在的國家和地區編碼。例如:我是這樣寫的“C=CN L=JL”,代表中國,吉林。這個改變不會對sendmail有什么影響,但是news.admin.net-abuse.email新聞組的人建議這么做,主要是為了預防法律上的問題。

3.2.2.6 不要顯示系統提示信息
如果你不想讓遠程登錄的用戶看到系統的提示信息,你可以改變“/etc/inetd.conf”文件中的telnet設置:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h

在末尾加上“-h”參數可以讓daemon不顯示任何系統信息,只顯示登錄提示。當然,只有在服務器上裝了telnet服務器才有這樣做的必要。

3.2.2.7 “/etc/host.conf”文件
Linux用解析器(resolver)庫把主機名翻譯成IP地址。“/etc/host.conf”文件定義主機名是怎樣解析的。“/etc/host.conf”文件中的項告訴解析器庫用什么服務,以什么順序解析主機名。

編輯“host.conf”文件(vi /etc/host.conf)加入下面這些行:

# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on

order選項指明的是選擇服務的順序。上面“order bind, hosts”說的是解析器庫解析文件名的時候先查詢域名服務器,然后再查看“/etc/hosts”文件。因為性能和安全上的原因,最好將解析器庫的查找順序設成先查域名服務器(bind)。當然也要先安裝了DNS/BIND軟件,否則這樣配置根本沒有任何作用。

multi選項決定在“/etc/hosts”文件中出現的主機能不能有多個IP地址(多個網絡界面)。具有多個IP網絡界面的主機被稱為具有多個網絡界面(multiomed),因為同時有多個IP地址也就意味著這臺主機有多個網絡界面。例如:網關服務器就有多個IP地址,必須把這個選項設成ON。

nospoof選項指明不允許IP偽裝。IP偽裝是把自己偽裝成別的計算機去欺騙其它的計算機,獲得它的信任。這種攻擊方法把自己偽裝成別的服務器,并且與其它客戶機、服務器和大型數據存儲系統建立網絡連接或其它類型的網絡活動。不管對任何類型的服務器,這個選項都要設成ON。

3.2.2.8 路由協議
路由和路由協議會導致一些問題。IP原路徑路由(IP source routing),也就是IP包包含到達底目的地址的詳細路徑信息,是非常危險的,因為根據RFC 1122規定目的主機必須按原路徑返回這樣的IP包。如果黑客能夠偽造原路徑路由的信息包,那么它就能截取返回的信息包,并且欺騙你的計算機,讓它覺得正在和它交換信息的是可以信任的主機。我強烈建議你禁止IP原路徑路由以避免這個安全漏洞。

用下面的命令在你的服務器上禁止IP原路徑路由:

for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done

把上面的命令加到“/etc/rc.d/rc.local”文件中去,你就不用在系統重新啟動之后再把這些命令敲一遍。注意,上面的命令將禁止所有的網絡界面(lo、ethN、pppN,等等)的原路徑路由包。如果你打算安裝書中介紹的IPCHAINS防火墻,就不必用這些命令了,因為在防火墻的腳本文件中已經包含這些命令了。

3.2.2.9 使TCP SYN Cookie保護生效
“SYN Attack”是一種拒絕服務(DoS)的攻擊方式,會消耗掉系統中的所有資源,迫使服務器重新啟動。拒絕服務(這種攻擊方式用巨大的信息流來消耗系統的資源,以至于服務器不能夠響應正常的連接請求)是很容易被黑客利用的。在2.1系列的內核中,“syn cookie”只是一個可選項,并沒有使其生效。想要使其生效必須用下面的命令:

[root@cnns]# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

把這個命令加入“/etc/rc.d/rc.local”文件中,等下次系統重新啟動的時候就不必重新敲一遍了。如果打算安裝IPCHAINS防火墻,你就沒有必要用這個命令,因為它已經包含在防火墻的腳本文件里了。

3.2.2.10 防火墻
安全問題的另一個解決方案是把計算機主機和內部計算機間的信息傳送同外部的網絡隔離開,只讓內部網絡與外部網絡之間的信息交流,通過一個安全的網關進行。這樣一個網關叫做防火墻,在下面的一些章節我們會用很大的篇幅介紹防火墻。

3.2.2.11 “/etc/services”文件
端口號和標準服務之間的對應關系在RFC 1700 “Assigned Numbers”中有詳細的定義。“ /etc/services”文件使得服務器和客戶端的程序能夠把服務的名字轉成端口號,這張表在每一臺主機上都存在,其文件名是“/etc/services”。只有“root”用戶才有權限修改這個文件,而且在通常情況下這個文件是沒有必要修改的,因為這個文件中已經包含了常用的服務所對應的端口號。為了提高安全性,我們可以給這個文件加上保護以避免沒有經過授權的刪除和改變。為了保護這個文件可以用下面的命令:

[root@cnns]# chattr +i /etc/services

3.2.2.12 “/etc/securetty”文件
“/etc/securetty”文件允許你規定“root”用戶可以從那個TTY設備登錄。登錄程序(通常是“/bin/login”)需要讀取“/etc/securetty”文件。它的格式是:列出來的tty設備都是允許登錄的,注釋掉或是在這個文件中不存在的都是不允許root登錄的。

注釋掉(在這一行的開頭加上#號)所有你想不讓root登錄的tty設備。
編輯securetty文件(vi /etc/securetty)象下面一樣,注釋掉一些行:

tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8

上面這樣做的意思是只允許root在tty1上登錄。我建議只允許root在一個tty設備上登錄,如果從其它tty上登錄,用“su”命令把身份轉成“root”。

3.2.2.13 特殊的帳號
禁止操作系統中不必要的預置帳號(每次升級或安裝完都要檢查一下)。Linux系統中就提供這樣一些你可能不需要的預置帳號。如果確實不需要這些帳號,就把它們刪掉。系統中有越多的帳號,就越容易受到攻擊。

我們假定你已經在系統中使用shadow口令。如果不是這樣,最好在系統中加上shadow口令的支持,因為這樣系統會更安全。如果你是按照上一章介紹的方法安裝服務器,那么在“安全驗證配置”這一步就已經選上“Enable Shaow Passwords”這個選項了。

在系統中刪除一個用戶可以用這個命令:
[root@cnns]# userdel username

在系統中刪除一個組可以用這個命令:
[root@cnns]# groupdel username

第一步 用下面的命令刪除一些不必要的用戶:

[root@cnns]# userdel adm
[root@cnns]# userdel lp
[root@cnns]# userdel sync
[root@cnns]# userdel shutdown
[root@cnns]# userdel halt
[root@cnns]# userdel news
[root@cnns]# userdel uucp
[root@cnns]# userdel operator
[root@cnns]# userdel games (如果不用X Window服務器,可以刪除這個用戶)
[root@cnns]# userdel gopher
[root@cnns]# userdel ftp (如果沒安裝匿名ftp服務器,可以刪除這個用戶)

第二步 輸入下面的命令刪除一些不必要的組:

[root@cnns]# groupdel adm
[root@cnns]# groupdel lp
[root@cnns]# groupdel news
[root@cnns]# groupdel uucp
[root@cnns]# groupdel games (delete this group if you don’t use X Window Server ).
[root@cnns]# groupdel dip
[root@cnns]# groupdel pppusers
[root@cnns]# groupdel popusers (delete this group if you don’t use pop server for email).
[root@cnns]# groupdel slipusers

第三步 在系統中加入必要的用戶:

在系統中添加用戶,用這個命令:

[root@cnns]# useradd username

給系統中的用戶添加或改變口令,用這個命令:

[root@cnns]# passwd username

例如:
[root@cnns]# useradd admin
[root@cnns]# passwd admin

這些命令的輸出是這樣的:
Changing password for user admin
New UNIX password: somepasswd
passwd: all authentication tokens updated successfully

第四步 “不許改變”位可以用來保護文件使其不被意外地刪除或重寫,也可以防止有些人創建這個文件的符號連接。刪除“/etc/passwd”、“/etc/shadow”、“/etc/group”或“ /etc/gshadow”都是黑客的攻擊方法。

給口令文件和組文件設置不可改變位,可以用下面的命令:

[root@cnns]# chattr +i /etc/passwd
[root@cnns]# chattr +i /etc/shadow
[root@cnns]# chattr +i /etc/group
[root@cnns]# chattr +i /etc/gshadow

注意:如果將來要在口令或組文件中增加或刪除用戶,就必須先清除這些文件的不可改變位,否則就不能做任何改變。如果沒有清除這些文件的不可改變位,安裝那些會自動在口令文件和組文件中加入新用戶的rpm軟件包的時候,在安裝過程中就會出現出錯的提示。

3.2.2.14 防止任何人都可以用su命令成為root
如果不想任何人都可以用“su”命令成為root或只讓某些用戶有權使用“su”命令,那么在“/etc/pam.d/su”文件中加入下面兩行。我建議盡量限制用戶通過“su”命令成為root。

第一步:
編輯su文件(vi /etc/pam.d/su)在文件的頭部加入下面兩行:

auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel

加入這兩行之后,“/etc/pam.d/su”文件變為:

#%PAM-1.0
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so shadow use_authtok nullok
session required /lib/security/pam_pwdb.so
session optional /lib/security/pam_xauth.so

這兩行的意思是只有“wheel”組的成員才能用su命令成為root。注意,“wheel”組是系統中用于這個目的的特殊帳號。不能用別的組名。把這節介紹的方法和《22. “/etc/securetty”文件》中介紹的方法結合起來,可以更好地加強系統的安全性。

第二步:如果在“/etc/pam.d/su”配置文件中定義了“wheel”組,現在介紹一下怎樣讓一些用戶可以用“su”命令成為“root”。下面是一個例子,讓admin用戶成為“wheel”組的成員,這樣就可以用“su”命令成為“root”:[root@cnns]# usermod -G10 admin

“G”是表示用戶所在的其它組。“10”是“wheel”組的ID值,“admin”是我們加到“wheel”組的用戶。用同樣的命令可以讓其他的用戶可以用su命令成為root。

3.2.2.15 資源限制
限制用戶對系統資源的使用,可以避免拒絕服務(如:創建很多進程、消耗系統的內存,等等)這種攻擊方式。這些限制必須在用戶登錄之前設定。例如,可以用下面的方法對系統中用戶加以。

第一步:
編輯limits.conf文件(vi /etc/security/limits.conf),加入或改變下面這些行:
* hard core 0
* hard rss 5000
* hard nproc 20
這些行的的意思是:“core 0”表示禁止創?ore文件;“nproc 20”把最多進程數限制到20;“rss 5000”表示除了root之外,其他用戶都最多只能用5M內存。上面這些都只對登錄到系統中的用戶有效。通過上面這些限制,就能更好地控制系統中的用戶對進程、core文件和內存的使用情況。星號“*”表示的是所有登錄到系統中的用戶。

第二步
必須編輯“/etc/pam.d/login”文件,在文件末尾加入下面這一行:

session required /lib/security/pam_limits.so

加入這一行后“/etc/pam.d/login”文件是這樣的:
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_pwdb.so shadow nullok
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so nullok use_authtok md5 shadow
session required /lib/security/pam_pwdb.so
session required /lib/security/pam_limits.so
#session optional /lib/security/pam_console.so

3.2.2.16 更好地控制mount上的文件系統
可以用一些選項,如:noexec、nodev和nosuid,更好地控制mount上的文件系統,如:“/home”和“/tmp”。這些都在“/etc/fstab”文件中設定。fstab文件包含了各個文件系統的描述信息。如果想知道在這個文件中可以設定哪些選項,請用man命令查看關于mount的幫助。

編輯fstab文件(vi /etc/fstab),并根據需要把這兩行:

/dev/sda11 /tmp ext2 defaults 1 2
/dev/sda6 /home ext2 defaults 1 2

改變成:

/dev/sda11 /tmp ext2 nosuid,nodev,noexec 1 2
/dev/sda6 /home ext2 nosuid,nodev 1 2

“nodev”表示不允許在這個文件系統上有字符或特殊的塊設備。“nosuid”表示不允許設定文件的suid(set-user-identifier)和sgid(set-group-identifier)許可位。“noexec”表示不允許文件系統上有任何可執行的二進制文件。

注意:上面的例子中,“/dev/sda11”mount到“/tmp”目錄上,而“/dev/sd6”mount到“/home”目錄上。當然這和你的實際情況會有所不同,這些取決于你是怎么分區的以及用什么樣的硬盤,例如:IDE硬盤是hda、hdb,等等,而SCSI硬盤是sda、sdb,等等。

3.2.2.17 把rpm程序轉移到一個安全的地方,并改變默認的訪問許可一旦在Linux服務器上用rpm命令安裝完所有需要的軟件,最好把rpm程序轉移到一個安全的地方,如:軟盤或其它你認為安全的地方。因為如果有人入侵了你的服務器,他就不能用rpm命令安裝那些有害的軟件。當然,如果將來要用rpm安裝新的軟件,你就要把rpm程序拷回原來的目錄。

把rpm程序移到軟盤上,用下面的命令:

[root@cnns]# mount /dev/fd0 /mnt/floppy/
[root@cnns]# mv /bin/rpm /mnt/floppy/
[root@cnns]# umount /mnt/floppy

注意:千萬不要把rpm程序從系統中卸載掉,否則以后就不能重新安裝它,因為安裝rpm程序或其它軟件包本身就要用rpm命令。

還有一點要注意的是,把rpm命令的訪問許可從默認的755改成700。這樣非root用戶就不能使用rpm命令了。特別是考慮到萬一在安裝完新軟件之后忘了把rpm程序移到一個安全的地方,這樣做就更有必要了。

改變“/bin/rpm”默認的訪問權限,用下面這個命令:

[root@cnns]# chmod 700 /bin/rpm

3.2.2.18 登錄shell
為了方便重復輸入很長的命令,bash shell可以在“~/.bash_history”文件(“~/”是家目錄,每個用戶都是不一樣的)中存500個曾經輸入過的命令。每一個有自己帳號的用戶,在自己的家目錄中,都會有“.bash_history”文件。可能會有這種情況,用戶在不該輸入口令的地方輸入了口令,而輸入的口令會在“.bash_history”文件中保存下來。而且“.bash_history”文件越大這種可能性也越大。

在“/etc/profile”文件中HISTFILESIZE和HISTSIZE這兩行決定了系統中所有用戶的“.bash_history”文件可以保存多少命令。我建議把“/etc/profile”文件中的HISTFILESIZE和HISTSIZE都設成一個比較小的值,如:20。

編輯profile文件(vi /etc/profile),把這些行改成:
HISTFILESIZE=20
HISTSIZE=20

這樣每個用戶家目錄下的“.bash_history”就最多只能存20個命令。如果黑客試圖在用戶的“~/.bash_history”文件中發現一些口令,他就沒有什么機會了。

3.2.2.19 “/etc/lilo.conf”文件
LILO是Linux上一個多功能的引導程序。它可以用于多種文件系統,也可以從軟盤或硬盤上引導Linux并裝入內核,還可以做為其它操作系統的“引導管理器”。根(/)文件系統對LILO來說很重要,有下面這兩個原因:第一:LILO要告訴內核到那里去找根文件系統;第二:LILO要用到的一些東西,如:引導扇區、“/boot”目錄和內核就存放在根文件系統中。引導扇區包括LILO引導程序的第一部分,這個部分在引導階段的后半部分還要裝入更大的引導程序。

這兩個引導程序通常存在“/boot/boot.b”文件中。內核是由引導程序裝入并啟動的。在RedHat Linux系統中,內核通常在根目錄或“/boot”目錄下。

因為LILO對Linux系統非常重要,所以我們要盡可能地保護好它。LILO最重要的配置文件是“ /etc”目錄下的“lilo.conf”文件。用這個文件我們可以配置或提高LILO程序以及Linux系統的安全性。下面是LILO程序的三個重要的選項設置。

1)加入:timeout=00
這項設置設定LILO在引導默認的系統之前,等候用戶輸入的時間。C2安全等級規定這個時間間隔必須設成0,因為多重引導會使系統的安全措施形同虛設。除非想用多重引導,否則最好把這項設成0。

2)加入:restricted
當LILO引導的時候,輸入參數linux single,進入單用戶(single)模式。因為單用戶模式沒有口令驗證,所以可以在LILO引導時,加上口令保護。“restricted”選項只能和“password”合起來用。注意要給每個內核都要加上口令保護。

3)加入:password=
用單用戶模式啟動Linux系統的時候,系統要求用戶輸入這個口令。口令是大小寫敏感的,而且要注意,要讓“/etc/lilo.conf”文件,除了root之外,其他用戶沒有讀的權限,這樣也就看不到口令了。下面是用“lilo.conf”文件保護LILO的一個具體例子。

第一步:
編輯lilo.conf文件(vi /etc/lilo.conf),加上或改變下面介紹的三個設置:
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00 ? change this line to 00.
Default=linux
restricted ? add this line.
password= ? add this line and put your password.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only

第二步
因為“/etc/lilo.conf”配置文件里,存在沒有經過加密的口令,所以只有root才能有讀的權限。用下面的命令改變文件的權限:
[root@cnns]# chmod 600 /etc/lilo.conf (will be no longer world readable).

第三步
使改變后的“/etc/lilo.conf”配置文件生效:
[root@cnns]# /sbin/lilo -v (to update the lilo.conf file).

第四步
為了更安全一點,可以用chattr命令給“lilo.conf”文件加上不可改變的權限。讓文件不可改變用下面的命令:
[root@cnns]# chattr +i /etc/lilo.conf
這樣可以避免“lilo.conf”文件因為意外或其它原因而被改變。如果想要改變“lilo.conf”文件,必須先清除它的不可改變標志。

清除不可改變的標記用下面的命令:
[root@cnns]# chattr -i /etc/lilo.conf

3.2.2.20 使Control-Alt-Delete關機鍵無效
把“/etc/inittab”文件中的一行注釋掉可以禁止用Control-Alt-Delete關閉計算機。如果服務器不是放在一個安全的地方,這非常重要。

編輯inittab文件(vi /etc/inittab)把這一行:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
用下面的命令使改變生效:
[root@cnns]# /sbin/init q

3.2.2.21 改變“/etc/rc.d/init.d/”目錄下的腳本文件的訪問許可,改變啟動和停止daemon的腳本文件的權限。
[root@cnns]# chmod -R 700 /etc/rc.d/init.d/*

這樣只有root可以讀、寫和執行這個目錄下的腳本。我想一般用戶沒有什么必要知道腳本文件的內容。

注意:如果你安裝或升級了一個程序,要用到“/etc/rc.d/init.d/”中system V腳本,不要忘記再檢查一下改變和檢查這個腳本文件的許可。

3.2.2.22 “/etc/rc.d/rc.local”文件
在默認情況下,當登錄裝有Linux系統的計算機時,系統會告訴你Linux發行版的名字、版本號、內核版本和服務器名稱。這泄露了太多的系統信息。最好只顯示一個“Login:”的提示信息。

第一步
編輯“/ect/rc.d/rc.local”文件,在下面這些行的前面加上“#”:
--
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo /"/" > /etc/issue
#echo /"$R/" >> /etc/issue
#echo /"Kernel $(uname -r) on $a $(uname -m)/" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
--

第二步
刪除“/etc”目錄下的“issue.net”和“issue”文件:
[root@cnns]# rm -f /etc/issue
[root@cnns]# rm -f /etc/issue.net

注意:“/etc/issue.net”文件是用戶從網絡登錄計算機時(例如:telnet、SSH),看到的登錄提示。同樣在“/etc”目錄下還有一個“issue”文件,是用戶從本地登錄時看到的提示。

這兩個文件都是文本文件,可以根據需要改變。但是,如果想刪掉這兩個文件,必須向上面介紹的那樣把“/etc/rc.d/rc.local”腳本中的那些行注釋掉,否則每次重新啟動的時候,系統又會重新創建這兩個文件。

3.2.2.23 帶“s”位的程序
用ls -l命令列出來的文件,如果文件的權限位中出現“s”,則這些文件的SUID(-rwsr-xr-x)或SGID(-r-xr-sr-x)位被設定了。因為這些程序給執行它的用戶一些特權,所以如果不需要用到這些特權,最好把這些程序的“s”位移去。可以用下面這個命令“chmod a-s <文件名>”移去相應文件的“s”位。

可以清除“s”位的程序包括但不限于:

1)從來不用的程序
2)不希望非root用戶運行的程序
3)偶爾用用,但是不介意先用su命令變為root后再運行。
下面加了星號(*)的程序,我個人認為有必要移去“s”位。注意,系統可能需要一些SUID的程序才能正常運行,所以要千萬小心。

用下面的命令查找所有帶“s”位的程序:

[root@cnns]#find / -type f //( -perm -04000 -o -perm -02000 //) //-exec
ls -lg {} //;

*-rwsr-xr-x 1 root root 35168 Sep 22 23:35 /usr/bin/chage
*-rwsr-xr-x 1 root root 36756 Sep 22 23:35 /usr/bin/gpasswd
*-r-xr-sr-x 1 root tty 6788 Sep 6 18:17 /usr/bin/wall
-rwsr-xr-x 1 root root 33152 Aug 16 16:35 /usr/bin/at
-rwxr-sr-x 1 root man 34656 Sep 13 20:26 /usr/bin/man
-r-s--x--x 1 root root 22312 Sep 25 11:52 /usr/bin/passwd
-rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/suidperl
-rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/sperl5.00503
-rwxr-sr-x 1 root slocate 24744 Sep 20 10:29 /usr/bin/slocate
*-rws--x--x 1 root root 14024 Sep 9 01:01 /usr/bin/chfn
*-rws--x--x 1 root root 13768 Sep 9 01:01 /usr/bin/chsh
*-rws--x--x 1 root root 5576 Sep 9 01:01 /usr/bin/newgrp
*-rwxr-sr-x 1 root tty 8328 Sep 9 01:01 /usr/bin/write
-rwsr-xr-x 1 root root 21816 Sep 10 16:03 /usr/bin/crontab
*-rwsr-xr-x 1 root root 5896 Nov 23 21:59 /usr/sbin/usernetctl
*-rwsr-xr-x 1 root bin 16488 Jul 2 10:21 /usr/sbin/traceroute
-rwxr-sr-x 1 root utmp 6096 Sep 13 20:11 /usr/sbin/utempter
-rwsr-xr-x 1 root root 14124 Aug 17 22:31 /bin/su
*-rwsr-xr-x 1 root root 53620 Sep 13 20:26 /bin/mount
*-rwsr-xr-x 1 root root 26700 Sep 13 20:26 /bin/umount
*-rwsr-xr-x 1 root root 18228 Sep 10 16:04 /bin/ping
*-rwxr-sr-x 1 root root 3860 Nov 23 21:59 /sbin/netreport
-r-sr-xr-x 1 root root 26309 Oct 11 20:48 /sbin/pwdb_chkpwd

用下面的命令禁止上面選出來的SUID的程序:

[root@cnns]# chmod a-s /usr/bin/chage
[root@cnns]# chmod a-s /usr/bin/gpasswd
[root@cnns]# chmod a-s /usr/bin/wall
[root@cnns]# chmod a-s /usr/bin/chfn
[root@cnns]# chmod a-s /usr/bin/chsh
[root@cnns]# chmod a-s /usr/bin/newgrp
[root@cnns]# chmod a-s /usr/bin/write
[root@cnns]# chmod a-s /usr/sbin/usernetctl
[root@cnns]# chmod a-s /usr/sbin/traceroute
[root@cnns]# chmod a-s /bin/mount
[root@cnns]# chmod a-s /bin/umount
[root@cnns]# chmod a-s /bin/ping
[root@cnns]# chmod a-s /sbin/netreport

如果你想知道這些程序到底有什么用,可以用man命令查看幫助。

例如:[root@cnns]# man netreport

3.2.3 高級安全

3.2.3.1 使系統對ping沒有反應
防止你的系統對ping請求做出反應,對于網絡安全很有好處,因為沒人能夠ping你的服務器并得到任何反應。TCP/IP協議本身有很多的弱點,黑客可以利用一些技術,把傳輸正常數據包的通道用來偷偷地傳送數據。使你的系統對ping請求沒有反應可以把這個危險減到最小。

用下面的命令:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

運行完這個命令后,系統對ping就沒有反應了。可以把這一行加到“/etc/rc.d/rc.local”文件中去,這樣當系統重新啟動的時候,該命令就會自動運行。對ping命令沒有反應,至少可以把絕大多數的黑客排除到系統之外,因為黑客不可能知道你的服務器在哪里。重新恢復對ping的響應,可以用下面的命令:

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all/"

3.2.3.2 禁止使用控制臺程序
一個最簡單而且最常用的保證系統安全的方法就是禁止使用所有的控制臺程序,如:shutdown和halt。可以運行下面的命令來實現:

[root@cnns]# rm -f /etc/security/console.apps/servicename

這里servicename是你要禁止的控制臺程序名。除非你使用xdm,否則不要把xserver文件刪掉,如果這樣除了root之外,沒有人可以啟動X服務器了。(如果使用xdm啟動X服務器,這時root是唯一需要啟動X服務器的用戶,這才有必要把xserver文件刪掉)。例如:

[root@cnns]# rm -f /etc/security/console.apps/halt
[root@cnns]# rm -f /etc/security/console.apps/poweroff
[root@cnns]# rm -f /etc/security/console.apps/reboot
[root@cnns]# rm -f /etc/security/console.apps/shutdown
[root@cnns]# rm -f /etc/security/console.apps/xserver (如果刪除,只有root可以啟動X).

這些命令就可以禁止所有的控制臺程序:halt、poweroff、reboot和shutdown。記住,只有裝了Xwindow,刪除xerver文件才會有效果。

注意:根據我們前一章的介紹安裝服務器,Xwindow是沒有安裝上的,上面說的那些文件可能不會出現在“/etc/security”目錄下的,如果這樣就可以不管這一節介紹的方法。

3.2.3.3 禁止控制臺的訪問
為了禁止所有的控制臺訪問,包括程序和文件,請在“/etc/pam.d/”目錄下的所有文件中,給那些包含pam_console.so的行加上注釋。這一步是上一節《禁止使用控制臺程序》的延續。下面的腳本可以自動完成這項工作。轉成root身份,創建disabling.sh腳本文件(touch disabling.sh),接著加入下面這些行:

# !/bin/sh
cd /etc/pam.d
for i in * ; do
sed /'/[^#].*pam_console.so/s/^/#//' < $i > foo && mv foo $I
done

用下面的命令使腳本有可執行的權限,并執行它:

[root@cnns]# chmod 700 disabling.sh
[root@cnns]# ./disabling.sh

這樣“/etc/pam.d”目錄下所有文件中包含“pam_console.so”的行都被加上注釋。這個腳本運行完之后,可以把它從系統中刪掉。

3.2.3.4 創建所有重要的日志文件的硬拷貝
保證在“/var/log”目錄下的不同日志文件的完整性是保證系統安全所要考慮的非常重要的一個方面。如果我們在服務器上已經加上了很多安全措施,黑客還是能夠成功入侵,那么日志文件就是我們最后的防范措施。因此,很有必要考慮一下用什么方法才能保證日志文件的完整性。如果服務器上或網絡中的其它服務器上已經安裝了打印機,就可以把重要的日志文件打印出來。這要求有一個可以連續打印的打印機,并用syslog把所有重要的日志文件傳到“/dev/lp0”(打印設備)。黑客可以改變服務器上的文件、程序,等等,但是,把重要的日志文件打印出來之后,他就無能為力了。

例如:記錄下服務器上所有的telnet、mail、引導信息和ssh連接,并打印到連接在這臺服務器上的打印機。需要在“/etc/syslog.conf”文件中加入一行。

編輯syslog.conf文件(vi /etc/syslog.conf),在文件末尾加入下面這一行:
authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0
重新啟動syslog daemon使改動生效:
[root@cnns]# /etc/rc.d/init.d/syslog restart

又例如:

記錄下服務器上所有的telnet、mail、引導信息和ssh連接,并打印到本地網絡中其它服務器上連接的打印機,要在這臺接收日志文件的服務器的“/etc/syslog.conf”文件中加入一行。如果本地網中沒有打印機,可以把所有的日志文件拷貝到別的服務器上,只要忽略下面第一步,把“/dev/lp0”加到其它服務器的“syslog.conf”文件中,直接跳到在其它服務器上設置“-r”參數那一步。把所有日志文件拷貝到其它計算機上,使你可以在一臺計算機上管理多臺計算機的日志文件,從而簡化管理工作。

編輯接收日志文件的服務器(例如:mail.openarch.com)上的syslog.conf文件(vi /etc/syslog.conf),在文件的末尾加入下面這一行:

authpriv.*;mail.*;local7.*;auth.*;daemon.info/dev/lp0

因為syslog daemon的默認配置是拒絕接收來自網絡上的信息,我們必須使它能夠接收來自網絡上的信息,在syslog daemon的腳本文件(指的是接收日志文件的服務器上的腳本文件)中加入下面的“-r”參數。

編輯syslog腳本文件(vi +24 /etc/rc.d/init.d/syslog),把這一行:
daemon syslogd -m 0
改為:
daemon syslogd -r -m 0
重新啟動syslog daemon使改動生效:
[root@mail]# /etc/rc.d/init.d/syslog restart

如果接收日志文件的服務器上有防火墻,你可以檢查一下防火墻的腳本文件中有沒有下面幾行(沒有就加上):

ipchains -A input -i $EXTERNAL_INTERFACE -p udp //
-s $SYSLOG_CLIENT //
-d $IPADDR 514 -j ACCEPT

在這個例子中防火墻的腳本文件中定義了EXTERNAL_INTERFACE=/"eth0/"。

IPADDR=/"208.164.186.2/";
SYSLOG_CLIENT=”208.164.168.0/24/"

重新啟動接收日志文件的服務器上的防火墻,使改動生效:

[root@mail]# /etc/rc.d/init.d/firewall restart

這個防火墻規則允許接收日志文件的服務器接收來自端口514(syslog的端口)的UDP包。最后,編輯一下發送日志文件的服務器上的“syslog.conf”文件(vi /etc/syslog.conf),在末尾加上這一行:

authpriv.*;mail.*;local7.*;auth.*;daemon.info @mail

“mail”是接收日志文件的計算機主機名。如果有人試圖黑你的計算機并且威脅把所有重要的系統日志文件都刪掉,你就不用怕了,因為你已經打印出來或者在別的地方還有一個拷貝。這樣就可以根據這些日志文件分析出黑客在什么地方,然后出理這次入侵事件。

重新啟動syslog daemon,使改變生效:
[root@cnns]# /etc/rc.d/init.d/syslog restart

同樣也要看看發送日志文件的服務器的防火墻的腳本文件中有沒有這幾行(沒有加上)。

ipchains -A output -i $EXTERNAL_INTERFACE -p udp //
-s $IPADDR 514 //
-d $SYSLOG_SERVER 514 -j ACCEPT

這里防火墻的腳本文件中定義了:

EXTERNAL_INTERFACE=/"eth0/"
IPADDR=/"208.164.186.1/"
SYSLOG_SERVER=/"mail.openarch.com/"

重新啟動防火墻,使改變生效:
[root@cnns]# /etc/rc.d/init.d/firewall restart

這個防火墻的規則允許發送日志文件的服務器通過端口514(syslog端口)發送UDP包。

注意:千萬不要用網關服務器來收集和管理所有的系統日志信息。有關syslogd程序的其它一些參數和策略,可以用man命令查看幫助:syslogd(8)、syslog(2)和syslog.conf(5)。

3.2.4 系統補丁
http://www.redhat.com網站提供了最新的內核和應用程序的升級或補丁包。可以把.rpm包下載到服務器的/var/tmp里面然后用命令 rpm -ivh soft.pkg.rpm來升級軟件包,或者用rpm ?CUvh soft.pkg.rpm 來修補系統里面帶有漏洞的軟件。

3.2.5 附錄 Linux上面各種常用軟件的下載網址
1)FTP:
ftp://ftp.wu-ftpd.org/pub/wu-ftpd/
2)SSH:
ftp://ftp.ssh.com/pub/ssh/
3)DNS:
ftp://ftp.isc.org/isc/bind/
4)dhcp:
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0b2pl18-solaris-2.6.tar.gz
5)SMTP:
ftp://ftp.sendmail.org/pub/sendmail/
6)SSL:
ftp://ftp.openssl.org/source/
7)IMAP/POP:
ftp://ftp.cac.washington.edu/imap/
8)inn:
ftp://ftp.isc.org/isc/inn/inn-2.3.1.tar.gz
9)Linux MM:
http://www.engelschall.com/sw/mm/
10)pine:
ftp://ftp.cac.washington.edu/pine/
11)samba:
http://us1.samba.org/samba/download.html
12)openLDAP:
http://www.openldap.org/software/download/
13)PostgreSQL Db:
ftp://ftp.postgresql.org/pub/
14)Squid Proxy:
http://www.squid-cache.org/Versions/
15)Apache:
http://httpd.apache.org/dist/
16)Mod_ssl:
http://www.modssl.org/source/
17)Perl:
http://perl.apache.org/dist/
18)PHP:
http://www.php.net/downloads.php
19)MySQL
http://www.mysql.com/Downloads/M ... nux-gnu-i686.tar.gz
20)SXID
ftp://marcus.seva.net/pub/sxid/
21)tripwire:
http://www.tripwiresecurity.com/downloads/index.cfml?dl=asr&
22)GUN PG
http://www.gnupg.org/download.html 
 

 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产中文一区 | 久色精品| 美女久久久久久久久 | 国产剧情在线观看一区二区 | 黄网站免费在线看 | 国内精品伊人久久 | 国产一区二区亚洲 | 一级免费在线 | 精品亚洲免费 | 国产婷婷一区二区三区 | 夏目友人帐第七季第一集 | 香蕉久久久| 久久精品中文字幕一区 | 91午夜免费视频 | av电影在线观看免费 | 久久草在线观看视频 | 国产一区视频在线免费观看 | 海角在线观看91一区二区 | 麻豆一二区 | av在线观 | chinese18 xxxx videos | 久久免费视频一区二区三区 | 在线观看免费污视频 | 在线看免费的a | 国产99精品视频 | mmmwww| 国产黄色录像片 | 热99视频| 中文字幕在线观看视频一区 | 国产chinesehd精品91 | 一级电影在线观看 | 欧美精品一区二区中文字幕 | 玖草| 久久精品中文字幕一区二区 | 一级黄色毛片播放 | 九九热视频这里只有精品 | 黄视频网站免费在线观看 | 国产精品久久久久久久不卡 | 欧美性色黄大片www 成人免费网站在线观看 | 久久中出 | 亚洲一区二区网址 |