前言:針對最近越來越多的安全事件曝光,服務器的安全問題浮出水面,這里介紹總結一些小的安全技巧,幫助加固服務器。
注意:再高超的安全技術手段也比不了良好的安全意識!
一、信息安全防護的目標
- 保密性,Confidentiality
- 完整性,Integrity
- 可用性,Usability
- 可控制性,Controlability
- 不可否認性,Non-repudiation
二、安全防護環(huán)節(jié)
- 物理安全:各種設備/主機、機房環(huán)境
- 系統(tǒng)安全:主機或設備的操作系統(tǒng)
- 應用安全:各種網絡服務、應用程序
- 網絡安全:對網絡訪問的控制、防火墻規(guī)則
- 數據安全:信息的備份與恢復、加密解密
- 管理安全:各種保障性的規(guī)范、流程、方法
三、LINUX系統(tǒng)加固
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查看狀態(tài)、
-L:usermod下的鎖定;
U:usermod的解鎖
5、配置文件/etc/login.defs
對新建的用戶有效
主要控制屬性
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_WARN_AGE
6、設置最大歷史命令條目數
# vim /etc/profile ->改HISTSIZE參數
HISTSIZE
7、文件系統(tǒng)規(guī)劃及掛載
mount掛載選項
-o noexec :不可執(zhí)行
-o nosuid :
SUID:如果一個可執(zhí)行文件對于所有用戶有x權限。而且設置了suid
,那么給文件在執(zhí)行期間就具有了屬主的的權限
8、合理掛載文件系統(tǒng)
/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
默認是沒有這個文件的,創(chuàng)建一個空文件之后,普通用戶是無法登陸的,只允許root從指定的幾個終端登錄
配置文件 /etc/securetty
11、偽裝終端登陸提示,防止系統(tǒng)版本信息泄漏
#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引導控制
引導設密的作用:
-- 限制修改啟動參數
-- 限制進入系統(tǒng)
密碼設置方法:
-- 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管理用戶的創(chuàng)建、刪除、修改、設置密碼操
作。但是又不能把root密碼告訴他們。
# visudo #建議用visudo命令,因為有語法檢查;也可以用vim 編輯/etc/sudoers
[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
15、初始化操作系統(tǒng)
# touch /.unconfigured #重啟之后系統(tǒng)會要求你重新修改密碼,配置ip地址
# reboot
# 重啟之后/.unconfigured文件會消失
16、安全使用程序和服務
禁用非必要的系統(tǒng)服務
#ntsysv
關閉像NetworkManager這樣的系統(tǒng)服務或者用chkconfig
# chkconfig NetworkManager off
17.tty終端控制
允許啟用哪些tty終端
配置文件:/etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-6]
立即禁止普通用戶登錄
編輯/etc/nologin,把需要禁止的用戶名寫進去;注意文件默認是不存在的,需要手動創(chuàng)建
只允許root從指定的幾個終端登錄
配置文件:/etc/securetty
18.偽裝終端登錄提示
配置文件:/etc/issue . /etc/issue.net
避免泄漏系統(tǒng)和內核信息
19.利用pam機制:
例一:只有wheel組的成員才可以切換成root用戶
# vim /etc/pam.d/su ->打開auth required 這行的注釋
以tom身份登陸,執(zhí)行su –操作,即使輸入正確的root密碼,也不能登陸
# usermod -aG wheel tom ->把tom加入到wheel組
再次執(zhí)行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身份登陸 ,都被禁止。
例四:創(chuàng)建文件/etc/vsftpd/ftpgrps,該文件中的組不能訪問ftp