这个很简单,目前有两种方法,一种是修改hosts。.deny文件,一种是添加防火墙规则,下面我简单介绍一下:
修改hosts.deny文件
本文件主要用于控制禁止访问本机的IP(路径/etc/hosts.deny),如果只需添加禁止访问的IP地址,则指定的IP不能访问Linux系统,如下所示,这里禁止IP为192.168.15.21用户SSH远程登录,第一个字段为服务名称,第二个字段为IP地址(或一个网络或所有IP),三是deny(也可以不写):
然后用IP为192.168.15.21的用户尝试ssh登录Linux系统,如下所示,将失败:
增加防火墙规则
以firewall防火墙为例(iptables防火墙类似)。只需使用firewall-cmd命令添加防火墙规则,拒绝指定IP地址访问linux系统。以下是192.168.15.21用户访问21端口(FTP服务)。:
然后用IP为192.168.15.21的用户尝试连接Linux 如下,FTP服务将失败:
如果需要删除规则,请使用参数remove-rich-rule就够了,如果有更多的参数和说明,可以参考帮助命令“firewall-cmd -h“,每个参数都非常详细和清晰:
到目前为止,我们已经完成了禁止特定IP访问Linux系统。一般来说,这两种方法都很简单,只要你有一定的Linux基础,熟悉上述操作过程,可以很快掌握,互联网也有相关的教程和信息,介绍非常详细,感兴趣,可以搜索,希望以上分享内容能帮助你,也欢迎评论,信息补充。
大概有三种方式,这里重点介绍后两种。
Selinux 主要控制内核的访问权限
TCP_Wrappers应用防火墙
Netfilter网络层防火墙
使用selinux
内核的强制安全访问控制
Selinux的状态可以通过getenforce获得
vi /etc/sysconfig/selinux 设置SELINUX
TCP_Wrappers应用防火墙
简而言之,就是使用
hosts.allow/hosts.deny
访问控制。首先要知道,并非所有的服务都是tcp_wrapers管理的,只有libwrap库的服务才能管理。
检测服务是否支持tcp_wrappers:
ldd $(which domainname) | grep libwrap
例如:ssh服务,如果有下一行输入,那么说明支持,可以使用
hosts.allow/deny
访问控制文件,否则不允许。
先检查文件/进程/etc/hosts.allow,请求访问的主机名或IP包含在本文件中的,允许访问。 请求访问的主机名或IP不包括在/etc/hosts.在alllow中,检查tcpd过程/etc/hosts.deny。查看请求访问的主机名或IP是否包含在hosts中.deny文件中。如果包括在内,则拒绝访问;如果不包括在/etc/hosts.alllow不包括在//etc/
hosts.deny
那么这次访问也是允许的。
例如:只允许192.1680.1访问sshd,其他人拒绝。
hosts.allow sshd:192.168.0.1:allow
hosts.deny sshd:ALL
Netfilter网络层防火墙
这实际上是我们常用的iptables,centos7开始使用firewalld服务,原则是一样的。
iptables并非真正起到保护作用,Netfilter才是真正的保护系统,linux系统的安全框架位于核心。
iptables四表五链
四表:
五链:
iptables访问控制
例如,禁止192.168.168.1访问我的ssh服务,默认端口22
iptable -I INPUT -p tcp -s 192.168.1.1 --dport 22 -j ACCEPT
正加财富网内容推荐 | ||
OK交易所下载 | USDT钱包下载 | 比特币平台下载 |
新手交易教程 | 平台提币指南 | 挖矿方法讲解 |