Linux 远程登陆安全加固的方案,附带用户行为简单监控脚本

Linux 远程登陆安全加固的方案,附带用户行为简单监控脚本。
(1)限制IP登陆
(2)限制ssh登陆,密码错误次数限制
(3)用户行为记录脚本
(4)一个组合使用方案


------------------(1)作用:限制IP登陆访问-------------------------
在 /etc/hosts.allow  添加以下内容【开放网段需要根据每个项目现场需求填写】


#允许IP 192.168.137.1 远程登录
sshd:192.168.137.1:allow 
#允许IP 192.168.137.网段远程登录 
sshd:192.168.137.*:allow 
#拒绝IP 192.168.137.2 远程登录 
sshd:192.168.137.2:deny 
#拒绝所有
sshd:all:deny    


放开限制:将添加的行前面全部加上 #  符号        


注意,匹配规则顺序执行。


------------------(2)作用:限制ssh远程登陆-------------------------
修改文件:
[root@hadoop001 ~]# vi /etc/pam.d/sshd 
#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth


在文件中#%PAM-1.0 下一行添加一条命令如下:
auth    required    pam_tally2.so    deny=2    unlock_time=999999 even_deny_root root_unlock_time=999999


放开限制:
在添加的语句那一行前面添加 # 符号


作用:
deny   允许输入错误次数
unlock_time  输入错误后自动解锁时间,单位秒
even_deny_root   root用户也被限制
root_unlock_time  root用户解锁时间,单位秒


解锁:
pam_tally2 –u root --reset


查看登陆错误次数:
pam_tally2 –u tom 


------------------(3)linux用户行为监控脚本-------------------------
作用:
将用户的行为记录在/pys/.hist 目录下,按用户进行分类存储。
每个用户使用什么ip地址和什么时间内连接上来的。都写在这个里面了。这样比较方便查看别人干什么了。


在/etc/profile 中添加:
#如果要修改提示符则用注释的,默认PS1 为脚本中生效的。
#PS1="`whoami`@`hostname`:"'[$PWD]'
PS1='[\u@\h \W]\$ '
# history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /pys/.hist ]
then
mkdir -p /pys/.hist
chmod 777 /pys/.hist
fi
if [ ! -d /pys/.hist/${LOGNAME} ]
then
mkdir -p /pys/.hist/${LOGNAME}
chmod 300 /pys/.hist/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y%m%d_%H%M%S"`
export HISTFILE="/pys/.hist/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 /pys/.hist/${LOGNAME}/*.hist* 2>/dev/null


停止记录:
将添加的行前面全部加上 # 符号


------------------(4)一个组合使用方案-------------------------
1、项目组准备对外网开放的跳板机,跳板机必须不带任何业务
2、首先在跳板机上做IP限制(操作2),仅对有需求网段开放
3、配置限制ssh远程登陆(操作3),如运维人员发现某个未知ip尝试暴力破解,导致跳板机用户锁死,通过查看登陆记录,将那个IP写入IP限制策略中。










你可能感兴趣的:(操作系统和主机,linux,脚本,ssh)