Linux服务器如何加固(安全篇)

针对最近越来越多的安全事件曝光,服务器的安全问题浮出水面,这里介绍总结一些小的安全技巧,帮助加固服务器。

注意:再高超的安全技术手段也比不了良好的安全意识!

一、信息安全防护的目标

  • 保密性,Confidentiality
  • 完整性,Integrity
  • 可用性,Usability
  • 可控制性,Controlability
  • 不可否认性,Non-repudiation

二、安全防护环节

  • 物理安全:各种设备/主机、机房环境
  • 系统安全:主机或设备的操作系统
  • 应用安全:各种网络服务、应用程序
  • 网络安全:对网络访问的控制、防火墙规则
  • 数据安全:信息的备份与恢复、加密解密
  • 管理安全:各种保障性的规范、流程、方法

三、LINUX系统加固

1、阻止普通用户关机

  1. [root@svr1 ~]# cd /etc/security/console.apps/  
  2. [root@svr1 console.apps]# mkdir -m 700 locked 
  3. [root@svr1 console.apps]# mv poweroff locked/ 

2、设置普通用户密码各个时间:

-m密码最短有效时间

-M最长

-W:警告waring

-I:不活跃时间inactive

-E:失效时间 expire

设置普通用户下一次登陆必须改密码

  1. [root@localhost ~]# chage -d 0 alice 

3、清理非登录账号

删除冗余账号 ;

/sbin/nologin,禁止登录shell

4、帐号锁定操作

  1. [root@localhost ~]# passwd -l alice 
  2. [root@localhost ~]# passwd -S alice 
  3. [root@localhost ~]# passwd -u alice 
  4. [root@localhost ~]# usermod -L alice 
  5. [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、设置最大历史命令条目数

  1. # vim /etc/profile ->改HISTSIZE参数 
  2. HISTSIZE 

7、文件系统规划及挂载

mount挂载选项

-o noexec :不可执行

-o nosuid :

SUID:如果一个可执行文件对于所有用户有x权限。而且设置了suid,那么给文件在执行期间就具有了属主的的权限

8、合理挂载文件系统

/etc/fstab中的defaults是挂载选项,

可以添加ro(只读)等限制

9、文件加锁、解锁

把/etc/hosts变成绝对只读文件

把/etc/hosts变成只能追加内容的文件

  1. # chattr +a /etc/hosts 
  2. # chattr +/- i/a 
  3. # lsattr /etc/hosts 

+a:追加

+i:只读(一成不变的)

(change attribute + immutable)

(change attribute + append only)

10、tty终端控制

配置文件 /etc/sysconfig/init

  1. ACTIVE_CONSOLES=/dev/tty[1-6]//默认允许使用1-6个tty终端 

立即禁止普通用户登录

  1. # touch /etc/nologin 

默认是没有这个文件的,创建一个空文件之后,普通用户是无法登陆的,只允许root从指定的几个终端登录

配置文件 /etc/securetty

11、伪装终端登陆提示,防止系统版本信息泄漏

  1. #vim /etc/issue//本地登陆提示信息  
  2. /etc/issue.net//网络登陆提示信息,如telnet 

12、禁止Ctrl+Alt+Del重启

配置文件:/etc/init/control-alt-delete.conf

  1. [root@svr1 ~]# vim /etc/init/control-alt-delete.conf  
  2. # start on control-alt-delete//注释掉此行即可  
  3. exec /sbin/shutdown -r now .. .. 

13、GRUB引导控制

引导设密的作用:

-- 限制修改启动参数

-- 限制进入系统

密码设置方法:

-- passwd --md5 加密的密码串

-- 或者,passwd 明文密码串

  1. [root@svr1 ~]# grub-md5-crypt//生成MD5加密的密码串 
  2.  
  3. [root@svr1 ~]# vim /boot/grub/grub.conf 
  4.  
  5. default=0 
  6.  
  7. timeout=3 
  8.  
  9. password --md5 $1$tt3gH1$8nZtL70J/Gv/dAaUm/1 
  10.  
  11. title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) 
  12.  
  13. root (hd0,0) 
  14.  
  15. kernel /vmlinuz-2.6.32-358.el6.x86_64 .. .. 
  16.  
  17. initrd /initramfs-2.6.32-358.el6.x86_64.img 

14、sudo

管理员需要让tom和Alice管理用户的创建、删除、修改、设置密码操

作。但是又不能把root密码告诉他们。

# visudo #建议用visudo命令,因为有语法检查;也可以用vim 编辑/etc/sudoers

  1. [root@svr1 ~]# grub-md5-crypt//生成MD5加密的密码串 
  2. [root@svr1 ~]# vim /boot/grub/grub.conf 
  3. default=0 
  4. timeout=3 
  5. password --md5 $1$tt3gH1$8nZtL70J/Gv/dAaUm/1 
  6. title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) 
  7. root (hd0,0) 
  8. kernel /vmlinuz-2.6.32-358.el6.x86_64 .. .. 
  9. initrd /initramfs-2.6.32-358.el6.x86_64.img 

15、初始化操作系统

# touch /.unconfigured #重启之后系统会要求你重新修改密码,配置ip地址

# reboot

# 重启之后/.unconfigured文件会消失

16、安全使用程序和服务

禁用非必要的系统服务

  1. #ntsysv 

关闭像NetworkManager这样的系统服务或者用chkconfig

  1. # chkconfig NetworkManager off 

17.tty终端控制

允许启用哪些tty终端

配置文件:/etc/sysconfig/init

  1. ACTIVE_CONSOLES=/dev/tty[1-6] 

立即禁止普通用户登录

编辑/etc/nologin,把需要禁止的用户名写进去;注意文件默认是不存在的,需要手动创建

只允许root从指定的几个终端登录

配置文件:/etc/securetty

18.伪装终端登录提示

配置文件:/etc/issue . /etc/issue.net

避免泄漏系统和内核信息

19.利用pam机制:

例一:只有wheel组的成员才可以切换成root用户

  1. # vim /etc/pam.d/su ->打开auth required 这行的注释 

以tom身份登陆,执行su –操作,即使输入正确的root密码,也不能登陆

  1. # usermod -aG wheel tom ->把tom加入到wheel组 

再次执行su –操作,tom可以切换成root用户

例二:禁止tom从tty2登陆

  1. # vim /etc/pam.d/login ,加入下面一行 
  2.  
  3. account required pam_access.so 
  4.  
  5. # vim /etc/security/access.conf ,尾部增加 
  6.  
  7. - : tom : tty2 

例三:只允许tom用户打开两个文件

查看/etc/pam.d/system-auth中包含

session required pam_limits.so

# vim /etc/security/limits.conf ,尾部增加

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS