成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SUSE安全大揭秘之“十誡”

原創
安全 網站安全
SUSE由于其出色的性能和對安全較好的控制,吸引了很多企業級用戶,目前在國內開始有大量的關鍵應用。但這并不代表SUSE在使用中就是安全的,SUSE里還有很多安全細節要注意。本文就SUSE中的這些安全細節進行逐一介紹,為大家揭開每一個需要注意的地方。

【51CTO.com獨家特稿】SUSE由于其出色的性能和對安全較好的控制,吸引了很多企業級用戶,目前在國內開始有大量的關鍵應用。但這并不代表SUSE在使用中就是安全的,SUSE里還有很多安全細節要注意。本文就SUSE中的這些安全細節進行逐一介紹,為大家揭開每一個需要注意的地方。

一、補丁、SSH及其他

1、補丁

每個補丁的更新都意味著這是一個安全漏洞,或是有其他嚴重的功能問題,但如果更新補丁則又可能導致系統的一些異常,甚至引起一些服務的癱瘓。所以對于補丁的更新要慎重處理。從實際的角度來說,有4種做法:

1)是在剛裝完系統之后立刻更新補丁,然后再上應用。

2)是通過外圍防護手段來保護服務器,可以用防火墻、IPS之類的手段。

3)是在測試機上更新補丁。不過值得注意的是,有些補丁帶來的問題是隱性的,可能今天明天沒問題,但后天出了問題,所以,觀察的時間需要久一些。

4)、如果你的SUSE服務器比較多,也可以通過NFS共享或者內部的FTP、HTTP服務來完成。但FTP、HTTP又會帶來另外的安全風險。
SUSE的補丁升級,需要去下載Novell的新RPM。RPM包的安裝會有先有后,不過多數情況下,RPM會根據其依賴關系來處理。另外,Novell也有一些在特殊情況下的提示,比如內核更新、C運行庫等。Novell公司提供了一個強大的工具YaST,不過遺憾的是,YaST自身也不安全,有在線升級不安全臨時文件建立漏洞。

加固方法:輸入yast,在software中選擇online update。

2、SSH

SUSE上默認安裝了OpenSSH,OpenSSH是目前比較流行并且免費的加密連接工具,但OpenSSH的低版本也存在不少安全漏洞,所以最好還是去http://www.openssh.org下載最新版本的。在升級到最新版本之后,SSH仍有很多需要安全加固工作要做。比如限制那些賬戶的登錄、更改默認端口、指定可訪問的網絡等等,限于篇幅本文對此不做更詳細的介紹。但至少有一點,是你必須要做的:將協議版本修改為2。因為版本1的安全問題實在太嚴重了,甚至可以截獲密碼。

加固方法:

vi /etc/ssh/ssh_config

修改protocol的值為2。

3、系統性能審計

對于運維人員來說,需要經常監控系統的性能情況,SUSE提供的sysstat就是一個檢測系統狀態的工具,比如比如CPU利用率、磁盤I/O等。sysstat默認每10分鐘收集一次系統數據,可以用sar命令查看。sysstat首先會建立一個正常的性能曲線,當這個基線建立完畢以后,任何超出基線的活動都會給出提示。例如密碼猜測、或者在業務高峰期以外的事件會導致CPU利用率過高,從而偏離正常的基線。注意sysstat收集的數據默認是在系統上存放一周,一周之后會被cron任務自動移除,可在/var/log/sa/目錄下來維護收集的數據。但是默認安裝的服務器版本是不包括sysstat包的,除非安裝的時候選擇了完全安裝。

加固方法:安裝sysstat,并使用sar命令。

4、防火墻
SuSEfirewall2是SUSE下面的包過濾防火墻,可以允許、拒絕數據的進出。默認是安裝并且激活的,而且默認不允許任何服務,要開放服務就必須明確的啟用(比如上面提到的SSH)。

加固方法:

在YAST里,Center--#Security and Users--#Firewall進行防火墻策略調整。
更細粒度的策略配置,可以在YAST Center--#System#--/etc/sysconfig editor-Network/Firewall/SuSEfirewall2,也可直接編輯/etc/sysconfig/SuSEfirewall2文件。

5、系統安全定期檢查腳本seccheck

seccheck是一個系統安全檢查腳本,可以每天、每周、每月的定期生成報告,并且郵件發送。不過他在定期運行的時候比較占用資源,所以要選擇在非業務高峰期來做。

加固方法:YAST Center-System-#/etc/sysconfig-System/Security/Seccheck selection

6、SUSE的安全應用框架AppArmor
AppArmor和SuSEfirewall2相比,他的特點在于對應用級的保護,可以管理應用的文件和目錄訪問等更細顆粒的操作,是一個白名單的機制,即指定哪些行為才是允許的,其他的拒絕,這樣可以更好的隱藏內部系統。比如你的系統存在一個漏洞,但由于對其的操作沒有受到白名單允許,所以操作會被拒絕。

加固方法:YAST Center-Novell AppArmor可以調整細節策略、查看報告。如果不熟悉的話,AppArmor還內設了一個向導功能。

二、最小化xinetd

1、關閉標準服務

SUSE使用xinetd,他比inetd更優秀也更方便使用。SUSE默認情況下是關閉所有服務的,在啟用SSH之后,就可以配置xinetd的服務了。安全的做法也應該如此,先關閉所有服務,然后只啟用必須的服務。

加固方法:運行chkconfig查看所有服務的開啟狀態,對不需要的服務進行關閉。

2、可信網絡接入

對服務器的訪問應該受到控制,所以需要用SuSEfirewall2或者其他的措施來控制,只允許那些可信的網絡接入。

加固方法:

vi /etc/sysconfig/SuSEfirewall2中的第10項配置。也可以在yast Center#System#/etc/sysconfig editor進行配置。

3、telnet

如果不是有特別的理由,不要使用telnet,telnet使用的是不加密的網絡協議,這就意味著從你的賬號到你傳輸的數據,都可以被人竊聽,嚴重的可以通過會話劫持控制你的系統。所以這里還是強烈建議使用SSH,雖然SSH也不是那么的安全。

加固方法:

打開的命令是chkconfig telnet on。

關閉的命令是chkconfig telnet off。

4、FTP

同樣,在沒有充分理由的情況下,不要使用FTP,尤其是匿名FTP。和telnet一樣,FTP也不加密,也可以被人竊聽或者會話劫持。SSH則提供了SCP和SFTP,可以取代FTP。要注意的是,有時候FTP可能是因為某些應用綁定的,比如我多次見到的WEB上傳通道,所以你必須要用這種匿名FTP。如果必須要用FTP,那還是要做一些控制,要注意的一點是,FTP的目錄應該受到控制,最好能有自己的分區。在SUSE上,vsftpd默認是不安裝的。

加固方法:

打開的命令是chkconfig vsftpd。

關閉命令是chkconfig vsftpd off。

5、rlogin/rsh/rcp

所有r系列的命令都應該被關閉。他們除了可以被竊聽之外,在驗證機制上也存在問題,并且還有其他的安全漏洞,比如緩沖區溢出、任意命令執行等。建議還是用SSH來取代。

加固方法:

打開命令是

chkconfig rexec on

chkconfig rlogin on

chkconfig rsh on

關閉他們:

chkconfig rexec off

chkconfig rlogin off

chkconfig rsh off

6、TFTP

TFTP一般用在無盤工作站, X-terminals等情況下。路由器或者其他網絡設備的配置數據可以利用它復制,實現備份功能。當然,在這里,沒有特殊原因,我們仍然建議你禁用。TFTP在SUSE上也不是默認安裝的。

關閉命令chkconfig tftp off

7、IMAP

只有郵件服務器才會用到IMAP,一些郵件客戶端(比如Eudora、Netscape Mail和Kmail)需要使用IMAP來檢索遠程郵件。

加固方法:關閉服務的命令

chkconfig cyrus off或chkconfig imap off。

8、POP

這是一個收郵件的服務,作為服務器有收取郵件的需要嗎?如果沒有,同樣也應關閉。

加固方法:chkconfig qpopper off或chkconfig cyrus off。

三、最小化啟動服務

1、設置umask

系統默認的umask至少應設置成027,有些守護進程比如系統日志,會默認設置為任何人可以寫文件。如果某個守護進程需要放開對權限的限制,可以考慮修改守護進程的啟動腳本,給以其權限,同時又不會影響服務器的其他安全。

加固方法:

vi /etc/profile,改變umask的值為027。

對/home下的所有用戶,根據其shell類型,定義umask的值。一般在/home/.profile中新增加一行umask 027。

2、SMTP

需要確認服務器是否需要處理郵件。SUSE中,默認安裝的是Postfix,并且是激活狀態。如果這臺服務器是郵件服務器的話,需要注意的是,有權限在web界面上搜索附件是一個安全隱患。另外,如果你對郵件服務器管理有經驗的話,你會知道為postfix規劃一個chroot環境有多么重要。在chroot環境下,即使有人闖入了smtpd daemon,能夠造成的損害也比較有限。

加固方法:

打開:vi /etc/sysconfig/mail,設置SMTPD_LISTEN_REMOTE="yes"。在防火墻上也必須啟用。

關閉:vi /etc/sysconfig/mail,設置SMTPD_LISTEN_REMOTE="no"。

3、運行級別

SUSE里有兩個主要的運行級別,級別5直接啟動到X Windows,級別3則是字符界面。但注意的是,即使系統運行在級別3,用戶仍然可以在shelle下執行startx來啟動X Windows。

加固方法:

設置為級別3,vi /etc/inittab,將id:5:initdefault中的5修改為3。

4、X Font Server

對于服務器來說,一般不需要運行X Windows,如果不使用圖形界面的話,X Font Server就可以關掉,他是為圖形界面提供字體集用的,并且XFS還有一些緩沖區溢出的問題。

加固方法:

關閉X Font Server:chkconfig xfs off

5、標準啟動服務

每個系統的守護進程,如果你不能明確知道必須開啟的話,都應該關閉。服務器上運行的脆弱應用,將大大增加風險。SUSE使用chkconfig來管理所有的系統服務腳本。這里要注意的是,SUSE的補丁程序可能會恢復啟動某些服務,在更新補丁之前,最好還是先記錄一下你已經啟動哪些服務。還有就是一些守護進程會擁有一些賬戶,對這些賬戶要進行刪除、鎖定,避免別人登錄,或者對他的Shell設置成/bin/false。

加固方法:

添加、刪除啟動服務的方法是在在不同運行級別下的目錄里,首先你需要知道你的系統運行界別,使用runlevel命令查看運行級別,如果運行級別是3的話,那就需要在/etc/rc.d/rc3.d修改。這里面以S開頭的,都是啟動時會運行的服務。例如mv /etc/rc3.d/S04rpcbind etc/rc3.d/K04rpcbind,是將rpcbind服務關閉。

另外還需要對守護進程的賬戶進行刪除或鎖定,刪除用戶命令是userdel,可以刪除這些用戶:adm lp sync shutdown halt news uucp operator gopher,如果不用x windows的話可以刪除games,如果沒有匿名ftp可以刪除ftp。

6、SMB和NMB

SUSE提供了Samba,為windows用戶提供文件和打印共享,這樣unix系統可以在windows的網絡上充當文件服務器、打印服務器,甚至為早期的windows系統充當域控驗證服務器。Samba需要用到SMB和NMB協議,SMB是Windows的文件共享,NMB是NetBIOS消息塊。如果不需要充當這些角色的話,就應該關閉這兩個協議。關閉命令 chkconfig smb off

7、NFS

NFS經常被利用來越權存取文件,所以沒有需要也應關閉。即使真的需要NFS服務,也應該采取控制措施,包括限制訪問的IP范圍、文件的只讀等。NFS的客戶端服務也應關閉。

關閉命令:

chkconfig nfsserver off

chkconfig autofs off

8、NIS

除非十分有必要,否則不要使用NIS。NIS是網絡信息服務的縮寫,類似與windows中的域控制器。NIS雖然使用維護簡單,但有設計上的安全問題,而且也完全可以用LDAP來替代。

關閉命令:

chkconfig ypserv off

chkconfig yppasswdd off

9、RPC端口映射

要想NIS能夠運行,須首先運行portmap守護進程。但是RPC的驗證機制很薄弱,很容易被繞過,卻可以利用RPC得到很多重要的信息。除非是需要NIS,最好禁用。

關閉命令:chkconfig portmap off

10、ncpfs腳本

ncpfs是NFS、windows網絡里共享文件需要用到的,但并非默認安裝,如果沒有網絡共享在使用,就把它停掉。這個腳本會掛載在客戶機的網絡驅動器上,好在它不是一個持續的守護進程,所以相對來說不是那么危險。

關閉命令:chkconfig ncpfs off

11、apache

只有WEB服務器才會用到,即使這臺服務器是WEB服務器,也不要把數據庫和其他環境支持都放在這臺服務器上。

關閉命令:chkconfig apache2 off

12、SNMP

在規模比較大的網絡里會經常用到的網絡管理協議,要確定你是不是在使用依賴SNMP的遠程監控工具,比如HP OpenView, MRTG, Cricket等。如果使用了SNMP,也建議更改默認的community string。在SUSE中,snmp的設置在/etc/snmpd.conf里。

關閉命令:chkconfig snmpd off

13、DNS server

確定你的網絡是否需要域名解析的服務器,針對DNS的攻擊這兩年越來越多,如果必須要用,建議在/etc/named.conf里 使用訪問控制。比如,內部的DNS服務器不應該對外部開放查詢。在比較大的網絡里,一般都會使用內部和外部的DNS服務器分別提供查詢,但一些小的網絡沒有條件內外分開,就應考慮訪問控制。

關閉命令:chkconfig named off

14、Squid Cache服務器

Squid是一個代理服務器軟件,其實Squid是一個較好的安全架構,因為他在客戶端和服務器之間設置了一道代理,在一定程度上減少了系統泄露信息的風險,防止內部漏洞被發現。但是,在使用Squid的時候要仔細進行配置,有很多關于Squid cache的漏洞。如果不加安全考慮的話,外部仍然可以探測到內部的主機,或者利用你的cache來隱藏攻擊者的真實IP。所以應該配置成:不允許外部人員未經認證使用你的緩存。

關閉命令:chkconfig squid off

#p#

四、內核優化

1、網絡參數修改

SUSE和其他Linux一樣,把網絡參數的修改都放在了/proc/sys/net/ipv4下,這里所有文件名中包含rate和max的變量都可以防止拒絕服務攻擊。對于每個參數的具體解釋可以參考相關文檔,這里就不一一介紹。

建議修改:

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1

2、其他參數

如果系統不是作為一個防火墻或網關的話,需要修改以下部分。

建議修改:

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

五、日志

1、syslog

SUSE使用了syslog-ng來記錄日志。/var/log/messages包括了iptables, mail, news和messages,并把它們分別發送到(/var/log/firewall, /var/log/mail*, 和/var/log/news。文件權限默認是u=rw,g=r,o=。

2、NTP

NTP是網絡時間協議,目的是保持計算機的時間與網絡同步,默認安裝,但是沒有啟用。系統時鐘應該保持一個高準確度,這樣日志的記錄才能準確的反映時間。NTP啟用后,在udp123端口監聽。在配置上,應該忽略任何未明確允許的消息,只允許本地回環127.0.0.1和NTP服務器的消息,防止別人偽造時間服務器。對NTP的修改在/etc/ntp.conf下面。

3、日志文件權限

確保系統日志文件的所有權和權限是正確的,日志文件權限的配置在/etc/syslog-ng/syslog-ng.conf.in和/etc/logrotate.d

4、遠程日志記錄

配置系統日志記錄發送到網絡的其他主機上。注意的是,這個時候,就需要精確的系統時鐘了,所以需要使用NTP。為什么要在遠程記錄日志呢?原因是,如果你的系統發生故障或者崩潰了,它是什么原因造成的?你就可以在這臺遠程記錄日志的主機上找到原因。syslog-ng可以使用UDP或TCP。但是,除非這臺遠程主機能夠保證一直可用、網絡也很可靠,否則,建議使用TCP,防止數據丟失。

例如:在/etc/syslog-ng的syslog-ng.conf中添加

destination logserver { tcp("10.10.10.10" port(514)); };

六、文件權限許可

1、在 /etc/fstab使用nodev方式
nodev選項的意思是禁止用戶在任何分區上掛載未授權的設備,需要掛載設備時,應該在其他地方比如/dev。但也有例外,比如在chroot的環境中,經常需要在chroot目錄中創建多個設備。如果在你的機器上使用了chroot,要注意這個nodev的選項。

2、在/etc/fstab中使用nosuid
在移動介質上,經常會有一些病毒、惡意軟件,通過nosuid選項,可以阻止用戶在光驅、軟驅或者U盤上運行set-UID權限的程序。如果機器上有多個移動設備,也可以在/etc/fstab中相關設備的第四列設置nosuid。

3、禁止用戶掛載可移動介質
SUSE默認只有root用戶可以掛載移動介質,如果/etc/fstab被改成允許用戶掛載,可能會讓病毒進入服務器,或者數據被修改刪除。把它改回nouser選項更有助于安全。

4、驗證passwd, shadow,group文件權限
這些文件都有著默認的所有者和訪問權限,都要修改/etc/shadow權限為644,并且定期檢查。AIDE是一個不錯的工具,可以提醒你對這些文件權限的注意。不過AIDE是Tripwire的非商業版改進,目前還是BETA版,可能不適合用于關鍵的生產系統上。

5、沒有權限限制的目錄應該設置粘滯位
你在任何一個目錄上設置粘滯位以后,就只有文件所有者能夠刪除目錄里的文件,而不是任何有寫權限的人可以刪除。設置粘滯位可以防止彼此覆蓋文件,無論是意外、惡意行為。但也應在設置粘滯位之前,查看一下你的應用程序文檔,避免破壞用用程序的依賴。

用這個腳本進行檢查:
for PART in `awk '($3 ~ "ext2|ext3|reiserfs") \
{ print $2 }' /etc/fstab`; do
find $PART -xdev -type d \
\( -perm -0002 -a ! -perm -1000 \) -print
done
如果你的系統設置的足夠安全的話,這里應該不會有任何的返回。

6、任何人都可寫的文件
在某個文件上,如果任何人都可以寫,將可能導致對系統的修改,或者對系統上的用戶造成影響。避免這種文件的出現,要在編寫腳本或者程序時加以注意,因為這會導致系統的完整性受到影響。一般來說,可以消除寫訪問(chmod o-w ),但對于關鍵服務器來說,還是要咨詢一下相關廠商。

用這個腳本進行檢查
for PART in `awk '($6 != "0") { print $2 }' /etc/fstab`; do
find $PART -xdev -type f \
\( -perm -0002 -a ! -perm -1000 \) -print
done

如果你的系統設置的足夠安全的話,這里應該不會有任何的返回。

7、未授權SUID/SGID的可執行文件

管理員要檢查在系統里,有沒有未授權的set-UID。另外如果可能的話,應做Set-UID的審計,或者減少這種Set-UID程序。
檢查方法:
for PART in `awk '($6 != "0") { print $2 }' /etc/fstab`; do
find $PART \( -perm -04000 -o -perm -02000 \) \
-type f -xdev -print
done

8、查找無主文件
不要讓你的系統上有任何無主文件,無主文件可能是一個入侵者已經訪問了你的系統,或者是不當文件包的維護安裝造成的。比如刪除了用戶或者組,但是相關文件沒有刪除。另一種常見情況是軟件安裝時,沒有正確的設置所有者。NFS掛載文件,會忽視用戶ID和系統之間的映射同步,也有可能造成無主文件的產生。如果你在使用NIS或者LDAP,那可能是其他原因造成的,什么原因就需要你去仔細檢查了。

檢查方法:
for PART in `awk '($6 != "0") { print $2 }' /etc/fstab`; do
find $PART -nouser -o -nogroup -print
done

 #p#

七、系統的管理、授權、認證

1、在PAM配置文件里移除.rhosts支持
.rhosts定義了哪些計算機和用戶可以不用提供口令就在本地計算機上執行遠程命令,很容易被攻擊者利用。使用.rhosts是對用戶訪問控制規則的破壞,盡量關閉。如果有特殊原因,必須要使用,那就需要一些預防措施。永遠不要在.rhosts里使用+通配符。.rhosts必須指定特定的可信任用戶名,比如trustedhost DB1,而不是trustedhost。這種在配置HA的時候常見。要避免信任關系之外的主機,而且防火墻或者其他安全設備應該阻止外部的rlogin/rsh/rcp訪問。最后,還要確保.rhost文件只有所有者可讀。例如文件權限600。

2、/etc/ftpusers
/etc/ftpusers的列表里定義了哪些用戶不允許使用系統的FTP,一般來說,應該只有普通用戶可以使用FTP,而不是system這種類型的賬戶。當然,root用戶永遠都不應該使用FTP方式直接傳輸文件。
SUSE提供了一個netcfg的包,預填充了不該使用FTP的賬戶。

3、 防止X Server在tcp6000上監聽
X Server在TCP6000上監聽,接受來自其他客戶端的請求。但是,X Server使用了一個相對不安全的身份驗證協議,攻擊者可以未授權訪問到本地X Server上。使用"-nolisten tcp" 方式可以取消X Server在TCP6000上默認監聽。

4、限制用戶使用at/cron
 cron.allow、 at.allow定義了誰可以使用crontab、at命令在預定的時間運行作業。在很多系統上,只有系統管理員有這種能力。即使某個用戶不在cron.allow里面,用戶仍然可以運行cron作業。cron.allow控制的是:crontab命令調度的權限、修改cron作業的權限。注意:不要修改/etc/at.deny和/etc/cron.deny文件,除非你的確了解他們,這兩個文件里都有合理的默認內容。如果對at和cron必須加以控制,創建/etc/at.allow和/etc/cron.allow文件,增加適當的用戶。

5、限制crontab文件的權限
 系統的crontab文件只能由cron守護進程(運行超級用戶權限)和crontab命令(set-UID為root)訪問。允許未授權的用戶讀取修改crontab,可以讓用戶獲得權限提升。

6、配置xinetd的訪問控制
可使用簡單的基于IP的訪問控制,限制對xinted的非法連接。現在比較流行的工具是PortSentry,可以用于監視那些試圖訪問未使用端口的行為。然后再使用系統防火墻SuSEfirewall2來控制。

7、限制root登錄到系統控制臺
root直接登錄到系統控制臺是不允許的,除非特別情況。在其他時候,管理員應該通過無特權的賬戶并使用授權機制,比如su、sudo來獲取額外的特權。這些機制至少提供了審計的線索。/etc/securtty讓你可以規定root可從哪個tty登錄。/etc/securtty列出來的都是可以登錄的,注釋、不存在的都是不允許root登錄的。

8、設置LILO/GRUB密碼
大多數的Linux系統,默認在引導時,有裝載提示,這讓攻擊者破壞正常的引導變得很容易。對他設置密碼,這樣在試圖修改LILO或GRUB的時候,就需要驗證,當然,密碼要夠強壯。

方法

A、如果你有/etc/lilo.conf 文件
在/etc/lilo.conf前面添加:
password=

以root執行命令:
chown root:root /etc/lilo.conf
chmod 600 /etc/lilo.conf

B、如果是/etc/grub.conf文件
在/etc/grub.conf取消password 的注釋。
以root執行命令:
chown root:root /etc/grub.conf
chmod 600 /etc/grub.conf

9、對單用戶模式驗證

在一些Linux上你可以在LILO模式下鍵入linux single進入單用戶模式,或者在GRUB的引導編輯菜單。這就帶來風險,進入系統的認證應該始終需要root級別的訪問,防止攻擊者物理訪問系統。SUSE默認禁止這種進入方式,但是作為檢查來說,還是需要檢查一下。如果被改動的話,要搞清楚原因并恢復。8和9這兩個項目都為了解決物理/啟動的安全問題,也可以考慮設置只從主硬盤啟動,或者設置BIOS密碼。

10、限制NFS客戶端請求特權端口

設置:NFS服務器忽略來自客戶端的低于1024的源端口訪問,這不會妨礙到正常的NFS操作,但可以阻止一些使用工具軟件攻擊的人。其配置文件在/etc/exports里。

11、syslog的消息接收

你的服務器是日志服務器嗎?需要從網絡上、其他主機上接收日志嗎?如果是肯定的,啟用日志系統的遠程消息接受。默認情況下的系統日志的守護進程是syslogd,不在udp514上監聽來自其他系統的日志消息(Solaris相反,默認是接受的。)成立一個獨立的日志服務器來記錄一個或多個日志,是比較推薦的安全做法。但是,如果你不是日志服務器的話,就不應該打開udp514的監聽,因為這些信息的傳遞沒有任何認證機制。攻擊者也可以利用此端口發起DDOS攻擊,或者不停的發送日志消息填滿你的日志系統,這樣以后的攻擊就不會被記錄到了。
在syslog-ng.conf.in里,把下面這行加上#注釋掉
#udp(ip("0.0.0.0") port(514))

八、用戶賬戶和環境

1、鎖定系統賬戶
有很多賬戶是系統賬戶,不會被人使用,鎖定這些賬戶有助于減少攻擊者的利用。這些賬戶不應該有shell。如果沒有守護進程/服務使用的話,甚至可以將賬戶刪除。比較簡單的做法是直接停用,停用的做法是鎖定password,設置一個無效的shell(比如/bin/false)。SUSE里使用/bin/false而不是/dev/null和/bin/nologin。

2、空密碼賬戶
使用awk -F: '($2 == "") { print $1 }' /etc/shadow查找空密碼賬戶。空密碼賬戶是指任何人都可以登錄,而不用提供密碼。所有的賬戶都應該有健壯的密碼,或者使用鎖定密碼的字符串:NP、*LOCKED*。

3、設置賬戶過期和密碼參數
強制用戶定期改變密碼,設置所有活躍賬戶(除了系統賬戶)強制更改密碼,例如:每90天(-M 90),下次允許更改密碼之前最少的天數7天 (-m 7),用戶在密碼過期前28天收到警告(-W 28)。一旦密碼過期,賬戶將被鎖定7天(-I 7)。最后,密碼最小長度為6。這只是一些建議,你需要根據你的實際情況在/etc/login.defs進行調整。

4、確認在passwd, shadow,group里沒有‘+’
使用命令grep ^+: /etc/passwd /etc/shadow /etc/group檢查。+用于NIS的數據映射配置,在passwd, shadow,group文件里存在+號,將會為攻擊者提供一個提權的途徑,應該把它們都刪掉。

5、確認除了root外,沒有UID為0的賬戶
檢查方法:awk -F: '($3 == 0) { print $1 }' /etc/passwd
任何UID為0的賬戶都擁有系統的超級用戶權限,唯一的超級用戶應該是root,而且還應該通過非特權賬戶su來獲得權限。

6、用戶主目錄應為750權限或者更多的限制
用戶主目錄如果有任何人可寫的目錄,可以導致別人竊取、修改數據,或者獲得其他用戶的權限。對其他組成員,取消讀、執行權限。不過在全局對用戶主目錄的權限進行修改,可能會造成服務中斷。

7、刪除User.netrc文件
find / -name .netrc
.netrc是ftp命令的初始化文件,能夠給Ftp帶來一定的方便。但文件可能包含未加密的密碼。在上出他們之前,要考慮.netrc文件的作用,因為可能會影響應用。但是一個良好設計的應用,不應該使用.netrc。

8、設置默認的用戶umask值
將umask設置為077,這樣由用戶創建的文件和目錄不會被系統上任何其他人可讀。如果需要改變權限可通過chmod命令。可將uamsk命令插入到shell配置文件中來實現,例如.profile, .cshrc, etc.等。027可讓同組人員可讀,而022的umask值可讓系統上每個用戶都可讀。但是,過于嚴格的umask會導致軟件的安裝問題,比如umask設置為700,那么他的應用程序或者守護進程就無法讀取文件。所以一般umask的設置不能過于嚴格,或者在文件安裝之后再控制umask。

9、關閉核心轉儲
這個問題需要問一下你的軟件開發商們,他們是否需要調試程序,或者需要看到debug的信息?如果答案是否定的,則可以關閉。核心轉儲會大量消耗磁盤空間,并且核心轉儲會包含敏感數據。開發人員需要用這個功能來幫助調試。/etc/security下的limits.con文件是用來控制核心轉儲的開關。

10、限制root賬戶su
su命令允許你成為系統上的其他用戶,常常被用來作為root執行命令。如果不希望某些用戶可以su到root,在/etc/pam.d/su下加入:

auth required pam_wheel.so

這行命令的意思是,只允許wheel組的用戶,可以su為root。其他用戶在su root的時候,會收到一條消息,說該密碼是不正確的。通過限制使用root賬戶,即使用戶知道root密碼,也無法成為root用戶,除非它能夠物理上控制這個服務器,或者他被添加到wheel組。
這樣就增加了一個安全保護層,防止未經授權的訪問。

九、殺毒

在有些系統上,比如郵件服務器、文件服務器,主要是給windows用戶使用的,應該有殺毒軟件來保護。linux平臺下的殺毒軟件有:
Sophos http://www.sophos.com/ 商業軟件
NAI Virus Scan                商業軟件
McAfee http://www.mcafee.com/ 商業軟件
ClamAV http://www.clamav.net/ 開源軟件
f-prot Antivirus              商業軟件
f-prot Antivirus http://www.f-prot.com 商業軟件
Trend Micro                            商業軟件
Computer Associates InoculateIT http://www.cai.com/ 商業軟件

十、其他

1、對于危險文件創建符號鏈接
/root/.rhosts, /root/.shosts, /etc/hosts.equiv等文件的訪問控制很薄弱,我們在第七章里已經討論過了,攻擊者會經常針對這些漏洞進行攻擊,把他們鏈接到/dev/null,意味著任何數據都會被簡單的拋棄。

可以使用這個腳本:
for FILE in /root/.rhosts /root/.shosts /etc/hosts.equiv \
/etc/shosts.equiv; do
rm -f $FILE
ln -s /dev/null $FILE
done

2、打開TCP SYN Cookie的保護

SYN攻擊是一種拒絕服務攻擊,目的在于消耗系統資源。這個攻擊是由于TCP連接握手協議的漏洞,對方發送SYN信息,然后不再回應。這樣的攻擊就使得系統與數百或者上千的連接保持半開狀態。是一個非常簡單的攻擊方法。

3、LILO/GRUB安全

給LILO和GRUB加上一個i的屬性,這樣他既不能刪除也不能修改,可以有效地防止配置文件發生任何變化(不管是意外或者其他原因)。如果想要修改,必須用chattr -i命令。
chattr +i /etc/lilo.conf
chattr +i /boot/grub/menu.lst

4、配置sudo

sudo的是一個文件包,它允許管理員授權給用戶做一些特權,這些特權超出了用戶的權限,比如重啟web服務。我們舉個例子,因為你的web服務有bug或者不斷的出現故障,那你可能需要不斷地修改web的配置文件來讓找出問題原因。這時候如果你要用su - root的話就會非常繁瑣,因為你只是在改完配置文件之后,重啟一下web服務而已。這時候sudo就派上用場了,它允許管理員授權給該用戶權利來重啟web服務。sudo安裝之后,使用visudo來配置而不是vi配置文件,因為visudo有錯誤檢查功能。

5、刪除所有的編譯器和匯編程序

在安全上,C編譯器會構成對系統可信的威脅。編譯器應該安裝在開發系統的機器上,而不是一個生產應用系統上。這里只是提醒注意檢查。檢查這些:gcc、gcc3、gcc3-c++、 gcc3-g77、gcc3-java、gcc3-objc、gcc-c++、gcc-chill、 gcc-g77、gcc-java、gcc-objc、bin86、dev86、nasm。

責任編輯:王文文 來源: 51CTO.com
相關推薦

2011-04-11 09:49:42

2012-10-30 09:21:50

2012-10-31 09:30:19

2009-06-08 10:42:24

2017-11-06 05:18:35

2013-03-06 09:56:21

2024-04-10 08:01:40

2015-05-25 11:16:23

2020-11-04 10:21:37

機器學習技術人工智能

2012-11-07 09:53:50

2011-01-09 15:35:57

網絡安全信息安全安全防護

2010-08-30 14:59:46

2009-05-13 07:42:58

LinuxSUSEEnterprise

2009-11-15 14:18:54

2010-06-01 15:27:25

2011-09-19 13:09:19

2009-12-08 17:56:11

2011-12-08 13:14:48

安全觀念

2011-08-15 09:25:04

2010-08-12 14:58:12

Flex4
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美视频三区 | 日韩精品一区二区三区在线观看 | 91国产视频在线观看 | 成人影院在线 | 国产福利91精品一区二区三区 | 99久久精品免费看国产高清 | 瑟瑟激情 | 亚洲网址 | 一级特黄a大片 | 天堂久久av| 午夜在线影院 | 国产免费一区二区三区 | 亚洲欧美在线观看 | 亚洲精品一区中文字幕乱码 | av网站免费在线观看 | 五月婷婷在线视频 | 99re66在线观看精品热 | 欧美日韩视频在线第一区 | 午夜影院在线观看免费 | www.久久久 | 日韩中文字幕第一页 | 国产精品久久久亚洲 | 亚洲精品区 | av手机在线播放 | 欧美一区二区三区视频在线播放 | 国产精品免费大片 | 四虎影视一区二区 | 日韩在线观看中文字幕 | 99国内精品久久久久久久 | 欧美日韩一区在线 | 欧美成人a| 一区二区三区四区国产 | 狠狠的日| 99精品久久 | 国产1区2区3区 | 丝袜美腿一区二区三区动态图 | 9999在线视频 | 国产免费一区 | 99日韩| 亚洲色图网址 | 99久久夜色精品国产亚洲96 |