{eval=Array;=+count(Array);}
这个非常简单,目前来说,有2种方法,一种是修改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系统就行,如下,这里禁止IP为192.168.15.21的用户访问21端口(FTP服务):
接着用IP为192.168.15.21的用户尝试连接Linux FTP服务,如下,则会失败:
如果需要移除规则的话,使用参数remove-rich-rule就行,更多参数和说明的话,可以参考帮助命令“firewall-cmd -h”,每个参数都介绍的非常详细、清楚:
至此,我们就完成了禁止特定IP访问Linux系统。总的来说,这2种方法都非常简单,只要你有一定的Linux基础,熟悉一下上面的操作过程,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
Selinux 主要是对内核的访问权限加以控制
TCP_Wrappers应用级防火墙
Netfilter网络层防火墙
内核的强制安全访问控制
可以用getenforce获取目前Selinux的状态
vi /etc/sysconfig/selinux 设置SELINUX
简单的来说就是利用
hosts.allow/hosts.deny
来进行访问控制。首先要知道并不是所有的服务都是受tcp_wrappers管理的,只用采用libwrap库的服务才受管理。
检测服务是否支持tcp_wrappers:
ldd $(which domainname) | grep libwrap
例如:ssh服务,如果有输入下一行,那么说明支持,可以用
hosts.allow/deny
文件进行访问控制,否则不可。进程先检查文件/etc/hosts.allow,如果请求访问的主机名或IP包含在此文件中,则允许访问。 如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机名或IP有没有包含在hosts.deny文件中。如果包含,那么访问就被拒绝;如果既不包含在/etc/hosts.allow中,又不包含在/etc/
hosts.deny
中,那么此访问也被允许。举例:只允许192.1680.1访问sshd,其他都拒绝。
hosts.allow sshd:192.168.0.1:allow
hosts.deny sshd:ALL
这其实就是我们常用的iptables,centos7开始使用firewalld服务,原理一样。
iptables不是真正起防护作用的,Netfilter才是真正的防护着系统,linux系统的安全框架位于内核。
四表:
五链:
例如禁止192.168.1.1访问我的ssh服务,端口默认22
iptable -I INPUT -p tcp -s 192.168.1.1 --dport 22 -j ACCEPT
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答