Lniux服务器安全
 

物理机限制登录

/etc/pam.d/login

auth required pam_succeed_if.so user != root quiet
# 禁止本地root登陆

SSH 远程限制

修改默认端口

/etc/ssh/sshd_config

Port 2222 # 修改默认端口

ssh限制登录用户ip地址

/etc/ssh/sshd_config

Allowusers root@192.168.18.18 
Allowusers newuers@192.168.1.0/24
# 只允许192.168.18.18ip地址并且以root身份登录
# 只允许192.168.1.0网段以newusers用户身份登录

TCPwrapper访问控制规则

最好在白名单/etc/hosts.allow添加信任地址以防万一 ;例子:

sshd:192.168.10.1:allow
sshd:192.168.10.2:allow

拒绝ip的例子: /etc/hosts.deny

sshd:220.124.151.130:deny

防止爆破防护脚本

/root/SSH_Deny_Rule.sh

#!/bin/bash
grep Failed /var/log/secure |egrep -o '[0-9]{1,3}(\.[0-9]{1,3}){3}' |sort |uniq -c|sort -nr | awk '{if($1 > 8) print $2}' > /root/deny_ip
#ip尝试失败超过8次,记录到deny_ip文件里
for i in `cat /root/deny_ip`
do
echo "sshd:$i:deny" >> /etc/hosts.deny
rm /root/deny_ip -f
#清理临时文件
echo >  /var/log/secure
#清空secure记录
echo 禁止ip数: $(grep sshd /etc/hosts.deny |wc -l) 更新点:$(date +%Y-%m-%d.%H:%M) >> /root/SSH_Deny.log
#输出日志
done

添加计划任务

grep 'SSH' /var/spool/cron/root &>/dev/null  ||echo  '*/5 * * * *  sh /root/SSH_Deny_Rule.sh' >  /var/spool/cron/root

日志 /root/SSH_Deny.log

禁止ip数: 92 更新点:2017-04-03.19:00 禁止ip数: 93 更新点:2017-04-03.20:57 禁止ip数: 94 更新点:2017-04-03.22:04 禁止ip数: 95 更新点:2017-04-04.00:47 禁止ip数: 96 更新点:2017-04-04.01:20 禁止ip数: 97 更新点:2017-04-04.04:26

信任登录主机

如在家访问服务器,当服务器只开放远程ssh端口时想进一步获得其他端口如3306(mysql)的访问权限,必须登录成功才行。 vi /root/.bashrc

iptables -D INPUT -p tcp -s  $(last |head  -1|awk '{print $3}') -j ACCEPT
iptables -A INPUT -p tcp -s  $(last |head  -1|awk '{print $3}') -j ACCEPT
#针对家用动态ip地址,每次登录自动将其ip加入iptables白名单

文章作者: 以谁为师
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源!
              
  目录