咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

如何保證linux服務器(qì)安全

發表日期:2014-09-30    文章編輯:    浏覽次數(shù):36    标簽:

一、系統安全記錄文件

操作(zuò)系統內(nèi)部的記錄文件是檢測是否有(yǒu)網絡入侵的重要線索。如果您的系統是直接連到Internet,您發現有(yǒu)很(hěn)多(duō)人(rén)對您的系統做(zuò)Telnet/FTP登錄嘗試,可(kě)以運行(xíng)“#more /var/log/secure grep refused”來(lái)檢查系統所受到的攻擊,以便采取相應的對策,如使用SSH來(lái)替換Telnet/rlogin等。

二、啓動和(hé)登錄安全性

1.BIOS安全IXPUB

設置BIOS密碼且修改引導次序禁止從軟盤啓動系統。

2.用戶口令

用戶口令是Linux安全的一個(gè)基本起點,很(hěn)多(duō)人(rén)使用的用戶口令過于簡單,這等于給侵入者敞開(kāi)了大(dà)門(mén),雖然從理(lǐ)論上(shàng)說,隻要有(yǒu)足夠的時(shí)間(jiān)和(hé)資源可(kě)以利用,就沒有(yǒu)不能破解的用戶口令,但(dàn)選取得(de)當的口令是難于破解的。較好的用戶口令是那(nà)些(xiē)隻有(yǒu)他自己容易記得(de)并理(lǐ)解的一串字符,并且絕對不要在任何地方寫出來(lái)。

3.默認賬号

應該禁止所有(yǒu)默認的被操作(zuò)系統本身啓動的并且不必要的賬号,當您第一次安裝系統時(shí)就應該這麽做(zuò),Linux提供了很(hěn)多(duō)默認賬号,而賬号越多(duō),系統就越容易受到攻擊。

可(kě)以用下面的命令删除賬号。

root@server /]# userdel 用戶名

或者用以下的命令删除組用戶賬号。

root@server /]# groupdel username

4.口令文件

chattr命令給下面的文件加上(shàng)不可(kě)更改屬性,從而防止非授權用戶獲得(de)權限。

root@server /]# chattr +i /etc/passwd

root@server /]# chattr +i /etc/shadow

root@server /]# chattr +i /etc/group

root@server /]# chattr +i /etc/gshadow

5.禁止Ctrl+Alt+Delete重新啓動機器(qì)命令

修改/etc/inittab文件,将“ca::ctrlaltdel:/sbin/shutdown -t3 -r now”一行(xíng)注釋掉。然後重新設置/etc/rc.d/init.d/目錄下所有(yǒu)文件的許可(kě)權限,運行(xíng)如下命令:

root@server /]# chmod -R 700 /etc/rc.d/init.d/*

這樣便僅有(yǒu)root可(kě)以讀、寫或執行(xíng)上(shàng)述所有(yǒu)腳本文件。

6.限制(zhì)su命令

如果您不想任何人(rén)能夠su作(zuò)為(wèi)root,可(kě)以編輯/etc/pam.d/su文件,增加如下兩行(xíng):

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/pam_wheel.so group=isd

這時(shí),僅isd組的用戶可(kě)以su作(zuò)為(wèi)root。此後,如果您希望用戶admin能夠su作(zuò)為(wèi)root,可(kě)以運行(xíng)如下命令:

root@server /]# usermod -G10 admin

7.删減登錄信息

默認情況下,登錄提示信息包括Linux發行(xíng)版、內(nèi)核版本名和(hé)服務器(qì)主機名等。對于一台安全性要求較高(gāo)的機器(qì)來(lái)說這樣洩漏了過多(duō)的信息。可(kě)以編輯/etc/rc.d/rc.local将輸出系統信息的如下行(xíng)注釋掉。

# 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

然後,進行(xíng)如下操作(zuò):

root@server /]# rm -f /etc/issue

root@server /]# rm -f /etc/issue.net

root@server /]# touch /etc/issue

root@server /]# touch /etc/issue.net

8.設置Grub密碼

root@server share]# grub-md5-crypt

Password: //輸入密碼

Retype password: //輸入确認密碼

$1$LlZDJ/$VxlsjlcR9vvWcI/YRHPpm0

vim /boot/grub/grub.conf

添加一行(xíng):password $1$LlZDJ/$VxlsjlcR9vvWcI/YRHPpm0

三、限制(zhì)網絡訪問

1.NFS訪問如果您使用NFS網絡文件系統服務,應該确保您的/etc/exports具有(yǒu)最嚴格的訪問權限設置,也就是意味着不要使用任何通(tōng)配符、不允許root寫權限并且隻能安裝為(wèi)隻讀文件系統。編輯文件/etc/exports并加入如下兩行(xíng)。

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

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

/dir/to/export 是您想輸出的目錄,host.mydomain.com是登錄這個(gè)目錄的機器(qì)名,ro意味着mount成隻讀系統,root_squash禁止root寫入該目錄。為(wèi)了使改動生(shēng)效,運行(xíng)如下命令。

root@server /]# /usr/sbin/exportfs -a

2.Inetd設置

首先要确認/etc/inetd.conf的所有(yǒu)者是root,且文件權限設置為(wèi)600。設置完成後,可(kě)以使用“stat”命令進行(xíng)檢查。

root@server /]# chmod 600 /etc/inetd.conf

然後,編輯/etc/inetd.conf禁止以下服務。

ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth

如果您安裝了ssh/scp,也可(kě)以禁止掉Telnet/FTP。為(wèi)了使改變生(shēng)效,運行(xíng)如下命令:

root@server /]# killall -HUP inetd

默認情況下,多(duō)數(shù)Linux系統允許所有(yǒu)的請(qǐng)求,而用TCP_WRAPPERS增強系統安全性是舉手之勞,您可(kě)以修改/etc/hosts.deny和(hé) /etc/hosts.allow來(lái)增加訪問限制(zhì)。例如,将/etc/hosts.deny設為(wèi)“ALL: ALL”可(kě)以默認拒絕所有(yǒu)訪問。然後在/etc/hosts.allow文件中添加允許的訪問。例如,“sshd: 192.168.1.10/255.255.255.0 gate.openarch.com”表示允許IP地址192.168.1.10和(hé)主機名gate.openarch.com允許通(tōng)過SSH連接。

配置完成後,可(kě)以用tcpdchk檢查:

root@server /]# tcpdchk

tcpchk是TCP_Wrapper配置檢查工具,它檢查您的tcp wrapper配置并報告所有(yǒu)發現的潛在/存在的問題。

3.登錄終端設置

/etc/securetty文件指定了允許root登錄的tty設備,由/bin/login程序讀取,其格式是一個(gè)被允許的名字列表,您可(kě)以編輯/etc/securetty且注釋掉如下的行(xíng)。

# tty1

# tty2

# tty3

# tty4

# tty5

# tty6

這時(shí),root僅可(kě)在tty1終端登錄。

4.避免顯示系統和(hé)版本信息。

如果您希望遠程登錄用戶看不到系統和(hé)版本信息,可(kě)以通(tōng)過一下操作(zuò)改變/etc/inetd.conf文件:

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

加-h表示telnet不顯示系統信息,而僅僅顯示“login:”。

5.不允許root用戶登錄服務器(qì)

root@server /]# vim /etc/ssh/sshd_config

修改:PermitRootLogin no

四、防止攻擊

1.阻止ping 如果沒人(rén)能ping通(tōng)您的系統,安全性自然增加了。

root@server /]# vim /etc/sysctl.conf

添加:net.ipv4.icmp_echo_ignore_all = 1

root@server /]# sysctl -p

2.防止IP欺騙

編輯host.conf文件并增加如下幾行(xíng)來(lái)防止IP欺騙攻擊。

order bind,hosts

multi off

nospoof on

3.防止DoS攻擊

對系統所有(yǒu)的用戶設置資源限制(zhì)可(kě)以防止DoS類型攻擊。如最大(dà)進程數(shù)和(hé)內(nèi)存使用數(shù)量等。例如,可(kě)以在

root@server /]# vim /etc/security/limits.conf中添加如下幾行(xíng):

* hard core 0

* hard rss 5000

* hard nproc 20

然後必須編輯/etc/pam.d/login文件檢查下面一行(xíng)是否存在。

session required /lib/security/pam_limits.so

上(shàng)面的命令禁止調試文件,限制(zhì)進程數(shù)為(wèi)50并且限制(zhì)內(nèi)存使用為(wèi)5MB。

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博