设置ssh密钥对无交互登录
1、客户端上生成密钥对
ssh-keygen
2、发布公钥到服务端
ssh-copy-id -i /root/.ssh/id-rsa.pub [email protected]
3.在客户端 ssh @[email protected] 即可实现无交互登录
安装fail2ban防止暴力破解
1、安装,可参照README.md文件
tar xvfj fail2ban-0.8.12.tar.bz2
cd fail2ban-0.8.12
python setup.py install
2、生成启动脚本
[root@fan_client_10 fail2ban-0.8.14]# cp file/redhat-initd /etc/init.d/fail2ban
3、配置文件
[root@fan_client_10 fail2ban-0.8.14]# ls /etc/fail2ban/
action.d fail2ban.conf fail2ban.d filter.d jail.conf jail.d
/etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
/etc/fail2ban/fail2ban.conf #定义了fai2ban日志级别、日志位置及sock文件位置
/etc/fail2ban/filter.d #条件文件夹,内含默认文件。过滤日志关键内容设置
/etc/fail2ban/jail.conf #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值
4、实例:
设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机1小时,1小时该限制自动解除,用户可重新登录。
添加对sshd服务的检查设置
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=ssh, [email protected], [email protected], sendername="Fail2Ban"]
logpath = /var/log/secure
maxretry = 3
findtime = 600
bantime = 3600
4、启动服务
service fail2ban start
5、测试
密码输入3次错误
查看防火墙:
新添了一条规则
查看failed2ban工作状态
[root@fan_client_10 fail2ban]# fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd
[root@fan_client_10 fail2ban]#
xinetd 超级互联网守护进程(telnet tftprsync)
xinetd(eXtended InterNETservices daemon) 扩展因特网服务守护进程
作用: 通过xinetd服务来管理一些功能简单小服务。如: telnet、rsync、 tftp服务等。并为这些服务提供安全访问控制功能。
1、安装
[root@fan_client_10 ~]# yum -y install xinetd
2、配置文件
[root@fan_client_10 ~]# ls /etc/xinetd.conf
/etc/xinetd.conf
[root@fan_client_10 ~]# grep include /etc/xinetd.conf --color
includedir /etc/xinetd.d 主配置文件中这行表示加载配置文件时,还会再加载/etc/xinetd.d目录中的配置文件
xinetd的主配置文件常用设置项:
#vim /etc/xinetd.conf
# no_access = 不能访问xinetd管理的那些服务的……
# only_from = 只能从……访问xinetd管理服务
(IP、192.168.10.0、192.168.18.0/24、.example.com)
cps = 50 10 超过50个连接时,暂停10秒
instances = 50 同时最大连接数
per_source = 10 同一来源的最大连接数
# bind = IP 监听IP(在哪个IP上提供服务)
安装被xinetd管理的那些服务:
[root@fan_client_10 ~]#yum -y installtelnet-server tftp-server rsync
启动rsync服务
[root@fan_client_10 ~]#vim /etc/xinetd.d/rsync
设置disabled=no
no意为启用这一项
启动服务:
[root@fan_client_10 ~]#service xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
如何判断rsync服务已经启动?
[root@fan_client_10 ~]# vim /etc/services
rsync 873/tcp # rsync
rsync 873/udp # rsync
[root@fan_client_10 ~]# netstat -anptu | grep 873
tcp 0 0 :::873 :::* LISTEN 44960/xinetd
另一种启动服务的方法:
vim /etc/xinetd.d/rsync
设置disabled = no
[root@fan_client_10 ~]# chkconfig rsync on #开启rsync服务
[root@fan_client_10 ~]# service xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
查看服务启动状态
[root@fan_client_10 ~]# netstat -anptu | grep 873
tcp 0 0 :::873 :::* LISTEN 44988/xinetd
telnet
1、安装telnet服务
服务端:
[root@fan_client_10 Packages]# yum -y install telnet-server
[root@fan_client_10 Packages]# vim /etc/xinetd.d/telnet
设置disabled = no
[root@fan_client_10 Packages]# service xinetd restart
客户端:[root@fan_client_40 Packages]# rpm -ivh ./telnet-0.17-47.el6_3.1.x86_64.rpm
[root@fan_client_40 Packages]# telnet 192.168.1.10
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
login: fantc
Password:
Last login: Mon Aug 29 02:01:49 from 192.168.1.40
[fantc@fan_client_10 ~]$