1、删除特殊用户和用户组
可删除用户:adm lp sync shutdown halt news uucp operator games gopher
可删除用户组:adm lp news uucp games dip pppusers popusers slipusers
//userdel groupdel
//usermod -s /sbin/nologin nagios
2、关闭系统不需要的服务
anacron auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed
firstboot gpm haldaemon hidd ip6tables ipsec isdn lpd mcstrans messagebus
netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd
rpcidmapd rstatd sendmail setroubleshoot yppasswdd ypserv
//chkconfig –level 345 sendmail off
3、密码安全策略
vi /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
PASS_MIN_LEN 9
//检查空密码 awk -F: ‘(1 }’ /etc/shadow
vi /etc/profile
TMOUT=600
4、sudo 编辑 vi /etc/sudoers
user01 ALL=(ALL) NOPASSWD:ALL
user02 ALL=NOPASSWD:/bin/nagios restart
user03 ALL=/bin/more /etc/shadow
5、删除登录欢迎信息
/etc/issue /etc/issue.net /etc/redhat-release /etc/motd
6、关闭ctrl+alt+del重启功能
删除文件/usr/lib/systemd/system/ctrl-alt-del.target
7、ssh 安全
port 22更改端口
PermitRootLogin no
MaxAuthTries 3
AllowUsers *@192.168.1.0 xx 多用户用逗号隔开
AllowGroups
DenyUsers
DenyGroups
8、启用tcp_wrappers
/etc/hosts.allow /etc/hosts.deny
sshd:192.168.1.21
sshd:192.168.2.21
sshd:ALL
9、锁定系统重要文件
chattr +i /etc/passwd shadow hosts resolv.conf fstab sudoers
10、文件权限检查和修改
查找所有写文件:find / -type f -perm -2 -o -perm -20|xargs ls -al
查找目录:find / -type d -perm -2 -o -perm -20|xargs ls -al
查找含有s位的程序:find / -type f -perm -4000 -o -perm -2000 -print|xargs ls -al
检查没有属主文件:find / -type f -nouser -o -nogroup
11、shell 的历史命令 vi /etc/bashrc
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT=’%F %T’
export HISTIMEFORMAT
//source /etc/bashrc
vi /etc/profile
//history
USER_IP = who -u am i 2> /dev/null | awk ‘{print USER_IP ]
then
USER_IP = hostname
fi
if [ ! -d HISTDIR
chmod 777 HISTDIR/HISTDIR/HISTDIR/HISTDIR/{USER_IP}.history.HISTDIR/${LOGNAME}/.history 2>/dev/null
//source /etc/profile
12、后门rootkit检查
yum -y install gcc gcc-c++ make cmake glibc-static glibc-utils
tar zxvf rkhunter-1.4.6.tar.gz -C /usr/local/
cd /usr/local/rkhunter-1.4.6/
./installer.sh –layout default –install
//开始检查 rkhunter -c
//每天定时执行
crontab -e
10 03 * * * /usr/local/bin/rkhunter –check –skip-keypress >/home/field/check_rkhunter/chk.txt
13、服务器遭受攻击后的处理:
切断网络
查看登录的用户 w
锁定可疑用户 passwd -l nobody
查看系统登录日志 more /var/log/secure|grep Accepted
查找PID下的文件信息 cat /proc/pid/exe
AIDE后门文件检查
yum install -y aide
vi /etc/aide.conf
@@define DBDIR /var/lib/aide #数据库目录
@@define LOGDIR /var/log/aide #日志目录
database=file:@@{DBDIR}/aide.db.gz #数据库文件
database_out=file:@@{DBDIR}/aide.db.new.gz
gzip_dbout=yes
verbose=5
report_url=file:@@{LOGDIR}/aide.log
report_url=stdout
p: permissions #权限
i: inode: #索引节点
n: number of links #链接数
u: user #用户
g: group #组
s: size #大小
b: block count # 块大小
m: mtime # 修改时间
a: atime # 访问时间
c: ctime # 改变时间
S: check for growing size #检查增加的大小
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
EVERYTHING = R+ALLXTRAHASHES
NORMAL = R+rmd160+sha256
DIR = p+i+n+u+g+acl+selinux+xattrs
PERMS = p+i+u+g+acl+selinux
LOG = >
LSPP = R+sha256
DATAONLY = p+n+u+g+s+acl+selinux+xattrs+md5+sha256+rmd160+tiger
mon = p+u+g+sha512+m+a+c # 自定义规则监控:权限+所有者+所属组+sha512+修改时间+访问时间+改变时间
/app mon #定义/app目录使用规则 mon
!/app/f3 #但是/app目录下的f3文件不监控,“!”表示忽略这个文件的检查
//初始化
aide –init
cd /var/lib/aide/
cp aide.db.new.gz aide.db.gz
aide –check //检查
//更新数据库
aide -c /etc/aide.conf –update #更新数据库
cp aide.db.new.gz aide.db.gz
aide –check //检查