centos deny centos7.0下载
很多朋友对于centos deny和centos7.0下载不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Centos下限制SSH登录次数详解
应公司内部网站等级测评的需求,正逐渐加强系统安全防护。
设备默认 3次验证失败自动退出,并且结束会话;网络登录连接超时自动退出时间 5分钟;
第一种方法:已验证。
1.ssh超时时间设置
# cd/etc/profile.d/#创建两个空白文件autologout.csh、autologout.sh用来保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh#编辑autologout.sh
#auto out in 5 minutes
TMOUT=300#超时时间,单位为s
readonly TMOUT#设置TMOUT变量只读
export TMOUT#设置环境TMOUT
# vi autologout.csh#编辑autologout.csh
set-r autologout 2
# chmod+x autologout.*#可执行权限,其实单给u+x就行了。
断开Client,重新登录终端5分钟不使用ssh就会自动断开连接.
2.ssh认证次数限制:
/etc/ssh/sshd_config
MaxAuthTries=3这仅是超过3次验证错误断开连接。
第二种方法:(试验中还是有问题出现)
原理:通过系统的pam认证实现。
1.备份/etc/pam.d/system_auth文件,更改:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_unix.so nullok try_first_pass将原来的sufficient改为required
#auth requisite pam_succeed_if.so uid>= 500 quiet注释掉此行
auth required pam_tally.so deny=3unlock_time=300增加一行,失败超过3次限制5分钟后登录
#auth required pam_deny.so注释掉此行
account required pam_unix.so
account sufficient pam_succeed_if.so uid<500 quiet
account required pam_permit.so
account required pam_tally2.so增加一行
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
2.建议sshtest帐户,进行密码错误登录验证。查看tail/var/log/secure|grep sshtest记录:
Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest(503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130 user=sshtest
帐户已被锁住,无法登录,等待5分钟后才能重新登录.
3.限制SSH过期时间:
/etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 60
CentOS中禁止用户ssh和sftp登陆的详解
CentOS中禁止用户ssh和sftp登陆的详解
在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作。我这里以centos操作系统为例记录下如何进行处理。
1、打开sshd的配置文件
?
1
vi/etc/ssh/sshd_config
2、修改该配置文件,增加或修改如下行
?
1
2
3
4
#禁止用户user1登陆,多个空格分隔
DenyUsers user1
#禁止用户组group1的所有用户登录,多个空格分隔
DenyGroups group1
3、保存配置后,重启sshd
?
1
/etc/rc.d/init.d/sshd restart
完成上面的配置后,就可以禁止用户或用户组的用户进行登录了,第2步中的两个是可以只填一个的,可以根据需要进行调整。配置完毕后,在其他linux机器上使用如下命令进行测试:
?
1
2
3
4
5
6
7
8
#使用ssh测试
[root@ServerA~]# ssh user1@192.168.1.168
user1@192.168.1.168's password:
Permission denied, please try again.
#使用sftp测试
[root@ServerA~]# sftp user1@192.168.1.168
user1@192.168.1.168's password:
Permission denied, please try again.
可以看到,确实被系统禁止了,从而也就完成了我们想要的控制了。但这个有一个缺陷是,无法禁止只允许sftp而不允许ssh,如果要这样做,估计只能够单独搭建ftp服务器,比如vsftp,后续再考虑这个。
Linux中hosts.allow与hosts.deny
linux /etc目录下有五个host开头的文件 :host.conf hostname hosts hosts.allow hosts.deny。
1、host.conf 文件指定如何解析主机名,笔者的centos7的/etc/host.conf里面是 multi on,即指定的主机可以有多个IP地址。
2、hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。
3、hostname是主机名,当你在命令行输入hostname时返回的主机名,也是环境变量中命令行 prompt显示的主机名。
4、 hosts负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。详情参考笔者的文章-linux中/etc/hosts文件配置。
先来测试一下hosts.allow与hosts.deny这两个配置文件设置ssh的连接。
hosts.deny中添加设置 sshd: ALL,再次使用ssh连接,会出现:ssh_exchange_identification: read: Connection reset的错误,但是已经连接上的ssh是不会中断的,说明 hosts.deny时在连接时查询的配置文件。
然后在hosts.allow中添加设置sshd: 192.168.56.1,再次使用ssh可以成功连接。
在设置屏蔽所有ssh后,在单独允许192.168.56.1这个ip地址,ssh是允许的,那么就存在优先级问题。优先级为先检查hosts.deny,再检查hosts.allow。
两个配置文件的格式如下:
服务进程名:主机列表:当规则匹配时可选的命令操作。
为了安全可以在hosts.deny文件中配置拒绝所有的访问ALL:ALL,然后在hosts.allow文件中逐个开放访问许可,增强安全性。
sshd可以换成其他服务进程名,比如httpd、telnetd等等。