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等等。

阅读剩余
THE END