3、防火墙 打开 ssh 端口 sysemctl stop firewalld sysemctl disable firewalld yum install iptables* -y iptables -F iptables -X iptables -I INPUT -p tcp --dport 2222 -j ACCEPT service iptables save systemctl start iptables systemctl enable iptables
1、新增用户: useradd dk passwd dk 将普通用户dk加到sudo权限表,这样dk要权限的时候就sudo +命令: vi /etc/sudoers
找到root ALL=(ALL) ALL
在下面添加一行:新用户名 ALL=(ALL) ALL
:x! 保存退出
ssh(密钥登录): 1、ssh密钥制作:
ssh-keygen -t rsa 回车回车 su dk cd /home/dk/.ssh .将公钥文件重命名为authorized_keys $ mv id_rsa.pub authorized_keys 将目录.ssh权限设置为700,公钥文件authorized_keys设置为644 $ chmod 700 ../.ssh/ $ chmod 644 authorized_keys 下载id_rsa 私钥到你本地即可 2、修改sshd默认端口: #sudo vim /etc/ssh/sshd_config #port 22 改为 port 2222 #usedns yes 改为 usedns no #permitEmpt passwords yes 改为 permitEmpt passwords no #PasswordAuthentication yes改为 PasswordAuthentication no # 禁用密码登录
#PermitRootLogin yes改为 PermitRootLogin no(最后改这个,禁用root用ssh远程登录 )
#print last login yes 改为 print last login yes #printmotd yes 改为 printmotd yes 修改ssh连接警告信息: #vim /etc/motd
warning! this is dk'centos!!! chkconfig sshd on service sshd restart
4、selinux:
#setenforce 0 临时关闭selinux
#vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled 永久关闭
ip地址: #vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.63 PREFIX=24 GATEWAY=192.168.1.1
DNS1=8.8.8.8 NETMASK=255.255.255.0 修改dns地址: #etc/resolv.conf nameserver 114.114.114.114 #service network restart
fail2ban: #tar zxvf fail2ban-0.8.10.tar.gz
#cd fail2ban-0.8.10
#python setup.py install
#cd files
cp ./redhat-initd /etc/init.d/fail2ban
#chkconfig --add fail2ban
#service fail2ban start
注意:如果重起iptables 记的一定还要重起fail2ban,不然他就不能生效,fail2ban的过滤表是在iptables 启动后在加入的。
二、配置
1、fail2ban本身配置
默认fail2ban.conf里面就三个参数,而且都有注释。
vi /etc/fail2ban/fail2ban.conf
#默认日志的级别
loglevel = 3
#日志的存放路径
logtarget = /var/log/fail2ban.log
#socket的位置
socket = /tmp/fail2ban.sock
2、fail2ban防护配置
全局设置
vi /etc/fail2ban/jail.conf
忽悠 IP范围 如果有二组以上用空白做为间隔
ignoreip = 127.0.0.1/24 #黑名单/拒绝链接的名单
设定 IP 被封锁的时间(秒),如果值为 -1,代表永远封锁
bantime = 86400
设定在多少时间内达到 maxretry 的次数就封锁
findtime = 600
设定在多少时间内达到 maxretry 的次数就封锁
maxretry = 3
允许尝试的次数
分类设置
#针对sshd暴力***防护
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=2222, protocol=tcp]
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
logpath = /var/log/secure
如果有个别的次数设定就设在这里
maxretry = 3
#针对vsftpd暴力***防护
[vsftpd-iptables]
enabled = true
filter = vsftpd
action = iptables[name=VSFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=VSFTPD, dest=you@mail.com]
logpath = /var/log/secure
maxretry = 3
#chkconfig --level 345 fail2ban on
#service fail2ban start
测试:
echo "test mail | mail -s test@xuegod.cn"
iptables -L