Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux安全:步步設防(2)

Linux安全:步步設防(2)

日期:2017/2/7 9:25:19      編輯:Linux教程

NFS服務

網絡文件系統是構成Unix世界文件共享訪問的基礎。如果希望禁止用戶任意的共享目錄,可以增加NFS限制,比如鎖定/etc/exports文件,並事先定義共享的目錄。如果不希望用戶共享,只限制用戶訪問,就需要修改NFS的啟動腳本。編輯/etc/init.d/nfs文件,找到守護進程一行並注釋掉。
/etc/init.d/nfs
# daemon rpc.nfsd $RPCNFSDCOUNT

系統中的很多配置文件和命令是很敏感的,修改權限和增加只讀屬性可以在一定程度上避免安全問題。
Chmod 700 /bin/rpm
#NFS共享目錄配置文件
chmod 600 /etc/exports
#主機訪問控制文件
chmod 600 /etc/hosts.*
chmod R 751 /var/log
chmod 644 /var/log/messages
#系統日志配置文件
chmod 640 /etc/syslog.conf
chmod 660 /var/log/wtmp
chmod 640 /var/log/lastlog
chmod 600 /etc/ftpusers
#用戶口令文件
chmod 644 /etc/passwd
chmod 600 /etc/shadow
#校驗模塊配置文件目錄
chmod R 750 /etc/pam.d
chmod 600 /etc/lilo.conf
#終端配置文件
chmod 600 /etc/securetty
chmod 400 /etc/shutdown.allow
#系統訪問安全配置文件
chmod 700 /etc/security
#網絡系統配置文件
chmod R 751 /etc/sysconfig
#超級守護進程配置文件
chmod 600 /etc/xinetd.conf
chmod 600 /etc/inetd.conf
chmod R 750 /etc/rc.d/init.d/
chmod 750 /etc/rc.d/init.d/*
#自動運行程序控制文件
chmod 600 /etc/crontab
chmod 400 /etc/cron.*
#SSH配置文件
chmod 750 /etc/ssh
#內核控制配置文件
chmod 400 /etc/sysctl.confg
chattr +I /etc/services
chattr +I /etc/group
chattr +I /etc/gshadow
chattr +I /etc/hosts.*
chattr +I /etc/xinetd.conf
chattr +I /etc/exports
chattr +I /bin/login
chattr +a /var/log/message

關注日志

首先要使用日志服務器。將客戶機的日志信息保存副本是好主意,創建一台服務器專門存放日志文件,可以通過檢查日志來發現問題。修改/etc/sysconfig/syslog文件加入接受遠程日志記錄。
/etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m r 0"

還應該設定日志遠程保存。修改/etc/syslog.conf文件加入日志服務器的設置,syslog將保存副本在日志服務器上。
/etc/syslog.conf
*.* @log_server_IP

可以使用彩色日志過濾器。彩色日志loco過濾器,目前版本是0.32。使用loco /var/log/messages | more可以顯示出彩色的日志,明顯標記出root的位置和日志中異常的命令。這樣可以減少分析日志時人為遺漏。
還要進行日志的定期檢查。Red Hat Linux中提供了logwatch工具,定期自動檢查日志並發送郵件到管理員信箱。需要修改/etc/log.d/conf/ logwatch.conf文件,在MailTo = root參數後增加管理員的郵件地址。Logwatch會定期檢查日志,過濾有關使用root、sudo、telnet、ftp登錄等信息,協助管理員分析日常安全。
檢查本機具有suid和sgid的文件。具有suid和sgid的文件具有相當的危險性。簡單說就是普通用戶使用這些命令時可以具有超級用戶的權限,用戶就直接進入超級用戶環境。有很多命令是需要suid和sgid的。在系統安裝時就把這些命令找到,並作為標准以比較出現問題的機器就可以發現安全問題。除了suid和sgid外,如果發現有些文件不屬於任何用戶,也可能是安全出現漏洞。下面的命令可以將以上的文件列表保存到文件中,備份這些文件,以後用來方便比較。
Find / -xdev -type f -perm +6000 2> /dev/null > /root/backup/audit/suid.log
find / -xdev -nouser -o -nogroup > /dev/null > /root/backup/audit/nouser.log
find / -xdev -type f -perm -2 > /dev/null > /root/backup/audit/other.log

使用SSH

當管理員遠程管理客戶機時,除了Webmin方便通過浏覽器管理外,命令行的使用更加快捷。而telnet是明文傳輸的,為了防止被嗅探器捕捉敏感信息,使用SSH是最好的選擇。SSH會在第一次連接時在通訊的兩台機器之間生成密鑰,隨後的通訊是通過加密方式傳輸的,嗅探器將無法有效地分析信息。如果是Linux直接使用SSH命令將可以連接到對方主機,如果是從Windows連接,則需要軟件的支持,推薦使用PuTTY,可以從http://www.chiark.greenend.org.uk/~sgtatham/putty/下載,目前的版本是0.52。SSH使用的是TCP端口22。注意不要使用任何r進程,比如rlogin、rcp等。

使用更安全的文件傳輸

除非需要FTP傳輸大量文件,不然可以使用SCP來代替。同SSH一樣,SCP是通過密鑰來創建加密通道的。在Windows上的WinSCP可以從http://winscp.vse.cz/下載,目前版本是2.0.0 (Build89)。但是如果需要傳輸大量的文件,SCP會導致處理器在處理加密上耗費過多的資源,可以使用proftp來代替。Red Hat Linux缺省使用的Wuftp服務,從http://www.proftpd.org/下載,目前的版本是1.2.4。

使用系統快照

系統快照是利用對系統文件編排數據庫來定期發現系統的變化。推薦使用tripwire,目前的版本是2.3.1-10。需要注意的是,tripwire的配置文件很全面,但是不一定適合你的系統,因此需要定制twpol.txt文件。定制的原則是首先安裝完整的系統,隨後安裝tripwire,使用缺省的配置文件制作系統快照。根據提示的錯誤信息,用#屏蔽掉多出來的配置信息,隨後重新生成數據庫。
Rpm ivh tripwire-2.3.1-10.i386.rpm
#修改twpol.txt文件,屏蔽掉系統中不存在的文件,隨後開始安裝
/etc/tripwire/twinstall.sh
#安裝會要求輸入生成密鑰的密碼和更新數據庫的密碼
#注意復制密鑰的操作,不然會在初始化中提示文件不存在的錯誤
cp /etc/tripwire/$HOSTNAME-local.key /etc/tripwire/localhost-local.key
#初始化tripwire,生成數據庫,其中會要求輸入密鑰的密碼
tripwire --init
#通過系統快照判斷系統的變化,並且發送郵件到指定用戶
tripwire --check -M

使用基於主機的入侵檢測

IDS可以幫助管理員發現突破安全的企圖。在企業中基於主機的入侵防御比基於網絡的更重要,畢竟企業的網絡是在防火牆後。建議使用snare,目前在Red Hat Linux 7.2上支持的版本是0.9-1,可以到http://www.intersectalliance.com下載。其中snare-core是核心的守護進程。Snare是圖形界面的顯示程序。安裝完畢後會產生名為audit的守護進程。Snare關心的是以root操作或修改文件權限,以及訪問敏感數據的日志。因此可以通過配置文件來定義適合自己系統的入侵檢測日志系統。缺省的安裝已經提供了完整的配置,可以滿足一般的需求。

其它安全工具

使用Bastille工具
Bastille是一組安全設置腳本的集合,前面的很多設置可以使用Bastille來自動完成。首次安裝完Bastille後,BastilleBackEnd可以使用以前設置好的配置文件。配置/etc/Bastille/config文件就可以完成安全腳本的定制。Bastille的一般配置中沒包括防火牆等參數。如果需要,可以在安裝完後使用InteractiveBastille.pl交互安裝。Bastille將會啟動向導窗口,只要選擇是或者否就可以生成適合自己系統的配置文件。Bastille的配置方案略。
使用木馬檢查工具
chkrootkit就是通過校驗系統中重要的命令,來判斷是否被替換,因為是根據已出現的木馬與後門工具編寫的,要注意經常更新。
使用自動運行程序
使用crontab可以減少管理員的工作強度。比如加入定期的tripwire校驗、chkrootkit校驗,並發送結果到管理員的制定信箱。
提醒大家注意:至少應有一台日志服務器,並且使用不同類型的Linux版本或者操作系統;所有的桌面機需在防火牆內,並且禁止使用調制解調器連接互聯網;至少有一個入侵檢測系統,多個傳感器分布在網絡中;至少有2名系統管理員互為備份;不要使用root直接登錄;不要使用telnet遠程登陸;任何的系統更改需要文檔化;畢竟一分預防勝於十分的治療。
以上僅僅是簡單的說明了企業中Linux安全的基本設置。如果連基本設置都沒有達到,安全問題將會困擾系統管理員。還有很多更復雜的安全設置沒有介紹,比如限制網絡的交互、限制資源等。因為介紹的是防火牆內的桌面機,所以防火牆、郵件服務器、文件和Web服務器的安全設定也都沒加以描述,但是決不是說安全照這樣做了,就可以高枕無憂。這些只是入門,還遠遠不夠。很多具體使用情況和更深入的配置歡迎關心Linux安全的管理員交流。 

Copyright © Windows教程網 All Rights Reserved