防火墙2和tcpwarp

###################
####命令管理模式#####
###################

  firewall-cmd --state             ##查看firewall服务当前状态
  firewall-cmd --get-active-zones  ##查看当前活跃域(已经激活的域)
  firewall-cmd --get-default-zone  ##查看当前默认域
  firewall-cmd --get-zones         ##列出所有域
  firewall-cmd --zone=public --list-all ##列出public域的所有策略
  firewall-cmd --get-services      ##查看firewall管控的所有服务
  firewall-cmd --list-all-zones    ##列出所有域
  firewall-cmd --set-default-zone=trusted  ##设置默认域为trusted

  firewall-cmd --get-services      ##查看firewall管控的所有服务
   所有服务的信息控制:/usr/lib/firewalld/services/*.xml

   客户端1:192.168.0.120 gateway=192.168.0.220
   客户端2:172.25.254.20        
   服务端: eth0 172.25.254.220
       eth1 192.168.0.220

       yum install httpd


实验:

刚开始,因为火墙没有设定,所以都无法访问http




firewall-cmd --change-interface=eth1 --zone=trusted ##把eth1加到trusred
firewall-cmd --get-active-zones
可以访问






firewall-cmd --change-interface=eth1 --zone=public ##把eth1加到public(复原)
firewall-cmd --set-default-zone=trusted ##把默认域改成trusted
可以访问




firewall-cmd --set-default-zone=public ##把默认域改成public(复原)
firewall-cmd --add-source=172.25.254.0/24 --zone=trusted
可以访问


测试:用客户端1访问



firewall-cmd --add-source=192.168.0.0/24 --zone=trusted ##使防火墙可以通过192.168.0.0网段

这样ip为192.168.0.0的虚拟机可以ping通192.168.0.120
vim /etc/httpd/conf/httpd.conf
把80端口改成8080
重启httpd服务
firewall-cmd --list-all
这时查看http在列表中
但是该客户端还是无法访问192.168.0.120:8080
vim /usr/lib/firewalld/services/http.xml
80改成8080(实际上,在火墙中添加服务就是添加该服务的端口。在这里我们改变了httpd服务的端口)
重启firewalld服务
firewall-cmd --zone=public --add-service=http

之后即可访问192.168.0.120:8080,成功






现在vim /usr/lib/firewalld/services/http.xml

把8080改回80
重启火墙服务
firewall-cmd --zone=public --add-port=8080/tcp(使火墙可以通过8080端口)
在改客户端同样可以访问192.168.0.120:8080

firewall-cmd --permanent --remove-service=ssh ##永久关闭火墙的ssh服务(permanent永久)




firewall-cmd --list-all ##查看 ssh服务还存在

用该客户端执行ssh root@192.168.0.120仍然可以连上,并且ls可以查看其中的东西




firewall-cmd --reload
firewall-cmd --add-source=172.25.254.120 --zone=trusted

重新加载后,该客户端无法ssh新添加的172.25.254.120,说明之前的永久移除生效,但是正在连接的不会中断并且仍能查看其中的东西。




这时执行firewall-cmd --complete-reload
这样连接的那个shell卡住,无法运行。

规则
firewall-cmd --direct --get-all-rules ##查看规则(因为还没写,所以没有)
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 192.168.0.220 -p tcp --dport 80 -j REJECT ##添加了一条规则,使192.168.0.220通过http访问的时候会被拒绝
将之前的操作还原(8080都改成80)
systemctl restart httpd
firewall-cmd --add-service=http ##给火墙添加http
查看确定以添加,然后分别用真机和虚拟机尝试,虚拟机不能访问,真机可以访问,与预计一致

firewall-cmd --direct --remove-rule ipv4 filter INPUT 0 -s 192.168.0.220 -p tcp --dport 80 -j REJECT ##删掉之前所写的规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 192.168.0.220 -p tcp --dport 80 -j REJECT ##加入新的规则,除了192.168.0.220能通过http,其他都被拒绝
再次用真机和虚拟机分别访问,虚拟机可以,真机不可以,与预计一致

端口转发
在服务端
firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.3
firewall-cmd --reload
firewall-cmd --list-all

这样用192.168.0.220  ssh root@192.168.0.120 -X,连上后ifconfig查看ip是3,成功


地址伪装
firewall-cmd --permanent --remove-masquerade ##关闭伪装
firewall-cmd --permanent --zone=public --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.3 ##还原上一步做的
firewall-cmd --add-rich-rule='rule family=ipv4 masquerade' ##地址伪装(伪装成中转站地址,原来只能ping不能ssh,设定这个就能ssh了,并且产生伪装)

用192.168.0.220 ssh root@172.25.254.20 可以连上,并且w查看是中转站ip




tcpwarp
保护加载了tcpwarp进程服务安全
ldd /usr/sbin/sshd ##查看ssh服务是否有tcpwarp进程

如果有这个进程,这个服务就可以受到tcpwarp保护




以下两个都是即改即生效
vim /etc/hosts.deny
ALL:ALL
这样所有人都无法ssh本机
vim /etc/hosts.allow
sshd:172.25.254. ##所有的人都可以ssh本机
sshd:172.25.254. EXCEPT 172.25.254.20 ##除了20,其他人都可以ssh本机

sshd:172.25.254. :spawn echo `date` from %c to %s | mail -s warning root ##邮件监控




sshd:172.25.254. :spawn echo `date` from %c to %s > /dev/pts/2 ##实时监控(ps查看设备,这里设备是pts2)




sshd:172.25.254. :spawn echo `date` from %c to %s >> /var/log/messages ##日志监控




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值