1216.1408天:限制SSH

#每日三件事,第1408天#

等级保护测评中有一个要求是这样的:应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。

在Linux操作系统中,通过网络进行远程管理一般使用SSH协议。

第一,限制root账户SSH远程登录。在/etc/ssh/sshd_config中,将第38行:

# PermitRootLogin yes
修改为:
PermitRootLogin no

这样,root账户就无法通过ssh方式登录系统了。如果将root账户的shell修改为nologin,重新创建uid为0的账户。这一条对uid为0的账户是不起作用的,仅仅对名为“root”的账户起作用。

那么如何限制uid为0的账户SSH登录系统呢?

第二,限制特定账户通过SSH登录系统。在/etc/ssh/sshd_config中,添加:

AllowUsers  test01 user01

这样以来就只允许test01和user01账户通过SSH登录系统了,其他账户是无法登录的,会显示权限不够:

ssh test@192.168.0.10
test@192.168.0.10's password: 
Permission denied, please try again.
test@192.168.0.10's password: 
Permission denied, please try again.
test@192.168.0.10's password: 
test@192.168.0.10: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

输入三次密码之后会拒绝登录。

想要限制登录账户的IP地址,一种方式是在/etc/hosts.allow文件中,另一种方式是在/etc/ssh/sshd_config中。

限制SSH登录地址,方式一:

修改/etc/hosts.allow:
sshd:192.168.0.10

或者是限制一个网段:
sshd:192.168.0.10/24

只有列表中的ip地址可以通过ssh登录系统,至于用这个ip地址使用哪个账户,就控制不了了。

限制SSH登录地址,方式二:

修改/etc/ssh/sshd_config:
AllowUsers test01@192.168.0.100

这样就限制了特定账户通过特定IP地址通过SSH远程管理系统。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容