GNU/Linux >> Linux の 問題 >  >> Linux

Linux サーバーにファイアウォールを設定する方法

Linux Netfilter で最も一般的に使用されるセキュリティ フレームワークの 1 つであるこの機能は、Linux カーネル内にあり、カスタム ドライバーの形式で実装されるさまざまなネットワーク関連操作に柔軟性を提供します。

Netfilter は、パケット フィルタリング、ネットワーク アドレス解決、および解決ポートのいくつかのオプションを提供します。これらの機能は、ネットワーク機能を介してパケットを送信するために必要な機能を提供するだけでなく、コンピューター ネットワーク内の機密性の高い場所にパケットが到達するのを禁止する機能を提供します。

Netfilter は、Linux カーネル内の一連のツールであり、特定のカーネル モジュールがカーネル内でコールバック関数のネットワーク トランザクションを登録できるようにします。

これらの機能は、通常、トラフィック フィルター ルールの形式で適用されます。それらは、ネットワーク内のそれぞれのフィルター システムを通過する各新しいトランザクションまたは各データ パケットとして呼び出されます。このシステムはファイアウォール フィルターです。

ファイアウォールは、ネットワーク パケットの傍受と操作を担当します。また、処理のさまざまな段階でのパケット処理も可能にします。 Netfilter は、ファイアウォールまたは Linux ベースのファイアウォール用の無料ツールの提供を担当するプロジェクトに付けられた名前でもあります。

Netfilter で構築された最も一般的なコンポーネントは、iptables ツール ファイアウォールまたはファイアウォールです。これにより、パッケージのフィルタリングが可能になり、ネットワークのアドレス解決を実行したり、何が起こっているかをログに記録したりできます。 Netfilter プロジェクトは、モジュール コアとして利用可能なコンポーネントを提供するだけでなく、ユーザーが使用するツールと開発者向けのライブラリも提供します。

iptables を使用してファイアウォールを構成する方法は次のとおりです。まず、iptables がアクティブかどうかを確認します。ターミナル ウィンドウからこれを行うには、次のように記述します。

sudo iptables -L

インストールしていない場合は、次のステートメントでインストールできます:

sudo apt-get install iptables

次のコマンドも使用できます:

whereis iptables

次のような iptables の場所を返します。

iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

Debian / Ubuntu および派生物の場合に開始するには、次のコマンドを実行します:

sudo ufw enable // iniciar
 sudo ufw disable //detener

CentOS / RHEL / Fedora を使用している場合は、次のコマンドを実行します:

service iptables stop
 service iptables start
 service iptables restart

iptables ルールの適用方法

パケットをフィルタリングするためのルールは、iptables コマンドを使用して配置されます。構文のタイプは、次のステートメントに対応します。

例 Web サービスで使用されるポート 80 へのアクセスを許可するルールを挿入するには:

iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
 iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

ルールによって定義されるパラメーターについて説明します。
-A =このルールをチェーン フィルターに追加することを示します。私たちが行っていることを示すチェーン。ほとんどの場合、データ トラフィック用の特定のポートまたは IP を許可するかどうかに関係なく、着信または発信トラフィックの INPUT および OUTPUT を処理します。

-m =フィルタ ルールがメディアまたは接続および伝送プロトコルと一致する必要があることを示します。たとえば、この場合、データ トラフィックは許可しますが、tcp と udp またはその他のプロトコル番号のみを許可します。

-s =許可された送信元 IP アドレス トラフィック、[/netmask] を使用するか元のポートを指定するアドレス範囲を示します。

ip =-d は、許可された宛先アドレス トラフィック、[/netmask] を使用するか宛先ポートを指定するアドレス範囲を示します。

j – =は、パケット フィルタ ルールに一致する場合にアクションが実行されることを示します。デフォルトでは、iptables は 4 つの可能なアクションを許可します:

ACCEPT は、パケットが受け入れられ、続行できることを示します。

REJECT は、パケットが拒否されたことを示し、ソースに受け入れられないことを通知し、パッケージの処理を停止します。

DROP は拒否を示し、パケットを無視し、警告を生成せず、パケットの処理を停止します。

LOG は、パケットが受け入れられ、このチェーンでさらに多くのルールを継続的に処理していることを示し、何が起こったかのログを確認できます。

例:ポート 22 を閉じる SSH リモート アクセス:

iptables -A INPUT -p tcp --dport 22 -j DROP

つまり、ポート 22 に入るエントリまたはデータ トラフィックを拒否するか、ポート 22 に接続しようとすることです。

例:開発者または設計者がコンピュータから ftp アクセスできるようにしたいが、他の誰もアクセスできないようにしたい場合は、次のルールを使用できます。これは、特定の IP に対して FTP、ポート 21 を受け入れます。

iptables -A INPUT -s Your_IP_Address -p tcp -dport 21 -j ACCEPT

例:データベース管理者は、コンピューターから独自のアクセス権を持つことができます。次に、ポート接続または Mysql データベースを有効にします。

iptables -A INPUT -s Your_IP_Address -p tcp --dport 3306 -j ACCEPT

例:ほとんどのサーバー管理者は、スパムを生成するためにポート 25 (SMTP) を閉じたままにしており、スパマーが大量のメールに簡単に使用できるようにしています。

iptables -A INPUT -p tcp --dport 22 -j DROP

例:https://www.miweb.com の形式を使用して安全な Web サイトへのアクセスを許可する必要がある場合、Web ページの安全な転送に使用される HTTPS / SSL であるポート 443 へのアクセスを許可する必要があります。

iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
 iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT

システム管理者への注意
すべての管理者と Linux ユーザーは、このツールをセキュリティ防御の最前線と見なすことが重要であることを認識する必要があります。多くの場合、システムへのアクセスを妨げるため、このツールを使用してサービスを提供する方法を知っておいてください。進行中の攻撃の可能性を阻止する役割も果たします。

潜在的なセキュリティの問題と脆弱性を最小限に抑えるために、必要に応じて iptables を簡単にカスタマイズする 1 つの方法。

システムにあるすべてのポートを知る必要がある場合は、次のガイドを使用して、最も一般的に使用されるポートと保護されていると見なすことができます。

考慮すべきインターネット ポート
20 FTP ファイル転送とデータ
21 FTP
22 SSH、SFTP リモート アクセス
23 Telnet リモート処理機器は安全でないプロトコルです
25 SMTP 電子メールは安全ではありません
53 システム DNS ドメイン名解決
67 DHCP 動的 IP アドレスで使用される BOOTP (サーバー)
68 DHCP でも使用される BOOTP (クライアント)
80 HTTP ハイパーテキスト転送プロトコル。 WWW サービス
110 POP3 ポスト オフィス プロトコル。電子メールの受信
143 メール サーバーに保存されたメッセージへのアクセスを可能にする IMAP プロトコル アプリケーション
389 LDAP プロトコル データベースへの軽量アクセス
443 Web ページの安全な転送のための HTTPS / SSL プロトコル
/>465 SMTP は SSL で安全に暗号化されています。電子メールの送信に使用
631 CUPS 印刷システム Linux およびその派生物
SSL セキュリティと暗号化を備えた 993 IMAP を電子メールの受信に使用
SSL セキュリティと暗号化を備えた 995 POP3 を電子メールの受信に使用
br />ポート サーバー 1433 データベース SQLServer
1434 ポート SQLMonitor による SQLServer サーバー監視
1521 サーバー ポート Oracle データベース
2082 アクセス ポート ウェブを管理するための CPanel コントロール パネル
2083 CPanel ポート 安全なアクセス
アクセス ポート 3306 MySQL サーバー データベース MYSQL
3389 RDP リモート デスクトップまたはターミナル サーバー
3396 サービス ポート Novell Novell Print
3690 Apache Subversion はバージョン管理ツールで、別名SVN として
5000 ポートのプラグアンドプレイは、コンピュータ、プリンタ、Wi-Fi およびモバイル デバイスのアクセス ポイントを可能にする通信プロトコルのユニバーサル セットであり、ネットワーク内で見つかります
5222 Jabber / XMPP は、現在使用されているプロトコル Facebook、Tuenti、その他 WhatsApp
5223 Jabber / SSL の XMPP デフォルト ポート cクライアント接続
5269 Jabber / XMPP サーバー接続
5432 PostgreSQL 管理システム データベース
5400 HTTP プロトコルを使用した VNC リモート デスクトップ プロトコル。
8080 は、Tomcat Web サーバーが使用するポートです。 JSP.


Linux
  1. Linuxで$PATH変数を設定する方法

  2. LinuxサーバーでIPアドレスをブロックする方法

  3. Linuxサーバーを監視する方法は?

  1. LinuxサーバーでIPアドレスをブロックする方法

  2. ArchLinuxでSFTPサーバーをセットアップする方法

  3. OpenSSHを使用してLinuxサーバーに接続する方法

  1. Linuxでプリンタを設定する方法

  2. LinuxPCにVPNサーバーをセットアップする

  3. NAT を使用して Linux サーバーをルーターとして設定する方法