6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS ポート開放に必要な知識あれこれ

Last updated at Posted at 2021-04-16

はじめに

サーバーのポートやファイアウォールに関する備忘録です。ポートを開放するまでに必要な知識をまとめました。環境はCentOSを想定していますが、違いは最後のコマンドのみです。

サーバー関連の予備知識

・CentOSではデフォルトでfirewalldが有効になっており、基本的にポートは塞がっているため、
サービスとして運用するには、アプリケーションとポートをつないであげる必要がある。
例えば、WebサーバーのApacheなどを設定し起動した後に、firewalldの設定を行いポート80番を開放しなければならない。(正確には80番でなくても良い)

・ネットワークの情報の基礎は__プロトコル、アドレス、ポート番号__から成り、コンピュータネットワークにおいて、プロトコル、IPアドレスとポート番号は__「どのような方法」で「どこ」の「何号室」に通信するのか__という意味になる。

・ポートは0〜65535まで存在するが、その中でも0〜1023までをウェルノウンポート番号(「予約されている番号」の意)という。代表的なポートをあげていく。

プロトコル名 ポート番号 概要
FTP 20 ファイル転送に利用。データ転送用。
SSH 22 ネットワークに接続された機器を遠隔操作する。
SMTP 25 電子メールを送信するために利用。
DNS 53 IPアドレスとFQDNを紐付けて名前解決するために利用。
HTTP 80 Webサーバーとクライアント(ブラウザ)の通信に利用。
POP3 110 メールサーバーからメールを受信するのに利用。
IMAP 143 メールサーバー上のメールを操作するのに利用。
POPとの違いは、端末にメールをダウンロードしない。
HTTPS 443 HTTPの通信間をSSL/TLSで暗号化し
セキュアになったHTTP通信。

TCPプロトコル,UDPプロトコル

TCPとUDPはともにクライアントとサーバ間での通信チャネル(ポート)の提供、通信管理を行う、レイヤー4のプロトコルである。

TCP UDP
コネクション型通信 コネクションレス型通信
転送速度が遅い 転送速度が速い
信頼性が高い 信頼生が低い

TCPプロトコル

・送ったデータが相手に届いたか、その都度確認しながら通信するやり方。
・コネクション型を採用した上位プロトコル(第4層)を識別する__3wayハンドシェイクによる通信前の打診を行うため、信頼性が高い。__
・Web通信、メール通信、ファイル転送などの信頼性が求められる通信に向いている。

UDPプロトコル

・送ったデータが相手に届いたか確認しないで通信するやり方。
・コネクションレス型を採用した上位プロトコル(第4層)を識別し転送速度が速い通信を提供するプロトコル。
・コネクションレス型通信とは、通信前に相手との応答確認を行わずに通信を開始する方法
・音声や動画などのリアルタイムアプリケーションや,DNSなどに向いている。

ファイアウォール(Firewall)とは

企業などの内部ネットワークをインターネットを通して侵入してくる不正なアクセスから守るための“防火壁”。WANの発展により、企業内のネットワークをWebに接続することが当たり前になった結果、__Web経由で内部ネットワークに侵入できるようになり、内部データの盗聴、改ざん、攻撃などが行われる可能性が大きくなった。__そのため、高度なセキュリティシステムの構築が必要となり、ファイアウォールが誕生した。
https://www.hs-juniperproducts.jp/check/firewall.html

ファイアウォールの仕組み

パケットフィルタリング型

事前に通信を許可する送信元情報(IPアドレスやポート)、宛先情報をルールとして設定することで、ルールに反する通信を遮断する。

  • 事前に設定したルールに合致するものは全て通信を許可
  • 事前に設定したルールに合致しないものは全て通信を破棄

アプリケーションゲートウェイ型

新しいタイプのファイアウォール。従来の方法は通信先を指定することで、不審なアクセスをシャットアウトする。最近問題になっている「なりすまし」型の不正アクセウスには効果は強くない。一方、アプリケーションデートウェイ型は__それぞれのアクセスの詳細をチェックして、セキュリティの是非を判断する__ので、従来のものよりネット速度が少し落ちるが、「なりすまし」には効果的。

サーキットレベルゲートウェイ型

従来のパケットフィルタリング型の動作に加えて、通信を許可するポート指定や制御を行うタイプ。使用するアプリケーションごとに設定が可能なため。特定のシステムやソフトにだけ通信を制御するという使い方もできる。

firewalldのhttpポートを開ける

# firewall-cmd --zone=public --add-service=http

このコマンドによって一時的にWebサーバーのTCP、80番が解放される。

# firewall-cmd --zone=public --add-service=http --permanent

一時的でなく、恒久的な設定はこのコマンド

# firewall-cmd --reload

設定を反映させるためにリロードする。これで80ポートはファイアウォールを突破!

firewalldのhttpポートを開ける(ポートを直接開く)

httpなどのようにサービス単位ではなく、ポートを直接開く方法もある。

// TCP:443の時
# firewall-cmd --zone=public --add-port=443/tcp
# firewall-cmd --zone=public --add-port=443/tcp --permanent
# firewall-cmd --reload

これで443ポートはファイアウォールを突破!

6
6
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?