linux服务器安全

1、设置登录提示语
/etc/motd文件内容添加一下内容:
非系统管理员邀请请勿登录本服务器,否则后果自负!!

2、命令记录加上时间戳
/etc/bashrc文件最后添加以下内容:
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT='%F %T'
export HISTTIMEFORMAT


3、实现详细记录登录过系统的用户、IP地址、shell命令以及详细操作时间,并将这些信息以文件形式保存在一个安全的地方,以供系统审计和故障排查。
/etc/profile文件添加以下内容:

#history
USER_IP=`who -u am i 2>/dev/null |awk '{print $NF}' | sed -e 's/[ () ]//g' `
HISTDIR=/usr/share/.history
if [ -z $USER_IP ];then
        USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ];then
        mkdir -p $HISTDIR
        chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ];then
        mkdir -p $HISTDIR/${LOGNAME}
        chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null

使变量生效:
source /etc/profile




生成的日志192.168.2.112.history.20170105_164612格式为:
#1483605974
ll
#1483605978
exit

使用脚本chtime.sh把时间戳转换成时间:
#!/bin/sh
oldtime=`cat $1 |grep "#"|sed -e 's/#//g'`
for a in $oldtime;
do

        newtime=`date -d @$a`
        sed -i "s/$a/$newtime/g" $1
done

运行命令转换时间:
# chtime.sh  192.168.2.112.history.20170105_164612
#cat  192.168.2.112.history.20170105_164612

#2017年 01月 05日 星期四 16:46:14 CST
ll
#2017年 01月 05日 星期四 16:46:18 CST
exit




4、防止误删重要文件
只能向文件添加数据而不能删除文件
chattr +a filename
chattr -a filename   #移除权限
chattr -R +a filedir  #给整个目录赋权

设定文件不能被修改、删除、重命名、设定链接等,同时不能写入或新增内容。
chattr +i filename
chattr -i filename #移除权限

lsattr查询chattr赋权

你可能感兴趣的:(linux安全)