防火墙设置(允许或者禁用ip)

防火墙的更改的两种方式

# 查看防火墙状态
systemctl status firewalld
service iptables status
  • iptables
# 编辑iptables防火墙内容,i进入编辑状态
vi /etc/sysconfig/iptables
# 允许某个IP访问某个端口或者端口段
# 框架
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [273:41231]

  # 内容

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

# 10022远程端口访问
-A INPUT -s 10.120.179.80/32 -p tcp --dport 10022 ACCEPT
#  对某一个IP全端口开放
-A INPUT -s 10.120.179.80/32 -j ACCEPT
# 对一个IP段开放某一个端口
-I INPUT -m iprange --src-range 10.120.179.69-10.120.179.120 -p tcp --dport 8886 -j ACCEPT
# 禁掉某个端口
-A INPUT -p tcp --dport 5989 -j DROP

# 改动后重启防火墙
service iptables restart
systemctl restart iptables(未知)
  • firewalld
# 编辑防火墙文件
vi /etc/firewalld/zones/public.xml
# 允许某个IP访问某个端口或者端口段
# 框架
<?xml version="1.0" encoding="utf-8">
<zone>
  <short>Public</short>
  <descripion>For use in public areas.You do not trust the other computers on networks to not harm your computer.Only selected in comming connection are accepted.</descripion>
  <service name="dhcpv6-client"/>
  # 加入允许的IP和端口
</zone>

# 规则
# 10022访问限制
<rule family="ipv4"><source address="10.120.179.80"/><port protocol="tcp" port="10022"/><accept/></rule>
# 全端口开放
<rule family="ipv4"><source address="10.120.179.80"/><accept/></rule>
# 端口段配置
<rule family="ipv4"><source address="10.120.179.80"/><port protocol="tcp" port="8881-8889"/><accept/></rule>

#重启防火墙
systemctl restart firewalld
firewall-cmd --reload
firewall-cmd --get-zones  	#显示预定义的区域 
firewall-cmd --get-service  	#显示预定义的服务 
firewall-cmd --get-icmptypes	#显示预定义的 ICMP 类型 
# 显示当前系统中的默认区域
firewall-cmd --get-default-zone
# 设置网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --set-default-zone=work
success
[root@localhost ~]# firewall-cmd --get-default-zone
work

# 显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --list-all
public (active) 
target: default 
icmp-block-inversion: no 
interfaces: ens33 
# 显示指定区域内允许访问的所有端口号
[root@localhost ~]# firewall-cmd --zone=public --list-ports
# 启用internal区域22端口的TCP协议组合
 [root@localhost ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m
  success

  ## //--timeout=5m:表示五分钟后删除该端口,多用于测试
 
# 查询internal区域中是否启用了22端口和TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --query-port=22/tcp
no

# 配置端口
[root@localhost ~]# firewall-cmd --permanent --zone=internal --list-ports
[root@localhost ~]# firewall-cmd --permanent --zone=internal --add-port=22/tcp
success
[root@localhost ~]# firewall-cmd --permanent --zone=internal --list-ports
22/tcp

# 配置ICMP阻塞

work区域ICMP阻塞
[root@localhost ~]# firewall-cmd --permanent --zone=work --list-icmp-blocks
[root@localhost ~]# firewall-cmd --permanent --zone=work --add-icmp-block=echo-request
success
[root@localhost ~]# firewall-cmd --permanent --zone=work --list-icmp-blocks
echo-request
internal区域ICMP阻塞
[root@localhost ~]# firewall-cmd --permanent --zone=internal --list-icmp-blocks
[root@localhost ~]#  firewall-cmd --permanent --zone=internal --add-icmp-block=echo-request
success
[root@localhost ~]# firewall-cmd --permanent --zone=internal --list-icmp-blocks
echo-request
# public区域ICMP阻塞
[root@localhost ~]# firewall-cmd --permanent --zone=public --list-icmp-blocks
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-icmp-block=echo-request
success
[root@localhost ~]# firewall-cmd --permanent --zone=public --list-icmp-blocks
echo-request
[root@localhost ~]# firewall-cmd --reload
success


Spring Boot本身并不直接提供禁用特定IP地址访问的功能,但是你可以通过整合一些第三方库或者自定义过滤器来实现这个需求。通常的做法是在Web应用程序的安全层添加一个IP黑名单策略,例如使用Spring Security。 1. 配置Spring Security: Spring Security允许你在`WebSecurityConfigurerAdapter`或`@Configuration`注解的类中配置访问控制。你可以创建一个`IpAddressVoter`,它可以根据IP地址投票决定是否允许访问。 ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/admin/**").hasIpAddress("your.allowed.ip") .anyRequest().denyAll() // 默认所有请求都被拒绝 .and() .httpBasic(); // 如果你需要HTTP基本认证,可以在这里配置 } } ``` 在这个例子中,只有指定的IP地址能访问"/admin/"路径下的资源,其他所有请求都会被禁止。 2. IP黑名单库:如使用`spring-security-ip-blacklist`这样的库,它可以管理一个IP黑名单列表,并在授权过程中检查请求的IP。 请注意,这只是一个基础示例,实际应用中可能需要更复杂的逻辑,比如动态添加或删除IP、处理白名单等。同时,这种方法并不是绝对安全,因为攻击者可能会利用代理服务器改变其IP地址。在生产环境中,建议结合其他安全措施如SSL/TLS加密,以及防火墙规则等一起使用。如果你有特定的需求,可以在
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值