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