LINUX安全強化

來源:互聯網
上載者:User

   一. 賬戶安全

  1.1 鎖定系統中多餘的自建帳號

  檢查方法:

  執行命令

  #cat /etc/passwd

  #cat /etc/shadow

  查看賬戶、口令檔案,與系統管理員確認不必要的帳號。對於一些保留的系統偽帳戶如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根據需要鎖定登陸。

  備份方法:

  #cp -p /etc/passwd /etc/passwd_bak

  #cp -p /etc/shadow /etc/shadow_bak

  加固方法:

  使用命令passwd -l <使用者名稱>鎖定不必要的帳號。

  使用命令passwd -u <使用者名稱>解鎖需要恢複的帳號。

  1.2設定系統口令策略

  檢查方法:

  使用命令

  #cat /etc/login.defs|grep PASS查看密碼原則設定

  備份方法:

  cp -p /etc/login.defs /etc/login.defs_bak

  加固方法:

  #vi /etc/login.defs修改設定檔

  PASS_MAX_DAYS 90 #建立使用者的密碼最長使用天數

  PASS_MIN_DAYS 0 #建立使用者的密碼最短使用天數

  PASS_WARN_AGE 7 #建立使用者的密碼到期提前提醒天數

  PASS_MIN_LEN 9 #最小密碼長度9

  1.3禁用root之外的超級使用者

  檢查方法:

  #cat /etc/passwd 查看口令檔案,口令檔案格式如下:

  login_name:password:user_ID:group_ID:comment:home_dir:command

  login_name:使用者名稱

  password:加密後的使用者密碼

  user_ID:使用者ID,(1 ~ 6000) 若使用者ID=0,則該使用者擁有超級使用者的許可權。查看此處是否有多個ID=0。

  group_ID:使用者組ID

  comment:使用者全名或其它注釋資訊

  home_dir:使用者根目錄

  command:使用者登入後的執行命令

  備份方法:

  #cp -p /etc/passwd /etc/passwd_bak

  加固方法:

  使用命令passwd -l <使用者名稱>鎖定不必要的超級賬戶。

  使用命令passwd -u <使用者名稱>解鎖需要恢複的超級賬戶。

  風險:需要與管理員確認此超級使用者的用途。

  1.4 限制能夠su為root的使用者

  檢查方法:

  #cat /etc/pam.d/su,查看是否有auth required /lib/security/pam_wheel.so這樣的配置條目

  備份方法:#cp -p /etc/pam.d /etc/pam.d_bak

  加固方法:

  #vi /etc/pam.d/su

  在頭部添加:

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

  這樣,只有wheel組的使用者可以su到root

  #usermod -G10 test 將test使用者加入到wheel組

  當系統驗證出現問題時,首先應當檢查/var/log/messages或者/var/log/secure中的輸出資訊,根據這些資訊判斷使用者帳號的有效

  性。如果是因為PAM驗證故障,而引起root也無法登入,只能使用single user或者rescue模式進行排錯。

  1.5 檢查shadow中空口令帳號

  檢查方法:

  #awk -F: '( == "") { print }' /etc/shadow

  備份方法:cp -p /etc/shadow /etc/shadow_bak

  加固方法:對空口令帳號進行鎖定,或要求增加密碼

  二、最小化服務

  2.1 停止或禁用與承載業務無關的服務

  檢查方法:

  #who –r或runlevel 查看當前init層級

  #chkconfig --list 查看所有服務的狀態

  備份方法:記錄需要關閉服務的名稱

  加固方法:

  #chkconfig --level <服務名> on|off|reset 設定服務在個init層級下開機是否啟動

  三、資料存取控制

  3.1 設定合理的初始檔案許可權

  檢查方法:

  #cat /etc/profile 查看umask的值

  備份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  umask=027

  風險:會修改建立檔案的預設許可權,如果該伺服器是WEB應用,則此項謹慎修改。

  四、網路存取控制

  4.1 使用SSH進行管理

  檢查方法:

  #ps –aef | grep sshd 查看有無此服務

  備份方法:

  加固方法:

  使用命令開啟ssh服務

  #service sshd start

  風險:改變管理員的使用習慣

  4.2 設定存取控制策略限制能夠管理原生IP地址

  檢查方法:

  #cat /etc/ssh/sshd_config 查看有無AllowUsers的語句

  備份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  加固方法:

  #vi /etc/ssh/sshd_config,添加以下語句

  AllowUsers *@10.138.*.* 此句意為:僅允許10.138.0.0/16網段所有使用者通過ssh訪問

  儲存後重啟ssh服務

  #service sshd restart

  風險:需要和管理員確認能夠管理的IP段

  4.3 禁止root使用者遠程登陸

  檢查方法:

  #cat /etc/ssh/sshd_config 查看PermitRootLogin是否為no

  備份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  加固方法:

  #vi /etc/ssh/sshd_config

  PermitRootLogin no

  儲存後重啟ssh服務

  service sshd restart

  4.4 限定信任主機

  檢查方法:

  #cat /etc/hosts.equiv 查看其中的主機

  #cat /$HOME/.rhosts 查看其中的主機

  備份方法:

  #cp -p /etc/hosts.equiv /etc/hosts.equiv_bak

  #cp -p /$HOME/.rhosts /$HOME/.rhosts_bak

  加固方法:

  #vi /etc/hosts.equiv 刪除其中不必要的主機

  #vi /$HOME/.rhosts 刪除其中不必要的主機

  風險:在多機互備的環境中,需要保留其他主機的IP可信任。

  4.5 屏蔽登入banner資訊

  檢查方法:

  #cat /etc/ssh/sshd_config 查看檔案中是否存在Banner欄位,或banner欄位為NONE

  #cat /etc/motd 查看檔案內容,該處內容將作為banner資訊顯示給登入使用者。

  備份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  #cp -p /etc/motd /etc/motd_bak

  加固方法:

  #vi /etc/ssh/sshd_config

  banner NONE

  #vi /etc/motd

  刪除全部內容或更新成自己想要添加的內容

  風險:無可見風險

  4.6 防止誤使用Ctrl+Alt+Del重啟系統

  檢查方法:

  #cat /etc/inittab|grep ctrlaltdel 查看輸入行是否被注釋

  備份方法:

  #cp -p /etc/inittab /etc/inittab_bak

  加固方法:

  #vi /etc/inittab

  在行開頭添加註釋符號“#”

  #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  五、使用者鑒別

  5.1 設定帳戶鎖定登入失敗鎖定次數、鎖定時間

  檢查方法:

  #cat /etc/pam.d/system-auth 查看有無auth required pam_tally.so條目的設定

  備份方法:

  #cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak

  加固方法:

  #vi /etc/pam.d/system-auth

  auth required pam_tally.so onerr=fail deny=6 unlock_time=300 設定為密碼連續錯誤6次鎖定,鎖定時間300秒

  解鎖使用者 faillog -u <使用者名稱> -r

  風險:需要PAM包的支援;對pam檔案的修改應仔細檢查,一旦出現錯誤會導致無法登陸;

  當系統驗證出現問題時,首先應當檢查/var/log/messages或者/var/log/secure中的輸出資訊,根據這些資訊判斷使用者帳號的有效性。

  5.2 修改帳戶TMOUT值,設定自動登出時間

  檢查方法:

  #cat /etc/profile 查看有無TMOUT的設定

  備份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  增加

  TMOUT=600 無操作600秒後自動結束

  風險:無可見風險

  5.3 Grub/Lilo密碼

  檢查方法:

  #cat /etc/grub.conf|grep password 查看grub是否設定密碼

  #cat /etc/lilo.conf|grep password 查看lilo是否設定密碼

  備份方法:

  #cp -p /etc/grub.conf /etc/grub.conf_bak

  #cp -p /etc/lilo.conf /etc/lilo.conf_bak

  加固方法:為grub或lilo設定密碼

  風險:etc/grub.conf通常會連結到/boot/grub/grub.conf

  5.4 限制FTP登入

  檢查方法:

  #cat /etc/ftpusers 確認是否包含使用者名稱,這些使用者名稱不允許登入FTP服務

  備份方法:

  #cp -p /etc/ftpusers /etc/ftpusers_bak

  加固方法:

  #vi /etc/ftpusers 添加行,每行包含一個使用者名稱,添加的使用者將被禁止登入FTP服務

  風險:無可見風險

  5.5 設定Bash保留曆史命令的條數

  檢查方法:

  #cat /etc/profile|grep HISTSIZE=

  #cat /etc/profile|grep HISTFILESIZE= 查看保留曆史命令的條數

  備份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  修改HISTSIZE=5和HISTFILESIZE=5即保留最新執行的5條命令

  六、審計策略

  6.1 配置系統日誌策略設定檔

  檢查方法:

  #ps –aef | grep syslog 確認syslog是否啟用

  #cat /etc/syslog.conf 查看syslogd的配置,並確認記錄檔是否存在

  系統日誌(預設)/var/log/messages

  cron日誌(預設)/var/log/cron

  安全日誌(預設)/var/log/secure

  備份方法:

  #cp -p /etc/syslog.conf

  6.2 為審計產生的資料分配合理的儲存空間和儲存時間

  檢查方法:

  #cat /etc/logrotate.conf 查看系統輪詢配置,有無

  # rotate log files weekly

  weekly

  # keep 4 weeks worth of backlogs

  rotate 4 的配置

  備份方法:

  #cp -p /etc/logrotate.conf /etc/logrotate.conf_bak

  加固方法:

  #vi /etc/logrotate.d/syslog

  增加

  rotate 4 記錄檔儲存個數為4,當第5個產生後,刪除最早的日誌

  size 100k 每個日誌的大小

  加固後應類似如下內容:

  /var/log/syslog/*_log {

  missingok

  notifempty

  size 100k # log files will be rotated when they grow bigger that 100k.

  rotate 5 # will keep the logs for 5 weeks.

  compress # log files will be compressed.

  sharedscripts

  postrotate

  /etc/init.d/syslog condrestart >/dev/null 2>1 || true

  endscript

  }

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。