これは、安全でステートフルなファイアウォールを簡単に起動して実行できるためです。`ファイルで行われます。+`ファイアウォールがどのように機能するかを有効にして制御するために、いくつかの異なる行を追加する必要があります。基本的なルールから始めましょう。これらをファイルの最後に追加します。+`コマンドで起動できるようになります。これは好みの問題のように思えるかもしれませんが、実際にはファイアウォールの機能に影響します。2つの要因が組み合わさって、これが重要なオプションになります。1つ目は、ファイアウォール構成スクリプトがバックグラウンドタスクとしてではなく、現在のシェル環境で実行されることです。+`コマンドが「quiet」フラグのない設定スクリプトを読み取ると、各行を読み取って標準出力に出力することです。行を出力すると、関連するアクションを*即座に*実行します。ほとんどのファイアウォール構成ファイルは、クリーンな状態で開始するために、スクリプトの先頭にある現在のルールをフラッシュします。+`ファイアウォールがquietフラグなしでこのような行に出くわした場合、すぐにすべてのルールをフラッシュし、通常はすべての接続を拒否するデフォルトポリシーに戻ります。SSHを介してファイアウォールを設定している場合、これにより接続が切断され、現在のシェルセッションが閉じられ、その後のルールは処理されず、事実上サーバーからロックアウトされます。クワイエットフラグを使用すると、基本的に、各ルールを個別に実装する代わりに、ファイアウォールでルールをセットとして処理できます。これらの2行の後、ファイアウォールの動作の構成を開始できます。80"firewall_allowservices="any"firewall_logdeny="YES"最初に、設定するファイアウォールのタイプとして「ワークステーション」を選択します。これは、適切なデフォルト動作を備えたステートフルファイアウォールです。`オプションを使用して、クライアントがアクセスできるようにするサービスを簡単にカスタマイズできます。`オプションは、スペースで区切られた、サーバーでアクセス可能なTCPポートまたはサービスのリストに設定する必要があります。Webサーバー用にポート80を構成しました)。サービスを名前で使用することもできます。+`ファイルにリストされています。上記を次のように変更できます。http"これは同じ結果になります。+`サービスを追加してください。+`リスト項目は、提供されたサービスへのアクセスを許可されるべきクライアントです。キーワード「any」は、すべてのクライアントがこれらのサービスにアクセスできることを意味します。サービスに接続できるクライアントを制限したい場合は、ここで行うことができます。+`ファイルのこの部分は次のようになります。+`オプションを調整して、クライアントに公開したいサービスを参照することを忘れないでください。終了したら、ファイルを保存して閉じます。`オプションにリストされているポートとサービスはTCP接続へのアクセスを許可します。+`ファイルを編集する必要があります。/etc/rc.firewall「ワークステーション」ファイアウォールタイプを使用するようにファイアウォールを構成したので、次のようなセクションを探します。+」値の処理専用のセクションがあります。これは次のようになります。donedoneこのセクションの後、次のような行を追加することにより、UDPパケットを受け入れる必要があるサービスまたはポートを追加できます。me上記の例では、すべてのクライアントに対して接続を許可する必要がある場合は「any」キーワードを残すか、特定のIPアドレスまたはネットワーク範囲に変更できます。+」は、UDPアクセスを許可するポート番号またはサービス名に置き換える必要があります。DNSサーバーを実行している場合、次のような行を作成できます。192.168.2.0/24+」ネットワーク範囲内のすべてのクライアントが標準ポート53で動作するDNSサーバーにアクセスできるようになります。この例では、より長い応答のためにDNSサーバーが使用するTCP接続用にこのポートを開くことにも注意してください。完了したら、ファイルを保存して閉じます。設定が完了したら、次のように入力してファイアウォールを開始できます。startファイアウォールは正しく起動し、許可されたサービスとポートを守りながら、不要なトラフィックをブロックします。このファイアウォールは、起動するたびに自動的に起動します。ログに記録するIPアドレスごとの拒否数の制限も構成します。これにより、単一の永続的なユーザーからのログがいっぱいになるのを防ぎます。/etc/sysctl.confファイルの最後に、以下を追加することにより、ロギングを「5」に制限できます。net.inet.ip.fw.verbose_limit=5完了したら、ファイルを保存して閉じます。これにより、次回の起動時にその設定が構成されます。+`コマンド自体を使用できます。net.inet.ip.fw.verbose_limit=5これにより、このブートの制限がすぐに実装されます。サーバーのタイムゾーンを設定する方法サーバーのタイムゾーンを正しく設定することをお勧めします。これは、次のセクションでNTP時刻同期を構成する際の重要なステップです。`と呼ばれるメニューベースのツールが付属しています。tzsetup最初のメニュー画面が表示され、ハードウェアクロックがUTCまたは現地時間のどちらに設定されているかが尋ねられます。UTCまたは現地時間]ここで「いいえ」を選択します。次に、サーバーのある世界の地域を選択するように求められます。[世界のFreeBSD地域]次に、サブ地域または国を選択する必要があります。[FreeBSD国]最後に、サーバーに適した特定のタイムゾーンを選択します。[FreeBSDタイムゾーン]選択に基づいて表示されるタイムゾーンの選択を確認します。この時点で、サーバーのタイムゾーンは選択したものと一致するはずです。正確な時間を維持するようにNTPを構成する方法サーバーでタイムゾーンが構成されたので、サーバーでNTPまたはネットワークタイムプロトコルを設定できます。これにより、サーバーの時間を世界中の他のユーザーと同期させることができます。これは、正確なロギングだけでなく、時間に敏感なクライアントとサーバーの相互作用にとって重要です。`ファイルを調整することで、サーバーでNTPサービスを有効にできます。/etc/rc.confこのファイル内に、次の行を追加します。ntpd_enable="YES"また、ブート時にマシン上の時刻をリモートNTPサーバーと同期させる2行目を追加する必要があります。これは、サーバーが初期化時に通常のドリフト制限を超えることができるためです。NTPデーモンが起動する前にタイムゾーンが適用され、システム時間が相殺されるため、サーバーはブート時にドリフト制限の範囲外になる可能性があります。ntpd_enable="YES"この行がない場合、起動プロセスの前にシステム時間を歪めるタイムゾーン設定が原因で、起動時にNTPデーモンが失敗します。完了したら、ファイルを保存して閉じます。+`サービスを開始できます。+`にリストされているNTPサーバーと同期することにより、サーバーの時間が維持されます。余分なスワップ領域を構成する方法DigitalOceanで構成されたFreeBSDサーバーでは、サーバーのサイズに関係なく、1ギガバイトのスワップスペースが自動的に構成されます。これを確認するには、次のように入力します。-gこれは次のようになります。0%一部のユーザーおよびアプリケーションでは、これよりも多くのスワップ領域が必要になる場合があります。これは、スワップファイルを追加することで簡単に実現できます。最初に行う必要があるのは、スワップに使用するファイルにファイルシステムのチャンクを割り当てることです。+`コマンドを使用します。これは、その場ですばやく領域を割り当てることができます。」に配置しますが、ファイルシステム内の任意の適切な場所を使用できます。このファイルは、追加の1ギガバイトのスワップスペースを提供します。+`オプションに与えられた値を変更することにより、この数を調整できます。/swapfileスペースを割り当てた後、ファイルへのアクセスをロックダウンする必要があります。通常のユーザーは、ファイルへのアクセス権を持ってはいけません。/swapfile次に、擬似デバイスをファイルに関連付け、次のように入力してブート時にマウントするように構成します。+`ファイルに行が追加されたら、次のように入力してセッションのスワップファイルをアクティブにできます。+`コマンドを使用して、スワップファイルが機能していることを確認できます。+)が表示されるはずです。0%このスワップファイルは、起動するたびに自動的にマウントされます。結論このガイドで概説されている手順は、FreeBSDサーバーをより生産可能な状態にするために使用できます。ファイアウォール、NTP同期、適切なスワップスペースなどの基本的な要素を設定することにより、サーバーを将来のインストールおよびサービスの優れたベースとして使用できます。