伺服器加強(安全篇)
前言:針對最近越來越多的安全事件曝光,伺服器的安全問題浮出水面,這裡介紹一些小的安全技巧,幫助加強伺服器。
注意:再高超的安全技術手段也比不了良好的安全意識!
一、資訊安全防護的目标
保密性,Confidentiality
完整性,Integrity
可用性,Usability
可控制性,Controlability
不可否認性,Non-repudiation
二、安全防護環節
實體安全:各種裝置/主機、機房環境
系統安全:主機或裝置的作業系統
應用安全:各種網絡服務、應用程式
網絡安全:對網絡通路的控制、防火牆規則
資料安全:資訊的備份與恢複、加密解密
管理安全:各種保障性的規範、流程、方法
三、LINUX系統加強
1、阻止普通使用者關機
[root@svr1 ~]# cd /etc/security/console.apps/
[root@svr1 console.apps]# mkdir -m 700 locked
[root@svr1 console.apps]# mv poweroff locked/
2、設定普通使用者密碼各個時間:
[root@localhost ~]# chage -m 1 -M 90 -W 5 -I 3 -E 2014-03-15 bob
-m密碼最短有效時間
-M最長
-W:警告waring
-I:不活躍時間inactive
-E:失效時間 expire
設定普通使用者下一次登陸必須改密碼
[root@localhost ~]# chage -d 0 alice
3、清理非登入賬号
删除備援賬号 ;
/sbin/nologin,禁止登入shell
4、帳号鎖定操作
[root@localhost ~]# passwd -l alice
[root@localhost ~]# passwd -S alice
[root@localhost ~]# passwd -u alice
[root@localhost ~]# usermod -L alice
[root@localhost ~]# usermod -U alice
-l:鎖定、-u解鎖、-S檢視狀态、
-L:usermod下的鎖定;
U:usermod的解鎖
5、配置檔案/etc/login.defs
對建立的使用者有效
主要控制屬性
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_WARN_AGE
6、設定最大曆史指令條目數
# vim /etc/profile ->改HISTSIZE參數
HISTSIZE
7、檔案系統規劃及挂載
mount挂載選項
-o noexec :不可執行
-o nosuid :
SUID:如果一個可執行檔案對于所有使用者有x權限。而且設定了suid
,那麼給檔案在執行期間就具有了屬主的的權限
8、合理挂載檔案系統
/etc/fstab中的defaults是挂載選項,
可以添加ro(隻讀)等限制
9、檔案加鎖、解鎖
把/etc/hosts變成絕對隻讀檔案
chattr +I /etc/hosts
把/etc/hosts變成隻能追加内容的檔案
chattr +a /etc/hosts
chattr +/- i/a
lsattr /etc/hosts
+a:追加
+i:隻讀(一成不變的)
(change attribute + immutable)
(change attribute + append only)
10、tty終端控制
配置檔案 /etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-6]//預設允許使用
1-6個tty終端
立即禁止普通使用者登入
#touch /etc/nologin//預設是沒有這個檔案的,建立一個
空檔案之後,普通用
戶是無法登陸的
隻允許root從指定的幾個終端登入
配置檔案 /etc/securetty
11、僞裝終端登陸提示,防止系統版本資訊洩漏
#vim /etc/issue//本地登陸提示資訊
/etc/issue.net//網絡登陸提示資訊,如
telnet
12、禁止Ctrl+Alt+Del重新開機
配置檔案:/etc/init/control-alt-delete.conf
[root@svr1 ~]# vim /etc/init/control-alt-delete.conf
# start on control-alt-delete//注釋掉此行即可
exec /sbin/shutdown -r now .. ..
13、GRUB引導控制
引導設密的作用:
-- 限制修改啟動參數
-- 限制進入系統
密碼設定方法:
-- passwd --md5 加密的密碼串
-- 或者,passwd 明文密碼串
[root@svr1 ~]# grub-md5-crypt//生成MD5加密的密碼串
[root@svr1 ~]# vim /boot/grub/grub.conf
default=0
timeout=3
password --md5 $1$tt3gH1$8nZtL70J/Gv/dAaUm/1
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 .. ..
initrd /initramfs-2.6.32-358.el6.x86_64.img
14、sudo
管理者需要讓tom和Alice管理使用者的建立、删除、修改、設定密碼操
作。但是又不能把root密碼告訴他們。
# visudo#建議用visudo指令,因為有文法檢查;也可以
用vim 編輯/etc/sudoers
User_Alias USERADMINS = tom, alice
Cmnd_Alias USEROP = /usr/sbin/useradd, /usr/sbin/userdel,
/usr/sbin/usermod, /usr/bin/passwd
USERADMINS ALL=(ALL) USEROP
# su - tom
# sudo useradd zhangsan
15、初始化作業系統
# touch /.unconfigured #重新開機之後系統會要求你重新修改密
碼,配置ip位址
# reboot
#重新開機之後/.unconfigured文
件會消失
16、安全使用程式和服務
禁用非必要的系統服務
#ntsysv
關閉像NetworkManager這樣的系統服務
或者用chkconfig
# chkconfig NetworkManager off
17.tty終端控制
允許啟用哪些tty終端
配置檔案:/etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-6]
編輯/etc/nologin,把需要禁止的使用者名寫進去;
注意檔案預設是不存在的,需要手動建立
配置檔案:/etc/securetty
18.僞裝終端登入提示
配置檔案:/etc/issue . /etc/issue.net
避免洩漏系統和核心資訊
19.利用pam機制:
例一:隻有wheel組的成員才可以切換成root使用者
# vim /etc/pam.d/su ->打開auth required 這行的注釋
以tom身份登陸,執行su –操作,即使輸入正确的root密碼,也不能登陸
# usermod -aG wheel tom ->把tom加入到wheel組
再次執行su –操作,tom可以切換成root使用者
例二:禁止tom從tty2登陸
# vim /etc/pam.d/login ,加入下面一行
account required pam_access.so
# vim /etc/security/access.conf ,尾部增加
- : tom : tty2
例三:隻允許tom使用者打開兩個檔案
檢視/etc/pam.d/system-auth中包含
session required pam_limits.so
# vim /etc/security/limits.conf ,尾部增加
tom hard nofile 2
不管是切換成為tom,還是以tom身份登陸 ,都被禁止。
例四:建立檔案/etc/vsftpd/ftpgrps,該檔案中的組不能通路ftp
groupadd denyftp
# usermod -aG denyftp tom
# echo ‘denyftp’ > /etc/vsftpd/ftpgrps
# vim /etc/pam.d/vsftpd ,尾部增加
auth required pam_listfile.so item=group sense=deny file=/etc/vsftpd/ftpgrps onerr=succeed
驗證,tom登陸ftp,登陸不成功,檢查/var/log/secure日志
本文轉自Jx戰壕 51CTO部落格,原文連結:http://blog.51cto.com/xujpxm/1397476 ,如需轉載請自行聯系原作者