Linuxサーバーのファイアウォールでポート開放する方法

PDF形式でダウンロードPDF形式でダウンロード

Linuxシステムへの受信接続または送信接続を許可する必要があるのですか?iptables、Uncomplicated Firewall(UFW)、firewalldなどのファイアウォールソフトを使用している場合は、コマンドラインから簡単にポートを開くことができます。ConfigServer Firewall(CSF)やAdvanced Policy Firewall(ADP)などの製品では、ファイアウォールルールを追加してポートを開くのは、ファイアウォールの構成ファイルを編集するのと同じくらい簡単です。この記事では、Ubuntu、Debian、CentOS、Red Hat、FedoraなどのLinuxディストリビューションで最も一般的な5つのファイアウォールでポート開放状況を確認してポートを開け閉めする方法を順を追って説明します。

知っておくべきこと

  • Linuxベースのファイアウォール製品であれば、TCPポートとUDPポートを簡単に開くことができます。
  • iptablesはほとんどのLinuxディストリビューションにプリインストールされており、構成も非常に簡単です。
  • firewalldを使用している場合、firewall-cmdコマンドに--permanentフラグを追加すれば、ファイアウォールを停止して再起動しても、変更が元に戻ることはありません。
方法 1
方法 1 の 5:

iptables

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 Linuxサーバーにログインし、ターミナルウィンドウを開く 
    Ubuntu、Debian、CentOS、Fedora、Red Hatなど、ほとんどのLinuxディストリビューションには、すでにiptablesがインストールされています。iptablesのポートは、簡単なコマンドで開くことができます。
  2. How.com.vn 日本語: Step 2 service iptables status
    を実行してファイアウォールが起動していることを確認する ファイアウォールが起動していない場合は、 service iptables startを使用して起動しましょう。
  3. How.com.vn 日本語: Step 3 sudo iptables -L
    を使用して既存のファイアウォールルールを一覧表示する ルールはチェインに分かれています。
    • INPUTチェインは、ホストシステムへの受信接続に使用されます。
    • FORWARDチェインは、ルーティングに使用されます。
    • OUTPUTチェインは、ホストシステムから外部への送信データに使用されます。
    • 各チェインには、パケットに対する処理を定義するポリシーが設定されています。ポートを開くときは、このチェインを指定する必要があります。例えば、SSH受信接続を開くには、INPUTチェインを使用します。
  4. How.com.vn 日本語: Step 4 sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    を使用してポートを開く この例では、ポート22への受信接続を開いていますが、22を開きたいポートに置き換えることができます。
    • 送信ポートを開く場合は、INPUTOUTPUTに置き換えましょう。
    • UDPポートを開く場合は、tcpudpに置き換えましょう。
    • 特定のIPアドレスやサブネットに対してのみポートを開くには、sudo iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp -m tcp --dport 22 -j ACCEPTを使用します。
  5. How.com.vn 日本語: Step 5 sudo service iptables save
    を使用して変更を保存する それでもうまくいかない場合は、以下のいずれかのコマンドを試してみましょう。
    • Ubuntu、Debian の場合:sudo /sbin/iptables-save
    • CentOS、RedHat、Fedora の場合:/sbin/service iptables save
    • ポートを閉じるには、iptables -I INPUT -p tcp –-dport 22 -j REJECTを使用します。「22」を閉じたいポートに置き換えましょう。現在サーバーにSSH接続している場合は、絶対にポート22を閉じてはいけません。
    広告
方法 2
方法 2 の 5:

Uncomplicated Firewall(UFW)

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 Ubuntuサーバーにログインする 
    UFWは、すべてのUbuntuシステムにプリインストールされています。GUIインターフェースにログインしている場合は、ターミナルウィンドウを開きましょう。
  2. How.com.vn 日本語: Step 2 sudo ufw status verbose
    と入力し、 Enterキーを押す UFWがすでに起動している場合は、ステータスメッセージと、既存のファイアウォールルール(開いているポートを含む)のリストが表示されます。
    • Status: inactiveというメッセージが表示された場合は、ファイアウォールを起動する必要があります。
    • sudo ufw enableと入力し、Enterキーを押すと、ファイアウォールが起動します。[1]
    • ファイアウォールロギングを有効にするには、sudo ufw logging onを使用します。
  3. How.com.vn 日本語: Step 3 sudo ufw allow [ポート番号]
    を使用してポートを開く 例えば、SSHポート(22)を開く場合は、sudo ufw allow 22と入力し、Enterキーを押すと、ポートが開きます。変更はすぐに反映されるので、ファイアウォールを再起動する必要はありません。[2]
    • 開くポートが/etc/servicesに記載されているサービスのものであれば、ポート番号の代わりにサービス名を入力すればよいでしょう(例:sudo ufw allow ssh)。
    • 特定の範囲のポートを開くには、sudo ufw allow 6000:6007/tcpという構文を使用し、6000:6007を実際の範囲に置き換えます。UDPポートの場合は、tcpudpに置き換えましょう。
    • ポートにアクセスできるIPアドレスを指定するには、sudo ufw allow from 10.0.0.1 to any port 22という構文を使用します。10.0.0.1をIPアドレスに、22をそのアドレスに対して開きたいポートに置き換えましょう。
    • ポートを閉じるには、sudo ufw deny 22を使用し、22を閉じたいポートに置き換えます。
  4. How.com.vn 日本語: Step 4 不要なファイアウォールルールを削除する 
    特に開いていないポートは、デフォルトでブロックされています。ポートを開いていて、閉じたくなった場合は、以下の手順で行いましょう。
    • sudo ufw status numberedと入力し、Enterキーを押すと、すべてのファイアウォールルールのリストが表示されます。各ファイアウォールルールは、リストの番号を表す数字で始まります。
    • 削除したいルールの先頭にある番号を確認します。例えば、ポート22を開くルールを削除したいとします(現在SSHを使用してサーバーにアクセスしている場合は、この操作を行ってはいけません)。このルールは2行目に表示されています。
    • sudo ufw delete 2と入力し、Enterキーを押すと、2行目のルールが削除されます。
    広告
方法 3
方法 3 の 5:

firewalld

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 サーバーにログインする 
    CentOS、Red Hat Enterprise、SUSE、Fedoraシステムでfirewalldを使用している場合は、コマンドラインから簡単にポートを開くことができます。firewalldは、これらすべてのディストリビューションにおけるデフォルトのファイアウォールソリューションです。[3]
  2. How.com.vn 日本語: Step 2 firewall-cmd --list-ports
    を実行して開いているすべてのポートを表示する
    • または、sudo firewall-cmd --list-allを実行してfirewalldの構成全体を表示し、許可および拒否されたすべてのポートとサービスを表示しましょう。
  3. How.com.vn 日本語: Step 3 firewall-cmd
    コマンドを使用してポートを開く 以下の例では、リモートアクセスに対してSSHポート(22)を開く方法を紹介します。
    • firewall-cmd --zone=public --add-port=22/tcpで、ポートはすぐに開きますが、この変更は永続的なものではありません。
    • この変更を永続的なものにするには、firewall-cmd --zone=public --permanent --add-port=22/tcpというコマンドに--permanentフラグを追加します。[4]
    • UDPポートを開くには、tcpudpに置き換えます。
    • サービス名でポートを開くには、firewall-cmd --zone=public --permanentを使用します。
  4. How.com.vn 日本語: Step 4 特定のIPアドレに対してポートを開く 
    あるIPアドレスとの間の接続のみを許可したい場合は、そのアドレスの新しいファイアウォールゾーンを作成する必要があります。
    • 新しいゾーンを作成するには、firewall-cmd --new-zone=MYZONENAME --permanentを使用します。
    • 次に、firewall-cmd –reloadを実行して構成を更新します。
    • firewall-cmd --get-zonesを実行すると、新しいゾーンが表示されます。
    • IPアドレスをゾーンにリンクさせるには、firewall-cmd --zone=MYZONENAME --add-source=10.0.0.1 --permanentを使用します。同じIPアドレスを適切なアドレスに置き換えましょう。
    • 次に、「public」ではなくゾーン名を指定してゾーンに対してポートを開きます(例:firewall-cmd --zone=MYZONENAME --permanent --add-port=22/tcp)。
  5. How.com.vn 日本語: Step 5 ポートを閉じる 
    ポートを閉じる必要がある場合は、firewall-cmdコマンドで異なるフラグを使用すれば閉じることができます。例えば、外部に対してポート22を完全に閉じる場合は、firewall-cmd --zone=public --remove-port=22/tcp --permanentのようになります。[5]
    広告
方法 4
方法 4 の 5:

ConfigServer Firewall(CSF)

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 サーバーにログインする 
    rootユーザーとしてログインしていない場合は、rootにsuして構成を調整するか、コマンドの前にsudoを付けましょう。
  2. How.com.vn 日本語: Step 2 CSFの構成ファイルを含むディレクトリに移動する 
    このファイルはcsf.confという名前で、デフォルトでは/etc/csf/csf.confに保存されています。[6]これを行うには、cd /etc/csfと入力し、 Enterキーを押します。
  3. How.com.vn 日本語: Step 3 テキストエディタでcsf.confを開く 
    vimやnanoなど、任意のテキストエディタをしようできます。
    • vimでcsf.confを開くには、vim csf.configと入力し、 Enterキーを押します。
  4. How.com.vn 日本語: Step 4 TCP_IN
    リストにTCP受信ポートを追加する ファイルを開くと、TCP_INセクションとTCP_OUTセクションが表示されます。TCP_INセクションには、開いているTCP受信ポートがカンマで区切られて一覧表示されています。ポートは、わかりやすいように番号順になっていますが、この順番にこだわる必要はありません。カンマで区切るだけで、ポートを配列の末尾に追加できます。
    • 例えば、ポート999を開きたい場合、現在開いているポートが20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995であるとします。
    • ポート999をリストに追加すると、20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999のようになります。
    • vimで挿入(入力)モードにするには、キーボードのiキーを押します。
  5. How.com.vn 日本語: Step 5 TCP_OUT
    リストにTCP送信ポートを追加する TCP受信ポートで行った手順と同様に、開きたいTCP送信ポートをTCP_OUTリストに追加します。
  6. How.com.vn 日本語: Step 6 変更を保存してファイルを閉じる 
    以下の手順でファイルを保存して閉じます。
    • Escキーを押します。
    • :wq!と入力します。
    • Enterキーを押します。
  7. How.com.vn 日本語: Step 7 service csf restart
    と入力し、 Enterキーを押す ファイアウォールが再起動し、新しいポートが開きます。
    • ポートを拒否するには、ファイルを再度開き、ポートを削除してファイルを保存し、ファイアウォールを再起動します。
    広告
方法 5
方法 5 の 5:

Advanced Policy Firewall(APF)

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 Linuxサーバーにログインする 
    LinuxシステムでAPFを使用している場合は、APFの構成ファイルでファイアウォールの構成を変更します。
  2. How.com.vn 日本語: Step 2 APFの構成ファイルを含むディレクトリに移動する 
    このファイルはconf.apfという名前で、デフォルトでは/etc/apfに保存されています。[7]cd /etc/apfと入力すると、そのディレクトリに移動します。
  3. How.com.vn 日本語: Step 3 テキストエディタで/etc/apf/conf.apfを開く 
    vimやnanoなど、任意のテキストエディタを使用できます。
    • vimでconf.apfを開くには、sudo vim /etc/apf/conf.apfと入力し、Enterキーを押します。
  4. How.com.vn 日本語: Step 4 IG_TCP_CPORTS
    リストにTCP受信ポートを追加する ファイルを開くと、IG_TCP_CPORTSセクションとEG_TCP_CPORTSセクションが表示されます。IG_TCP_CPORTSセクションには、開いているTCP受信ポートがカンマで区切られて一覧表示されています。ポートは、わかりやすいように番号順になっていますが、それにこだわる必要はありません。カンマで区切るだけで、ポートを配列の末尾に追加できます。
    • 例えば、ポート999を開きたい場合、現在開いているポートが20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995であるとします。
    • IG_TCP_CPORTSリストにポート999を追加すると、20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999のようになります。
    • vimで挿入(入力)モードにするには、キーボードのiキーを押します。
  5. How.com.vn 日本語: Step 5 EG_TCP_CPORTS
    リストにTCP送信ポートを追加する TCP受信ポートで行った手順と同様に、開きたいTCP送信ポートをEG_TCP_CPORTSリストに追加します。
  6. How.com.vn 日本語: Step 6 変更を保存してファイルを閉じる 
    以下の手順でファイルを保存して閉じます。
    • Escキーを押します。
    • :wq! と入力します。
    • Enterキーを押します。
  7. How.com.vn 日本語: Step 7 service apf -r
    と入力し、 Enterキーを押す APFが再起動し、新しいポートが開きます。
    • ポートを拒否するには、ファイルを再度開き、ポートを削除してファイル保存し、ファイアウォールを再起動します。
    広告

ポイント

  • 使用していないポートやサービスを実行していないポートがある場合は、そのポートを閉じましょう。侵入者のためにドアを開けたままにしておくべきではありません。
  • むやみやたらと開いているポートを適当に追加し始めると、ハッキングされてしまいます。どうしても必要な場合のみポートを開きましょう。
広告

このHow.com.vn記事について

How.com.vn 日本語: Luigi Oppido
共著者 ::
パソコン・ITスペシャリスト
この記事の共著者 : Luigi Oppido. ルイージ・オピドはカリフォルニア州サンタクルーズ市のパソコン修理専門店「Pleasure Point Computers」経営者です。25年以上にわたりパソコン修理全般、データ復元、ウイルス除去、アップグレードなどのサービスを請け負っています。また、カリフォルニア中部でKSCOにて放送中の番組、「Computer Man Show! 」の司会者も務めています。 この記事は5,885回アクセスされました。
このページは 5,885 回アクセスされました。

この記事は役に立ちましたか?

⚠️ Disclaimer:

Content from Wiki How 日本語 language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

広告