很多新手在linux服务器运维方面对于防火墙iptables持有一种观望的状态,我觉得大家可以先练习一下。但是,如果是远程服务器的话,不建议直接试试。如果错了的话,SSH远程连接上不去很麻烦。建议先在自己有硬件的机器上试试,或者使用虚拟机也很方便。配置结束后,用nmap扫描,可以同时制作另一个工具。
HTTP/HTTPS是比较容易渗透的地方,渗透也有可能在其他端口开设服务,进一步渗透或将该服务器作为肉鸡进行其他工作(例如,收集从其他机器中倒出的数据)。因此,建议打开iptables,只允许80(如果有https,添加443)和22。至少给尝试入侵者增加一些困难。
iptables还具有配置NAT、自己制作小局域网、以机器为入口的作用。有一段时间,我的桌子下面放了三台电脑,只有一个网口。买了交换机,试试这个方法的PC制作网关。因为有需要保护的数据和代码,所以可以不让开发机暴露在公司的网络上,直接与服务器通信。或者,可以配置端口转发(反向代理)。例如,nattable内的服务器可以相对提供服务,将要塞机(设置iptablesnat规则,制作路由器的机器)的端口反映在局域网内的机器的端口上。与使用nginx反向代理http/https服务的应用层代理不同,该方式为传输层,不分析应用层协议,可直接转发。
很好的工具,值得学习。如果你对Linux的路由器系统感兴趣,比如OpenWrt,你会发现他们中的VLAN(虚拟局域网)是用iptables规则来划分的。(几年前,Linuxv3.13以后倾向于使用nftables,不知道现在OpenWrt是否改变了实现方式)。