需求:
windows and Linux系统仅限指定的IP或网段登陆
解决方法和思路:
1. Windows设置的方法有多种:
方法一:通过本机自带的防火墙设置限制IP访问,修改下面三个规则属性:
点击属性,查看对应设置:
设定可以访问的地址段或IP,即可
方法二:通过IP安全策略控制:
打开本地安全策略:
开始-运行-输入secpol.msc或者开始-程序-管理工具-本地安全策略
弹出来的窗口中,右击IP安全策略,在本地计算机
鼠标右键,选择管理IP筛选器列表和筛选操作:
设定源地址和目的地址:
修改访问的协议和端口,默认所有:
再加一个deny的策略:
在筛选器里调整策略即可:
方法三:通过AD服务器上的指定计算机登陆,这点在此不做说明。
(需要加入AD域,然后对用户进行设置指定登陆)
参考文件地址:http://www.it165.net/os/html/201311/6707.html
Linxu 系统指定IP访问控制:
解决方法和思路:
1.通过修改/etc/hosts/allow 和 /etc/hosts.deny 这两个文件来控制远程访问,需要安装tcp_wrappers
输入ldd /usr/sbin/sshd ,如果输出中有libwrap,则说明可以使用tcp_wrappers,即该服务可以使用/etc/hosts/allow 和 /etc/hosts.deny ,
如果没有输出libwrap,则需要安装。
通过命令查看:
rpm -q tcp_wrappers 或者 rpm -qa | grep tcp
先来看允许的:
[root@nginx ~]# cat /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# for the shell
sshd:11.8.,12.1.,18.3.:allow
这个意思是允许 11.8.0.0 and 12.1.0.0 and 18.3.0.0 允许访问服务器的sshd服务。
再看拒绝的:
编辑 /etc/hosts.deny 文件,添加如下语句,拒绝所有ssh请求
sshd:all
此时此刻还可以继续加强修改:
第一步: 以root身份SSH登录到服务器。
第二步:在命令提示符下输入:pico -w /etc/ssh/sshd_config
第三步:向下翻页,在这个文件中找到像这样的区域:
Port 22
Protocol 2, 1
ListenAddress 0.0.0.0
ListenAddress ::
第四步:取消注释符号#,并修改
端口:#Port 22
改为:Port 8899
(选择你未被使用的4到5位数字组成的端口(49151是最高端口数))
协议: #Protocol 2, 1
改为: Protocol 2
监听地址 #ListenAddress 0.0.0.0
改为:ListenAddress 192.168.1.100(这里的地址改为你自己访问服务器常用的客户端ip地址)
第五步 如果你想禁用直接用root登录,向下翻知道你看见
#PermitRootLogin yes
改为PermitRootLogin no
按住Ctrl键保存修改,在按Ctrl + x组合键退出。
第六步 在命令提示符下输入: /etc/rc.d/init.d/sshd restart
第七步 退出SSH,以后再登录就必须使用新的端口号(如:49151),并且服务器限制只允许从一个指定的IP地址(如:192.168.1.100)SSH登录了。
注意事项:
如果修改后出现不能登录或者其他问题,你只需要为服务器接上显示器 或者 Telnet 到你的服务器,修改设置,然后再重新SSH登录。Telnet 是一个非常不安全的协议,所以在你使用它之后最好是修改一下你的root密码。
或者
linux限制IP访问ssh
在/etc/hosts.allow输入
(其中192.168.10.88是你要允许登陆ssh的ip,或者是一个网段192.168.10.0/24)
sshd:192.168.10.88:allow
在/etc/hosts.deny输入(表示除了上面允许的,其他的IP都拒绝登陆ssh)
sshd:ALL
更改端口
vi /etc/ssh/sshd_config
port 3333
最后一行加上ip
allowusers root@ip ------------------允许某个ip用什么帐户登
最后,执行service xinetd restart重启服务或者
# /etc/rc.d/init.d/xinetd restart
# /etc/rc.d/init.d/network restart
(the end)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。