Lniux服务器安全访问控制

Lniux服务器安全访问控制

限制本地登录root(IDC机房)

/etc/pam.d/login

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

SSH 远程限制

修改默认端口 (关键) cat /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用户身份登录

防火墙

#!/bin/bash

####---- 清空iptables策略 ----####
iptables -t nat -F #清空nat表
iptables -X
iptables -t nat -X

####---- INPUT链设置 ----####
iptables -P INPUT DROP  #INPUT默认拒绝
iptables -A INPUT -i lo -j ACCEPT #允许本地数据包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports  22,80,443,1194,1723,10051,6022 -j ACCEPT
#开放http、https、zabbix-agent、vpn(ssh通过vpn或修改默认端口)

iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT
iptables -I INPUT  -p icmp -j DROP
# ICMP ping协议


iptables -A INPUT -p tcp -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp -s  172.16.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/16 -j ACCEPT
# 信任内网网段

####---- 白名单ip ----####
iptables -A INPUT -p tcp -s 223.5.5.5 -j ACCEPT
# 信任白名单ip

iptables-save
service iptables save

TCPwrapper访问控制规则

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

sshd:192.168.10.1:allow
sshd:10.,172.16.,192.168.:allow

默认拒绝所有: /etc/hosts.deny

sshd:ALL

防止爆破防护脚本

/etc/hosts.deny

# sshd:ALL
# 注释默认不限制 (无固定ip或vpn拨入时)

/etc/hosts.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

日志记录 cat /root/SSH_Deny.log (外网vps主机没有修改默认端口每天都有爆破)

禁止ip数: 92 更新点:2017-04-03.19:00 禁止ip数: 93 更新点:2017-04-03.20:57

信任登录主机 如在家访问服务器,当服务器只开放远程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白名单

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券