Linuxファイアウォール関連の問題の概要

01.Linuxファイアウォールサービスの設定

01. CentOS6の場合

ファイアウォールのステータスを表示する:

[root@ufo130 ~]# service iptables status
iptables:未运行防火墙。

現在のファイアウォールをオフにします。

[root@ufo130 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter                   	[确定]
iptables:清除防火墙规则:                                	[确定]
iptables:正在卸载模块:                                  	[确定]

現在のファイアウォールをオンにします。

[root@ufo130 ~]# service iptables start
iptables:应用防火墙规则:                                 	[确定]

ファイアウォールを完全にオフにします。起動後に自動的に起動しません。

  • iptablesが有効かどうかを照会する
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
  • 2/3/4/5がすべて起動され、ファイアウォールが閉じていることがわかります。
[root@ufo130 ~]# chkconfig iptables off
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:off	3:off	4:off	5:off	6:off

ファイアウォールを永続的にオンにし、機会がオンになると自動的に開始します。

[root@ufo130 ~]# chkconfig iptables on
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off

02. CentOS7の場合

現在のファイアウォールステータスを表示します。

[root@ufo130 ~]# systemctl status firewald.service

現在のファイアウォールステータスをオフにします。

[root@ufo130 ~]# systemctl stop firewald.service

現在のファイアウォールステータスをオンにします。

[root@ufo130 ~]# systemctl start firewald.service

ファイアウォールを完全にオフにします。起動後にファイアウォールは起動しません。

[root@ufo130 ~]# systemctl disable firewald.service

ファイアウォールを永続的にオンにし、機会がオンになると自動的に開始します。

[root@ufo130 ~]# systemctl enable firewald.service

02. Linuxファイアウォール構成の表示(CentOS 6)

01.開いているポートを確認します

ポートにアクセスできるかどうかを確認します。

[root@ufo130 tmp]# telnet 192.168.137.168 5432
[root@ufo130 tmp]# telnet localhost 5432

開いているポートは/ etc / sysconfig / iptablesファイルにあります

[root@ufo130 tmp]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

または、iptables-nLコマンドを使用して直接表示します

[root@ufo130 tmp]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

コマンドを使用してポートを開きます

iptables -A INPUT -p tcp --dport 80 -j REJECT 
#禁止来自80端口访问的数据包
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
#允许来自80端口访问的数据包
iptables -A OUTPUT -p tcp --sport 80 -j REJECT 
#禁止从80端口出去的数据包
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT 
#允许从80端口出去的数据包
iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
#打开49152~65534之间的端口

また、/ etc / sysconfig / iptablesファイルを変更してポートを開き、ファイルに行を追加します

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

パラメータの説明:

  • -パラメータはルールを追加すると見なされます
  • -Pは、それがどのプロトコルであるか、一般的に使用されるtcpプロトコル、そしてもちろんudp(ポート53のDNSなど)を指定します。
  • -Dportはターゲットポートであり、データが外部からサーバーに入る場合はターゲットポートです
  • -サーバーからのスポーツデータ。データソースポートに使用されます。
  • -Jは、ACCEPT(受信)またはDROP(受信しない)を指定します。

保存して再起動すると有効になります

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

CentOS7関連のファイアウォール設定は一時的に省略されています...

02.関連する設定の例

指定されたURLへのアクセスのみを許可する

iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -d www.ctohome.com -j ACCEPT
iptables -A Filter -d www.guowaivps.com -j ACCEPT
iptables -A Filter -j DROP

IPの一部のポートを開きますが、他のすべてのポートは閉じます

iptables -A Filter -p tcp --dport 80 -s 192.168.1.22 -d www.pconline.com.cn -j ACCEPT
iptables -A Filter -p tcp --dport 25 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 109 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 110 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter -j DROP

以下はポートです。最初にすべてのIPアドレスを封印します(一般的な戦略)

iptables -I INPUT -p tcp --dport 9889 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT

複数のポートを開く

iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT

シリアルポートを開く

iptables -A Filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp --source-port 2:80 -s 192.168.20.3 -j REJECT

複数のポートサービスを禁止する

iptables -A Filter -m multiport -p tcp --dport 21,23,80 -j ACCEPT

PING 202、96、134、133のみが許可され、他のパブリックIPはPINGに許可されません

iptables -A Filter -p icmp -s 192.168.1.22 -d 202.96.134.133 -j ACCEPT
iptables -A Filter -p icmp -j DROP

特定のサービスのみを許可し、他のサービスを拒否する(2つのルール)

iptables -A Filter -p tcp -s 192.168.0.1 --dport 1000 -j ACCEPT
iptables -A Filter -j DROP

IPアドレスのPINGを禁止します。

iptables -A Filter -p icmp -s 192.168.0.1 -j DROP

特定のIPアドレスサービスを禁止します。

iptables -A Filter -p tcp -s 192.168.0.1 --dport 80 -j DROP
iptables -A Filter -p udp -s 192.168.0.1 --dport 53 -j DROP

特定のIPアドレスの特定のポートサービスを禁止する

iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j ACCEPT
iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j DROP

特定のMACアドレスの特定のポートサービスを禁止する

iptables -I Filter -p tcp -m mac --mac-source 00:20:18:8F:72:F8 --dport 80 -j DROP

特定のMACアドレスがインターネットにアクセスすることを禁止します。

iptables -I Filter -m mac --mac-source 00:11:22:33:44:55 -j DROP

03.関連するホワイトリストを設定する方法

すべてを制限する

iptables -P INPUT DROP

ホワイトリスト

iptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT

ポートアクセス制限、ポート80、443を制限

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP

ホワイトリスト1.2.3.4

iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT

ホワイトリスト1.2.3。[0-255]

iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT

04.ファイアウォール構成ファイルが存在しないか、起動できません

1. / etc / sysconfig / iptablesは存在しませんか?
2.ファイアウォールをアクティブにできませんか?

理由

  • 新しくインストールされたLinuxシステムでは、ファイアウォールはデフォルトで無効になっており、通常、ファイアウォールポリシーは構成されていないため、/ etc / sysconfig / iptablesファイルはありません。

解決策

  • コンソールでiptablesコマンドを使用して、次のようなファイアウォールルールを記述します。iptables-POUTPUT ACCEPT
  • 保存するにはserviceiptables saveを使用します。デフォルトでは、/ etc / sysconfigディレクトリのiptablesファイルに保存します。

03.まとめ

01.ファイアウォールの分類

  • パケットフィルタリングファイアウォール(パックフィルタリング)は、ネットワーク層でデータパケットを選択してフィルタリングし、アクセス制御テーブル(ACL)を使用して、データフローの送信元アドレス、宛先アドレス、送信元と宛先のポート、IPおよびその他の情報を確認します。
  • プロキシサーバータイプのファイアウォール

02.iptablesの基本

  • ルール:ネットワーク管理者によって事前定義された条件
  • チェーン:データパケットが伝播されるパスです
  • テーブル(テーブル):組み込みの3つのテーブルフィルターテーブル、natテーブル、マングルテーブルを使用して、パケットフィルタリングネットワークアドレス変換およびパケット再構築機能を実現します。
  • フィルタテーブルは、システムのデフォルト、INPUTテーブル(着信パケット)、FORWORD(転送パケット)、OUTPUT(ローカルで生成されたパケットの処理)であり、フィルタテーブルはパケットの受け入れと破棄のみが可能です。
  • natテーブル(ネットワークアドレス変換)、PREROUTING(次のデータパケットを変更)、OUTPUT(ルーティング前にローカルで生成されたデータパケットを変更)、POSTROUTING(次のデータパケットを変更)
  • マングルテーブル、PREROUTING、OUTPUT、FORWORD、POSTROUTING、INPUT

03.その他

iptablesは、ファイアウォールルールの推奨構成であるルールを順番に読み取ることです。

  • ルールをシンプルに保つ
  • ルールの順序は重要です
  • ルールを最適化してみてください
  • 関連するバックアップを作成する

04.構成

iptablesコマンド形式

     iptables [-t] -命令 匹配操作(大小写敏感)

     动作选项:
     ACCEPT          	接收数据包
     DROP             	丢弃数据包
     REDIRECT      		将数据包重新转向到本机或另一台主机的某一个端口,通常功能实现透明代理或对外开放内网的某些服务
	 SNAT             	源地址转换
     DNAT             	目的地址转换
     MASQUERADE       	IP伪装
     LOG               	日志功能


最初にすべてのパケットを拒否し、次に必要なパケットを許可するルール定義します

  iptalbes -P INPUT DROP
  iptables -P FORWARD DROP
  iptables -P OUTPUT ACCEPT

NATテーブル内のすべてのチェーンのルールリストを表示する

  iptables -t nat -L

ルールの追加、挿入、削除、および置換

 iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源ip|源子网] [--sport 源端口号] [-d 目的IP|目标子网] [--dport 目标端口号] [-j 动作]

参数:
	-A 增加
    -I 插入
    -D 删除
    -R 替换

関連例
IP192.168.1.5のホストがeth0からこのマシンにアクセスすることを禁止する

iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP

サブネット192.168.5.0がWebサービスにアクセスすることを禁止する

iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp --dport 80 -j DROP

IP192.168.7.9がFTPサービスにアクセスすることを禁止する

iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp --dport ftp -j DROP

フィルタテーブルでINPUTチェーンのルールを表示します

iptables -t filter -L INPUT

NATテーブル内のすべてのルールを削除します

iptables -t nat -F

www.playboy.comへのアクセスは禁止されています

iptables -I FORWARD -d wwww.playboy.com -j DROP

192.168.5.23インターネットアクセスを禁止する

iptables -I FORWARD -s 192.168.5.23 -j DROP

おすすめ

転載: blog.csdn.net/qq_42226855/article/details/112203620