Linuxで開いているポートを確認する方法

How Check Open Ports Linux



開いているポートを確認することは、デバイスを保護するための最初のステップの1つです。リスニングサービスは、サービスの脆弱性を悪用してアクセスを取得したり、システムを混乱させたりする可能性のある攻撃者の入り口になる可能性があります。リスニングサービスまたはリスニングポートは、クライアントの接続を待機しているアプリケーション(FTPサーバーがFTPクライアントを待機しているなど)を備えたオープンポートです。Webサイトにサービスを提供していない場合、Webサーバーを実行し続ける意味はありません。 sshを使用しない場合は、ポート22を開いたままにします。このチュートリアルでは、リモートとローカルの両方で開いているポートを確認する方法と、それらを閉じる方法を示します。

コマンドnetstatは、ネットワーク接続を監視するためにすべてのコンピューターOS(オペレーティングシステム)に存在します。次のコマンドは、netstatを使用して、TCPプロトコルを使用しているすべてのリスニングポートを表示します。







netstat -lt



どこ:
netstat: プログラムを呼び出します。
-NS: リスニングポートを一覧表示します。
-NS: TCPプロトコルを指定します。



出力は人間にわかりやすく、プロトコル、送受信されたパケット、ローカルおよびリモートのIPアドレス、およびポートの状態を示す列に並べられています。





UDPのTCPプロトコルを変更すると、少なくともLinuxでは、TCPプロトコルとは逆に、状態を指定せずに開いているポートのみが表示されます。 UDPプロトコルはステートレスです

netstat -lu



プロトコルの指定を回避し、オプション-lまたは–listenのみを使用して、プロトコルとは無関係にリッスンしているすべてのポートに関する情報を取得できます。

netstat - 聞く

上記のオプションは、TCP、UDP、およびUnixソケットプロトコルの情報を表示します。

上記のすべての例は、接続が確立されていないリスニングポートで情報を印刷する方法を示しています。次のコマンドは、リスニングポートと確立された接続を表示する方法を示しています。

netstat -水

どこ:
netstat: プログラムを呼び出す
-v: 冗長性
-に: アクティブな接続を示します。
-NS: TCP接続を示しています
-NS: ポートを数値で表示します

システムで疑わしいプロセスを特定し、それに関連付けられているポートを確認するとします。コマンドを使用できます lsof プロセスに関連付けられている開いているファイルを一覧表示するために使用されます。

lsof-私 4 -に -NS <プロセス番号>>

次の例では、プロセス19327を確認します。

lsof-私 4 -に -NS 19327

どこ:
lsof :プログラムを呼び出す
-私: インターネットと相互作用するファイル、オプションを一覧表示します 4 オプションであるIPv4のみを印刷するように指示します 6 IPv6で利用できます。
-に: ANDする出力を指示します。
-NS: チェックするプロセスのPID番号を指定します。

ご覧のとおり、プロセスはリスニングSMTPポートに関連付けられています。

Linuxで開いているポートをリモートで確認する方法


リモートシステムのポートを検出する場合、最も広く使用されているツールはNmap(ネットワークマッパー)です。次の例は、Linuxhint.comに対するシングルポートスキャンを示しています。

nmaplinuxhint.com

出力は、ポート、ポートの状態、およびポートの背後でリッスンしているサービスを示す3列で順序付けられます。

表示されていません:988閉じたポート
ポートステートサービス
22/tcp openssh
25/tcp open smtp
80/tcp open http
161/tcpフィルター処理されたsnmp
443/tcp open https
1666/tcpフィルター処理されたnetview-aix-6
1723年/tcpフィルタリングされたpptp
6666/tcpフィルタリングされたirc
6667/tcpフィルタリングされたirc
6668/tcpフィルタリングされたirc
6669/tcpフィルタリングされたirc
9100/tcpフィルター処理されたjetdirect

デフォルトでは、nmapは最も一般的な1000ポートのみをスキャンします。 nmapですべてのポートをスキャンする場合は、次のコマンドを実行します。

nmap -NS-linuxhint.com

関連記事 このチュートリアルのセクションでは、多くの追加オプションを使用してポートとターゲットをスキャンするためのNmapに関する追加のチュートリアルを見つけることができます。

Debian10バスターのサービスを削除する

ファイアウォールルールに加えて、ポートをブロックしたままにして、不要なサービスを削除することをお勧めします。 Debian 10 Busterでは、これはaptで実現できます。
次の例は、aptを使用してApache2サービスを削除する方法を示しています。

apt remove apache2

要求された場合はプレス 削除を終了します。

UFWを使用してLinuxで開いているポートを閉じる方法

開いているポートを見つけた場合は、開く必要はありません。最も簡単な解決策は、UFW(Uncomplicated Firewall)を使用してポートを閉じることです。
オプションを使用して、ポートをブロックする方法は2つあります。 拒否 とオプションで 拒絶 、違いは、reject命令が、接続が拒否されたことを2番目の側に通知することです。

ルールを使用してポート22をブロックするには 拒否 とにかく走れ:

ufw拒否22

ルールを使用してポート22をブロックするには 拒絶 とにかく走れ:

ufwリジェクト22

関連記事 このチュートリアルの最後にあるセクションでは、UncomplicatedFirewallに関する優れたチュートリアルを見つけることができます。

iptablesを使用してLinuxで開いているポートを閉じる方法

UFWはポートを管理する最も簡単な方法ですが、Iptablesのフロントエンドです。
次の例は、iptablesを使用してポート22への接続を拒否する方法を示しています。

iptables-私入力-NStcp--dport 22 -NS拒絶

上記のルールは、宛先ポート(dport)22へのすべてのtcp着信(INPUT)接続を拒否するように指示しています。拒否されると、接続が拒否されたことが送信元に通知されます。

次のルールは、接続が拒否されたことをソースに通知せずに、すべてのパケットをドロップするだけです。

iptables-に入力-NStcp--dport 22 -NS落とす

この簡単なチュートリアルがお役に立てば幸いです。 Linuxとネットワークに関する追加の更新とヒントについては、LinuxHintをフォローしてください。

関連記事:

  • UFW(Uncomplicated Firewall)の操作
  • NMAPの基本チュートリアル
  • Firewalldで開いているポートを一覧表示する方法
  • Nmapネットワークスキャン
  • UbuntuとDebianでのZenmap(Nmap GUI)のインストールと使用
  • Nmap:IP範囲をスキャンします
  • nmapスクリプトの使用:Nmapバナーグラブ
  • 30のNmapの例