Linux中多种方法限制用户名+IP登录

简介: tcp_wrappers和iptables只能限制IP ssh和PAM可以限制IP+限制某用户 如果只想限制IP,可能用tcp_wrappers是最方便的,但是用防火墙限制是最安全的 如果想限制IP+限制某用户登录,直接ssh里限制是最方便的,也可以防火墙+ssh来限制

在生产服务器中经常要做一些安全设置,其中限制IP登录可能是最常用也是最有用的一种方法了。
主要有四种方法:
tcp_wrappers
ssh
iptables
PAM

先说一下结论:
tcp_wrappers和iptables只能限制IP
ssh和PAM可以限制IP+限制某用户
如果只想限制IP,可能用tcp_wrappers是最方便的,但是用防火墙限制是最安全的
如果想限制IP+限制某用户登录,直接ssh里限制是最方便的,也可以防火墙+ssh来限制

只限制IP的话,大家都知道,我这里主要是讲限制IP+用户的方法。

一、SSH的方法
在/etc/ssh/sshd_config中添加AllowUsers、AllowGroups、DenyUsers、DenyGroups。
AllowUsers:允许某个用户、某些用户能登录,其它都不能登录
AllowGroups:允许某个组、某些组能登录,其它都不能登录
DenyUsers:拒绝某个用户、某些用户登录,其它都能登录
DenyGroups:拒绝某个组、某些组登录,其它都能登录

例子:
AllowUsers oracle@192.168.0.3

允许来自于192.168.0.3的用户oracle登录本机,其它都不允许

AllowUsers oracle@192.168.3.*

允许来自于192.168.0网段的用户oracle登录本机,其它都不允许

AllowUsers root oracle@192.168.3.5

允许所有网段的root用户和来自于192.168.3.5的用户oracle登录本机,其它都不允许

DenyUsers root admin
#拒绝root admin帐户通过SSH登录本机

用户和IP之间可以自由组合。

二、PAM方法
首先编辑/etc/pam.d/sshd,加入如下内容
account required pam_access.so

然后编辑/etc/security/access.conf
在尾行加入一行
-:snmp:ALL EXCEPT 192.168.1.

“-”的表示拒绝
“snmp”是用户名,
“ALL”是所有,
“EXCEPT 192.168.1.”意思是排除192.168.1这个网段,需要注意的是192.168.1. 最后的这个“.”

整句的意思就是:拒绝所有的IP使用snmp来登录,但是192.168.1.段的可以登录

也可以写一个具体IP,如:
-:snmp:ALL EXCEPT 192.168.1.122
这个就是只允许192.168.1.122的IP登录snmp用户

还可以写成类似这样的:(一般写成这样,上面那个不能限制通过其它用户登录)
+:snmp:192.168.1.122 先允许
-:ALL EXCEPT root:ALL 再拒绝所有,保留root用户能登录

access.conf文件里自带了很多例子

相关文章
|
3月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
3月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1548 10
|
3月前
|
Ubuntu Linux 图形学
推广与体验Ubuntu Linux的便捷方法
如果你的朋友或家人对尝试Linux感兴趣,但希望在安装之前先体验一下,你可以分享以下链接给他们:Ubuntu在线导览。通过这个链接,他们可以在任何地方轻松体验Ubuntu,无需安装即可深入了解这个流行的操作系统。
|
3月前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
474 0
|
6月前
|
NoSQL Linux 编译器
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
303 16
|
4月前
|
网络协议 Ubuntu Linux
Wireguard in Linux的安装方法
本文介绍了如何在Ubuntu和Rocky Linux中安装配置WireGuard,并探讨了配置过程中可能出现的DNS泄露问题及解决方法,包括通过nmtui设置DNS及调整DNS优先级参数。
|
6月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
361 24
|
7月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
597 28
|
7月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
436 19
下一篇
oss云网关配置