帮助中心 >
  关于独立服务器 >
  了解使用iptables保护专用服务器的方法
了解使用iptables保护专用服务器的方法
时间 : 2024-10-15 13:58:55
编辑 : Jtti

iptables 是 Linux 上用于配置网络防火墙规则的工具。以下是使用 iptables 在 Linux 系统上配置防火墙的具体步骤。

更新系统。出于安全原因,开发人员需要经常性的提供软件包更新发行版和操作系统。

在ubuntu中安装iptables防火墙。iptables有两个不同版本,分别用关于IPv4和IPv6,这两种不同协议无法协同工作需要单独配置,本文以IPv4为例。大多数linux系统都默认安装了iptables。确认iptables的安装命令为:

sudo apt-get install iptables

确保iptables规则在重启后仍有效,需要使用下面命令安装iptables持久包:

sudo apt-get install iptables-persistent

安装完成后,iptables文件夹将包含两个用于 IPV4 和 IPV6 规则的文件:

/etc/iptables/rules.v4

/etc/iptables/rules.v6

一般,iptables命令如下:

sudo iptables [option] CHAIN_rule [-j target]

以下是一些常见的iptables选项的列表:

·-A --append:将规则添加到字符串(在末尾)。

·-C --check:查找符合字符串要求的规则。

·-D --delete:从字符串中删除指定的规则。

·-F --flush:删除所有规则。

·-I --insert:在给定位置的字符串中添加规则。

·-L --list:显示字符串中的所有规则。

·-N -new chain:创建一个新字符串。

·-v --verbose:使用列表选项时显示更多信息。

·-X --delete-chain:删除提供的字符串。

检查iptables的当前状态,显示服务器当前的全部规则:

sudo iptables -L

系统会显示频道状态,输出会列出三个字符串。

:~# sudo iptab

Chain  INPUT  (policy ACCEPT)

Carget   prot  opt  source   destination

 

Chain  FORWARD  (policy ACCEPT)

tarqet   prot  opt  source   destination

 

Chain  OUTPUT  (policy ACCEPT)

tarqet   prot  opt  source   destination

:~#

允许本地主机上流量通过:

sudo iptables -A INPUT -i lo -j ACCEPT

这个命令会把防火墙配置为接受本地主机 (lo) 接口 (-i) 的流量。应该设置这个规则来允许应用程序和本地主机接口通信。这样来自系统的内容都可以通过防火墙。

端口是为特点类型数据指定的通信端点。允许特定端口上的流量通过。下面规则可以指定不同端口上的流量通过。允许 HTTP Web 流量命令:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

允许入站SSH(安全外壳)流量,输入以下内容(默认使用SSH端口号22,根据端口号不同调整命令):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许 HTTPS Internet 流量,请输入以下命令:

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

其中:

-p:检查指定的协议(tcp)。

--dport:指定目标端口。

-j jump:执行操作。

使用下面命令接收来自特点IP地址流量:

sudo iptables -A INPUT -s your_IP_address_to_authorise -j ACCEPT

把命令中的IP地址替换为要授权的IP地址。另外还可以阻止某个特定IP流量:

sudo iptables -A INPUT -s your_IP_address_to_block -j DROP

这个命令IP地址替换成需要阻止的IP地址。拒绝某个IP地址范围的流量:

sudo iptables -A INPUT -m iprange --src-range your_start_IP_address-your_end_IP_address -j REJECT

·其中:-m:匹配指定的选项。

·-iprange:指示系统等待一个 IP 地址范围而不是一个 IP 地址。

·--src-range:标识 IP 地址范围。

在定义iptables防火墙规则,删除来自其他端口的所有流量来防止未经授权的访问:

sudo iptables -A INPUT -j DROP

A 选项为字符串添加了一条新规则。如果连接通过您定义的端口以外的端口,则该连接将被中断。删除规则中,更精确的方法是删除规则的行号:

sudo iptables -P INPUT DROP

先输入以下命令列出所有规则:

sudo iptables -L --line-numbers

找出要删除的防火墙规则行,并运行以下命令:

sudo iptables -D INPUT <Number>

 <Number>

替换为需要删除的规则行号。最后保存更改。系统重启后,iptables不会保存刚创建的规则。要将规则保存在基于Ubuntu的系统上。先用root身份登录sudo su:

ubuntu@server:~$ sudo su

root@server:/home/ubuntu#

再运行:

iptables-save > /etc/iptables/rules.v4

这样规则就会直接保存在IPv4文件夹中,下次系统再启动时,iptables就会自动重新加载防火墙规则。

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom