IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置:首頁服務器其他服務器 → linux服務器基本安全配置手冊

linux服務器基本安全配置手冊

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  假如你想要搭建一個Linux服務器,并且希望可以長期維護的話,就需要考慮安全性能與速度等眾多因素。一份正確的linux基本安全配置手冊就顯得格外重要。在我本文中就向大家介紹在edhat/centos 4,5下的Linux服務器基本安全配置手冊。

  安裝注意

  1.刪除系統(tǒng)特殊的的用戶帳號:

  禁止所有默認的被操作系統(tǒng)本身啟動的且不需要的帳號,當你第一次裝上系統(tǒng)時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。

  #為刪除你系統(tǒng)上的用戶,用下面的命令:

  [root@c1gstudio]# userdel username

  #批量刪除方式

  #這里刪除"adm lp sync shutdown halt mail news uucp operator games gopher ftp "賬號

  #如果你開著ftp等服務可以把ftp賬號保留下來。

  for i in adm lp sync shutdown halt mail news uucp ope

  rator games gopher ftp ;do userdel $i ;done

  2.刪除系統(tǒng)特殊的組帳號

  [root@c1gstudio]# groupdel groupname

  #批量刪除方式

  for i in adm lp mail news uucp games dip pppusers pop

  users slipusers ;do groupdel $i ;done

  3.用戶密碼設置

  安裝linux時默認的密碼最小長度是5個字節(jié),但這并不夠,要把它設為8個字節(jié)。修改最短密碼長度需要編輯login.defs文件#vi /etc/login.defs

  PASS_MAX_DAYS   99999    ##密碼設置最長有效期(默認值)

  PASS_MIN_DAYS   0  ##密碼設置最短有效期

  PASS_MIN_LEN    5  ##設置密碼最小長度,將5改為8

  PASS_WARN_AGE   7  ##提前多少天警告用戶密碼即將過期。

  然后修改Root密碼

  #passwd root

  New UNIX password:

  Retype new UNIX password:

  passwd: all authentication tokens updated successfully.

  4.修改自動注銷帳號時間

  自動注銷帳號的登錄,在linux系統(tǒng)中root賬戶是具有最高特權的。如果系統(tǒng)管理員在離開系統(tǒng)之前忘記注銷root賬戶,那將會帶來很大的安全隱患,應該讓系統(tǒng)會自動注銷。通過修改賬戶中"TMOUT"參數(shù),可以實現(xiàn)此功能。TMOUT按秒計算。編輯你的profile文件(vi /etc/profile),在"HISTSIZE="后面加入下面這行:

  TMOUT=300

  300,表示300秒,也就是表示5分鐘。這樣,如果系統(tǒng)中登陸的用戶在5分鐘內都沒有動作,那么系統(tǒng)會自動注銷這個賬戶。

  5.限制Shell命令記錄大小

  默認情況下,bash shell會在文件$HOME/.bash_history中存放多達500條命令記錄(根據(jù)具體的系統(tǒng)不同,默認記錄條數(shù)不同)。系統(tǒng)中每個用戶的主目錄下都有一個這樣的文件。在此筆者強烈建議限制該文件的大小。

  您可以編輯/etc/profile文件,修改其中的選項如下:

  HISTFILESIZE=30或HISTSIZE=30

  #vi /etc/profile

  HISTSIZE=30

  6.注銷時刪除命令記錄

  編輯/etc/skel/.bash_logout文件,增加如下行:

  rm -f $HOME/.bash_history

  這樣,系統(tǒng)中的所有用戶在注銷時都會刪除其命令記錄。

  如果只需要針對某個特定用戶,如root用戶進行設置,則可只在該用戶的主目錄下修改/$HOME/.bash_history文件,增加相同的一行即可。

  7.用下面的命令加需要的用戶組和用戶帳號

  [root@c1gstudio]# groupadd

  例如:增加website 用戶組,groupadd website

  然后調用vigr命令查看已添加的用戶組

  用下面的命令加需要的用戶帳號

  [root@c1gstudio]# useradd username -g website //添加用戶到website組(作為webserver的普通管理員,而非root管理員)

  然后調用vipw命令查看已添加的用戶

  用下面的命令改變用戶口令(至少輸入8位字母和數(shù)字組合的密碼,并將密碼記錄于本地機的專門文檔中,以防遺忘)

  [root@c1gstudio]# passwd username

  8.阻止任何人su作為root

  如果你不想任何人能夠su作為root,你能編輯/etc/pam.d/su加下面的行:

  #vi /etc/pam.d/su

  auth sufficient /lib/security/$ISA/pam_rootok.so debug

  auth required /lib/security/$ISA/pam_wheel.so group=website

  意味著僅僅website組的用戶可以su作為root.

  9.修改ssh服務的root登錄權限

  修改ssh服務配置文件,使的ssh服務不允許直接使用root用戶來登錄,這樣減少系統(tǒng)被惡意登錄攻擊的機會。

  #vi /etc/ssh/sshd_config

  PermitRootLogin yes

  將這行前的#去掉后,修改為:

  PermitRootLogin no

  10.修改ssh服務的sshd 端口

  ssh默認會監(jiān)聽在22端口,你可以修改至6022端口以避過常規(guī)的掃描。

  注意:修改端口錯誤可能會導致你下次連不到服務器,可以先同時開著22和6022兩個端口,然后再關掉22端口;

  重啟sshd不會彈掉你當前的連接,可以另外開一個客戶端來測試服務;

  #vi /etc/ssh/sshd_config

  #增加修改

  #Port 22 #關閉22端口

  Port 6022 #增加6022端口

  #重啟sshd服務

  service sshd restart

  檢查一下sshd的監(jiān)聽端口對不對

  netstat -lnp|grep ssh

  #iptables開放sshd的6022端口

  vi /etc/sysconfig/iptables

  #如果使用redhat默認規(guī)則則增加

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6022 -j ACCEPT

  #或

  iptables -A INPUT -p tcp --dport 6022 -j ACCEPT

  iptables -A OUTPUT -p udp --sport 6022 -j ACCEPT

  重啟iptables 服務

  service iptables restart

  #測試兩個端口是否都能連上,連上后再將22端口刪除

  詳細參考:

  Linux操作系統(tǒng)下SSH默認22端口修改方法

  11.關閉系統(tǒng)不使用的服務:

  cd /etc/init.d #進入到系統(tǒng)init進程啟動目錄

  在這里有兩個方法,可以關閉init目錄下的服務,

  一、將init目錄下的文件名mv成*.old類的文件名,即修改文件名,作用就是在系統(tǒng)啟動的時候找不到這個服務的啟動文件。

  二、使用chkconfig系統(tǒng)命令來關閉系統(tǒng)啟動等級的服務。

  注:在使用以下任何一種方法時,請先檢查需要關閉的服務是否是本服務器特別需要啟動支持的服務,以防關閉正常使用的服務。

  使用chkcofig命令來關閉不使用的系統(tǒng)服務 (level前面為2個減號)要想在修改啟動腳本前了解有多少服務正在運行,輸入:

  ps aux | wc -l

  然后修改啟動腳本后,重啟系統(tǒng),再次輸入上面的命令,就可計算出減少了多少項服務。越少服務在運行,安全性就越好。另外運行以下命令可以了解還有多少服務在運行:

  netstat -na --ip

  批量方式先停止服務

  for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai

  l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do service $i stop;done

  關閉啟動服務

  for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai

  l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do chkconfig $i off;done

  以下為手動方式及解釋,執(zhí)行批量方式后不需再執(zhí)行了

  chkconfig --level 345 apmd off ##筆記本需要

  chkconfig --level 345 netfs off ## nfs客戶端

  chkconfig --level 345 yppasswdd off ## NIS服務器,此服務漏洞很多

  chkconfig --level 345 ypserv off ## NIS服務器,此服務漏洞很多

  chkconfig --level 345 dhcpd off ## dhcp服務

  chkconfig --level 345 portmap off ##運行rpc(111端口)服務必需

  chkconfig --level 345 lpd off ##打印服務

  chkconfig --level 345 nfs off ## NFS服務器,漏洞極多

  chkconfig --level 345 sendmail off ##郵件服務, 漏洞極多

  chkconfig --level 345 snmpd off ## SNMP,遠程用戶能從中獲得許多系統(tǒng)信息

  chkconfig --level 345 rstatd off ##避免運行r服務,遠程用戶可以從中獲取很多信息

  chkconfig --level 345 atd off ##和cron很相似的定時運行程序的服務關鍵詞標簽:linux,服務器

相關閱讀

文章評論
發(fā)表評論

熱門文章 VMware中Shared Folders(共享文件夾)的配VMware中Shared Folders(共享文件夾)的配CentOS NTP服務器安裝與配置CentOS NTP服務器安裝與配置實戰(zhàn):RemoteApp服務器應用程序安裝實戰(zhàn):RemoteApp服務器應用程序安裝nginx搭建flv流媒體服務器nginx搭建flv流媒體服務器

相關下載

人氣排行 VMware中Shared Folders(共享文件夾)的配置nginx搭建flv流媒體服務器CentOS NTP服務器安裝與配置修改Windows Server 遠程登錄(遠程桌面)最大連接數(shù)目nginx的自動啟動腳本heartbeat+LVS-ipvsadm+ldirectord搭建lvs DR集群Windows 2003下配置架設NTP時間服務器五步解決“服務器超出最大允許連接數(shù)”錯誤