Freebsd+IPFWの組み合わせで、小規模なDDOS攻撃を防ぐ設定方法を採用。
2022-01-17 18:19:12
I. Freebsdの魅力
LAN内のインターネットを仮想化し、WindowsクライアントでWindows Server、Linux Server、FreebsdにSyn Floodパケットを無警戒で送信し、Freebsdの効果を偶然発見しました(よくあるDDoS攻撃 Windowsは10パケットになると完全に応答しなくなり、Linuxは10パケットになると異常接続し始め、Freebsdは100パケット以上の Syn Floodに耐えました)。私は会社のウェブサーバをすべてFreebsdプラットフォームに切り替えることにしました。
しかし、最近になって再び一部のユーザーから「Webサイトに正常にアクセスできない」という報告があり、その症状は「Webページを開くのが遅い」「Webサイトが見つからないと直接表示される」というものでした。そこで、このたび、Webサイトが正常に表示されないという現象が発生しました。
IPFWは、セキュリティ上の理由から、システム自身を含むすべてのネットワークサービスをデフォルトで拒否するファイアウォールです。
Freebsd 5.0 Releaseをインストールしたサーバーでテストしてみました。
また、この機能をオンにする前に、いくつかの準備作業を行う必要があります。
ここでは、IPFWの基本的なパラメータを設定するところから始めます。
Step1:準備
コマンドプロンプトで以下を実行します。
#cd /sys/i386/conf
これがない場合は、システムにportsサービスがインストールされていないため、忘れずにインストールする必要があります。
#cp GENERIC . /kernel_IPFW
ステップ2:カーネルルール
kernel_IPFWファイルをエディタで開き、以下の4行をファイルの末尾に追加してください。
オプション IPFIREWALL
パケットフィルタリング部分のコードをカーネルにコンパイルする。
オプション IPFIREWALL_VERBOSE
Syslogd経由のロギングを有効にします。このオプションを指定しないと、フィルタルールでロギングパケットを指定しても実際にはログが記録されません。
オプション IPFIREWALL_VERBOSE_LIMIT=10
Syslogdを通じて記録されるパケットルールごとのレコード数を制限します。このオプションは、多数の攻撃を受けていてファイアウォールの活動を記録したいが、一般的にSyslogのフラッディングのためにジャーナル書き込みが失敗することを望まない場合に有用でしょう。このルールでは、ルールチェーンのアイテムが制限値に達すると、それに対応するログはログされなくなります。
オプション IPFIREWALL_DEFAULT_TO_ACCEPT
この行が最も重要です。この行は、デフォルトのルールアクションを "deny"から "allow"に変更します。このコマンドは、デフォルトで、IPFWがどんなデータでも受け入れるということです。つまり、サーバはファイアウォールがないように見えるので、もしルールが必要なら、インストールが完了した後に追加すればよいのです。
入力が終わったらkernel_IPFWファイルを保存して終了します。
Freebsd は Linux と同様にオープンソースのオペレーティングシステムなので、コードがカプセル化されている Windows とは異なり、何か問題が発生した場合には推測したりマイクロソフトに相談したりするしかありません。Freebsd のシステムカーネルは常に更新されているので、新しいバージョンの機能を使用したり、より効率的で安定したシステムをカスタマイズするために、通常システムカーネルをコンパイルする必要があります。システムカーネルをコンパイルする必要があるのです。
コンパイルの過程で、いくつかのエラーが表示されることがありますが、エラー表示を最小限にするために、設定ファイルを最小化しています。これ以上エラー表示が出る場合は、入力ミスなどの軽微な問題を再確認してください。必須コマンド
コマンドラインで次のコマンドを実行します。
#/usr/sbin/config kernel_IPFW
実行後、次のようなメッセージが表示されます:Kernel build directory is . /compile/kernel_IPFW Don`t forget to do a make depend`.
#cd ... /compile/kernel_IPFW
[...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...]
関連
-
FreeBSDでGraphicsMagickが中国語のフォントをサポートするようにするにはどうしたらいいですか?
-
FreeBSD システムへのフォントのインストール: ステップバイステップの手順
-
USB フラッシュドライブを使って FreeBSD をインストールするための簡単なチュートリアル
-
AIXでrootvgをクローンする方法
-
見落とされがちな5つのUnixコマンド
-
Unixとは何か、なぜそんなに重要なのか?
-
gnu bashシェルプログラミングのbashプログラミング共通の構文は、特殊な変数が画像に整理された
-
FreeBSDでインストールソースを変更する方法
-
オープンソースのオペレーティングシステムUnix。SunOS 4.1.1ハンズオン体験記
-
freebsdのパーティショニングに関する知識まとめ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
FreeBSDにハードディスクを追加する方法?FreeBSDにハードディスクを追加する方法
-
Unixファイルシステムおよびpwdコマンドの実装詳細
-
FreeBSD 10のカーネルソースコードインストール方法の説明
-
FreeBSDのシステム使用法の説明
-
ベアデバイスとは何ですか?オラクル学習Q&A20例
-
Unixとは何ですか?UnixとLinuxの違いは何ですか?
-
FreeBSD 9.3が正式にリリースされ、公式ダウンロードアドレスが公開されました。
-
Unix OSのコマンドと設定ファイルによる知識共有の保護
-
FreeBSD 上で Mac のファイルとタイムマシンのバックアップサービスを構築する。
-
AIXでのRootvgイメージ作成、キャンセル、ハードディスク交換について