Welcome 微信登录

首页 / 操作系统 / Linux / iptables加强系统安全性

我的目的是关闭所有对外服务的端口,只允许ssh服务的22端口接受外面的请求。首先在我的测试服务器上进入root权限,然后用下面的命令查看iptables
  1. root@host2:~# iptables -vnL --line-numbers 
  2. Chain INPUT (policy ACCEPT 105 packets, 10480 bytes) 
  3. num   pkts bytes target     prot opt in     out     source               destination           
  4. 1        0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53 
  5. 2        0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53 
  6. 3        0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67 
  7. 4        0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67 
  8.  
  9. Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) 
  10. num   pkts bytes target     prot opt in     out     source               destination           
  11. 1        0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     state RELATED,ESTABLISHED 
  12. 2        0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0             
  13. 3        0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0             
  14. 4        0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable 
  15. 5        0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable 
  16.  
  17. Chain OUTPUT (policy ACCEPT 25 packets, 3380 bytes) 
  18. num   pkts bytes target     prot opt in     out     source               destination   
-v 是输出详细信息-n 指的是显示地址和端口号-L 指显示链里面的规则--line-number参数用来显示行号,删除的时候很有用 从上面的结果可以看到,策略上允许所有的输入连接。现在先删除所有的规则,预防万一,不一定使用。iptables -F然后策略上关闭所有的进入请求iptables -P INPUT DROP再添加ssh端口的访问支持iptables -A INPUT -p tcp --dport 22 -j ACCEPT 试一下从另外一台机器链接,ssh登录没问题,除了开始要等一会儿。注意,这样的设置会导致不能从这台机器连接外网,有两种方法解决:1.如果为了绝对的安全,可以临时手动打开策略,用完后再关闭。iptables -P INPUT ACCEPT//DO SOMETHINGiptables -P INPUT DROP2.添加一个规则,允许已经建立的连接接收进来的数据iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT连接是从本机向外发起的,我们的规则没有限制,连接建立后,就可以从外部网络拉取数据。根据自己的需要再添加其他的端口吧。如果想限制有限的机器向服务器发起请求,可以用-s参数,比如:iptables -A INPUT -p tcp -s 10.112.18.0/0 --dport 27017 -j ACCEPT 仅在10.112.18.0/0网段的机器才能连接上本机的27017端口。如何保存规则呢?两步,1.安装apt-get install iptables-persistent2.保存规则文件service iptables-persistent save重启即可。iptables-persistent是一个开机启动脚本,在/etc/init.d/目录下,感兴趣的可以看一下。Ubuntu 12.04 Server cron定时监控Linux的cp命令使用方法相关资讯      IpTables  iptables教程 
  • CentOS Samba 服务器 Iptables 和   (今 07:14)
  • iptables超全详解  (09月01日)
  • Iptables防火墙 基础知识  (08月19日)
  • Iptables工作原理使用详解  (09月06日)
  • iptables中NAT表  (08月25日)
  • Linux 为FTP 服务器添加iptables规  (08月11日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除