#每日三件事,第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远程管理系统。