淺談Linux操作系統(tǒng)的安全設(shè)置
如今linux系統(tǒng)安全變的越來(lái)越重要了,這里我想把我平時(shí)比較常使用的一些linux下的基本的安全措施寫出來(lái)和大家探討一下,讓我們的linux系統(tǒng)變得可靠。
1、BIOS的安全設(shè)置
這是最基本的了,也是最簡(jiǎn)單的了。一定要給你的BIOS設(shè)置密碼,以防止通過(guò)在BIOS中改變啟動(dòng)順序,而可以從軟盤啟動(dòng)。這樣可以阻止別有用心的試圖用特殊的啟動(dòng)盤啟動(dòng)你的系統(tǒng),還可以阻止別人進(jìn)入BIOS改動(dòng)其中的設(shè)置,使機(jī)器的硬件設(shè)置不能被別人隨意改動(dòng)。
2、LILO的安全設(shè)置
LILO是linux LOader的縮寫,它是linux的啟動(dòng)模塊??梢酝ㄟ^(guò)修改“/etc/lilo.conf”文件中的內(nèi)容來(lái)進(jìn)行配置。在/etc/lilo.conf文件中加如下面兩個(gè)參數(shù):restricted,password.這三個(gè)參數(shù)可以使你的系統(tǒng)在啟動(dòng)lilo時(shí)就要求密碼驗(yàn)證。
第一步:編輯lilo.conf文件(vi /etc/lilo.comf),假如或改變這三個(gè)參數(shù):
- boot=/dev/hda
- map=/boot/map
- install=/boot/boot.b
- prompt
- timeout=00 #把這行該為00,這樣系統(tǒng)啟動(dòng)時(shí)將不在等待,而直接啟動(dòng)linux
- message=/boot/message
- linear
- default=linux
- restricted #加入這行
- password= #加入這行并設(shè)置自己的密碼
- image=/boot/vmlinuz-2.4.2-2
- label=linux
- root=/dev/hda6
- read-only
第二步:因?yàn)?ldquo;/etc/lilo.conf”文件中包含明文密碼,所以要把它設(shè)置為root權(quán)限讀取。
- # chmod 0600 /etc/lilo.conf
第三步:更新系統(tǒng),以便對(duì)“/etc/lilo.conf”文件做的修改起作用。
- # /sbin/lilo -v
第四步:使用“chattr”命令使“/etc/lilo.conf”文件變?yōu)椴豢筛淖儭?/p>
- # chattr +i /etc/lilo.conf
這樣可以在一定程度上防止對(duì)“/etc/lilo.conf”任何改變(意外或其他原因)
3、讓口令更加安全
口令可以說(shuō)是系統(tǒng)的第一道防線,目前網(wǎng)上的大部分對(duì)系統(tǒng)的攻擊都是從截獲口令或者猜測(cè)口令開始的,所以我們應(yīng)該選擇更加安全的口令。
首先要杜絕不設(shè)口令的帳號(hào)存在。這可以通過(guò)查看/etc/passwd文件發(fā)現(xiàn)。例如,存在的用戶名為test的帳號(hào),沒(méi)有設(shè)置口令,則在/etc/passwd文件中就有如下一行:
- test::100:9::/home/test:/bin/bash
其第二項(xiàng)為空,說(shuō)明test這個(gè)帳號(hào)沒(méi)有設(shè)置口令,這是非常危險(xiǎn)的!應(yīng)將該類帳號(hào)刪除或者設(shè)置口令。
其次,在舊版本的linux中,在/etc/passwd文件中是包含有加密的密碼的,這就給系統(tǒng)的安全性帶來(lái)了很大的隱患,最簡(jiǎn)單的方法就是可以用暴力破解的方法來(lái)獲得口令。可以使用命/usr/sbin/pwconv或者/usr/sbin/grpconv來(lái)建立/etc/shadow或者/etc/gshadow文件,這樣在/etc/passwd文件中不再包含加密的密碼,而是放在/etc/shadow文件中,該文件只有超級(jí)用戶root可讀!
第三點(diǎn)是修改一些系統(tǒng)帳號(hào)的Shell變量,例如uucp,ftp和news等,還有一些僅僅需要FTP功能的帳號(hào),一定不要給他們?cè)O(shè)置/bin/bash或者/bin/sh等Shell變量。可以在/etc/passwd中將它們的Shell變量置空,例如設(shè)為/bin/false或者/dev/null等,也可以使用usermod -s /dev/nullusername命令來(lái)更改username的Shell為/dev/null.這樣使用這些帳號(hào)將無(wú)法Telnet遠(yuǎn)程登錄到系統(tǒng)中來(lái)!
第四點(diǎn)是修改缺省的密碼長(zhǎng)度:在你安裝linux時(shí)默認(rèn)的密碼長(zhǎng)度是5個(gè)字節(jié)。但這并不夠,要把它設(shè)為8.修改最短密碼長(zhǎng)度需要編輯login.defs文件(vi/etc/login.defs),把下面這行
- PASS_MIN_LEN 5
- 改為
- PASS_MIN_LEN 8
login.defs文件是login程序的配置文件。
4、自動(dòng)注銷帳號(hào)的登錄
在unix系統(tǒng)中root賬戶是具有最高特權(quán)的。如果系統(tǒng)管理員在離開系統(tǒng)之前忘記注銷root賬戶,那將會(huì)帶來(lái)很大的安全隱患,應(yīng)該讓系統(tǒng)會(huì)自動(dòng)注銷。通過(guò)修改賬戶中“TMOUT”參數(shù),可以實(shí)現(xiàn)此功能。TMOUT按秒計(jì)算。編輯你的profile文件(vi/etc/profile),在“HISTFILESIZE=”后面加入下面這行:
- TMOUT=300
300,表示300秒,也就是表示5分鐘。這樣,如果系統(tǒng)中登陸的用戶在5分鐘內(nèi)都沒(méi)有動(dòng)作,那么系統(tǒng)會(huì)自動(dòng)注銷這個(gè)賬戶。你可以在個(gè)別用戶的“。bashrc”文件中添加該值,以便系統(tǒng)對(duì)該用戶實(shí)行特殊的自動(dòng)注銷時(shí)間。
改變這項(xiàng)設(shè)置后,必須先注銷用戶,再用該用戶登陸才能激活這個(gè)功能。
5、取消普通用戶的控制臺(tái)訪問(wèn)權(quán)限
你應(yīng)該取消普通用戶的控制臺(tái)訪問(wèn)權(quán)限,比如shutdown、reboot、halt等命令。
- # rm -f /etc/security/console.apps/
是你要注銷的程序名。
6、取消并反安裝所有不用的服務(wù)
取消并反安裝所有不用的服務(wù),這樣你的擔(dān)心就會(huì)少很多。察看“/etc/inetd.conf”文件,通過(guò)注釋取消所有你不需要的服務(wù)(在該服務(wù)項(xiàng)目之前加一個(gè)“#”)。然后用“sighup”命令升級(jí)“inetd.conf”文件。