一、 用户账号安全优化

1、 基本安全措施

删除系统中不使用的用户和组

passwd  -l  zhangsan或  vi  /etc/shadow(用户名前加!)

userdel  lp

确认程序或服务用户的登录shell不可用

vi  /etc/passwd

usermod  s  /sbin/nologin  rpm

限制用户的密码有效期(最大天数)

vi  /etc/login.defs  (PASS_MAX_DAYS 30) 只对新建立的用户有效

chage  -M  30  zhangsan 对已有用户有效

指定用户在下次登录时必须修改密码

Chage  -d  0  zhangsan

限制用户密码的最小长度

vi  /etc/pam.d/system-auth

password  requisite  pam_cracklib.so  try_first_pass  retry=3  minlen=12

限制记录命令历史的条数

HISTSIZE=100

设置闲置超时自动注销终端

vi  /etc/profile

export  TMOUT=600

2、 使用su切换切换用户身份

gpasswd  -a  zhangsan  wheel

vi  /etc/pam.d/su

auth  required  pam_wheel.so  use_uid

3、 使用sudo提升执行权限

vi  /etc/sudoers 或 visudo

用户 主机名=(权限用户) NOPASSWD:命令列表

lisi localhost=/sbin/ifconfig

jerry localhost= NOPASSWD:/sbin/ifconfig

%wheel ALL=(ALL) NOPASSWD:ALL

zhangsan localhost=(lisi) NOPASSWD:ALL

使用sudo执行命令(以jerry为例)

sudo  -l

sudo  /sbin/ifconfig  eth0  10.0.0.1

二、 文件和文件系统安全优化

1、 文件系统层次的安全优化

合理规划系统分区

建议部分分区为独立的分区/boot/home/var/opt

通过挂载选项禁止执行set位程序、二进制程序

vi  /etc/fstab

/dev/sdc1 /var ext3 defaults,noexec 1  2

mount  -o  remount /var

锁定不希望更改的系统文件

chattr  +i  /etc/services  /etc/passwd  /boot/grub.conf

lsattr  /etc/passwd

chattr  -i  /etc/passwd

2、 应用程序和服务

关闭不需要的系统服务,如cupsdbluetooth

禁止普通用户执行init.d目录中的脚本

chmod  -R o-rwx  /etc/init.d

chmod  -R 750  /etc/init.d/

禁止普通用户执行控制台程序

cd  /etc/security/console.apps/

tar  jcpvf  /etc/conheplpw.tar.bz2  poweroff  halt  reboot  --remove

去除程序文件中非必需的set-uidset-gid附加权限

find  /  -type  f  -perm  +6000  >  /etc/sfilelist

vi  /usr/sbin/chksfile

#!/bin/bash

OLD_LIST=/etc/sfilelist

for  i  in  `find  /  -type  f  -perm  +6000`

do

grep  -F  $i  $OLD_LIST  >  /dev/null

[  $?  -ne  0  ]  &&  ls  -lh  $i

done

chmod  700  /usr/bin/chksfile

三、 系统引导和登录安全优化

1、开关机安全控制

调整BIOS引导设置(只设置系统硬盘启动,并设置BIOS口令)

防止用户Ctrl+Alt+Del热键重启系统(vi  /etc/inittab

2GRUB引导菜单加密

vi   /boot/grub/grub.conf

添加password  123456

(可通过grub-md5-crypt生成加密字串)

Password  --md5  加密字串

3、终端及登录控制

即时禁止普通用户登录: touch  /etc/nologin

控制服务器开放的tty终端 vi  /etc/inittab

控制允许root用户登录的tty终端  vi  /etc/securetty

更改系统登录提示,隐藏内核版本信息  vi  /etc/issuevi  /etc/issue.net

使用pam_access认证控制用户登录地点

禁止除了root以外的用户从tty1终端上登录系统

vi  /etc/pam.d/login

account  required  pam_access.so

vi  /etc/security/access.conf

- : ALL  EXCEPT root  :  tty1

禁止root用户从192.168.1.0/24172.16.0.0/16网络中远程登录

vi  /etc/pam.d/sshd

account   required  pam_access.so

vi  /etc/security/access.conf

- : root :192.168.1.0/24  172.16.0.0/8