システム管理メモシステム管理メモシステム管理はいつも泥沼。サーバーの構築が出来ましたが、あくまでも自分や目の届く範囲のユーザーがWordPressをアクセスするための設定でした。OSをパブリックネットワークに公開しても大丈夫なようにいくつかの設定を行いたいと思います。そのためには、以下の通り、最低限のセキュリティー強化を図ります。サーバーへのアクセスが発生した場合、そのアクセスを十分に記録するということです。インストール直後から有効になっていますが、私から見ると若干物足りない設定になっていますので、ロギングを強化します。サーバーへリモートアクセス可能な利用者とポートの関係を限定します。サーバーへのアクセスを許可するネットワークと、許可しないネットワークを設定します。ファイヤーウォールを使って不要なサービスポートを塞ぎます。使っていない、使う予定がないポートは塞ぎ、また、到着したパケットをがどんな目的でサーバーにアクセスしてきているのか目印となるよう記録するようにします。以上の設定を行えば、サーバーの無防備サービス状態を発見して侵入を試みる不特定IPアドレスへの攻撃からサーバーを防御できます。サービスポートからサーバーへの侵入を試みる場合、いきなり侵入されることは希です。サーバーの開かれているポートをポートスキャンにより調査したり、Webページをアクセスして動作しているOSとバージョンを確認したり、ハッキングできる穴を探します。可能な限りの記録を残す事により、ハッキングの予兆を察知します。万が一侵入されたとしても、あとから記録をたどり、どこからどんな風に侵入が発生したのかを推測するのに役立ちます。編集することによってロギング条件を設定できます。/var/log/ppp.log!*これを次のように編集して、あとから追加する機会が多いサーバーアプリケーションの記録を出来るようにします。/var/log/local7.logそして、新たに追加したログファイルが記録できるよう、空のファイルを作っておきます。編集することによって行います。JCWebサーバーとして公開するサーバーの場合、赤文字のログファイルは巨大化する傾向にあります。デフォルトでは100kB毎にログをローテーションし、5~7世代を保持する設定になっていますが、これでは1週間分程度しか記録できない場合がありますので、必要性に応じて半年から1年程度の記録を残せるように編集することにします。以下は、私が使用しているログローテションの一例です。保存ログサイズを大きくしたり、ローテートするタイミングを月が更新するタイミングにしたりしています。下から2行分はHTTPサーバーのApacheログを月の初めにローテートするための記述です。毎月1日の0時にログを更新する設定にしています。ftpファイル転送を試みた記録です。ファイヤーウォールのログが記録されます。ファイルを観察して、ログファイルがあまりに大きくなってディスクを圧迫していないかチェックする必要があります。編集する必要があります。リモート接続パケットのアクセス元のIPアドレスをチェックして、その接続を受け付けるか拒否するかを決める機能があります。適切に編集することにより、接続を許可しないホストからのアクセスをリモートアクセス用プログラムに渡す前の段階で拒否することができ、仮にサービスにセキュリティーホールがあったとしても、制御がプログラムに渡る前の段階で通信を切断できます。セクションを編集することになります。以下のように記述します。allowまず、全許可になっている上記の行をコメントアウトします。接続をネットワーク単位で許可しています。二行目は、ホスト毎に許可する場合の例です。ホスト名かIPアドレスで定義します。複数ホストを記述する場合はスペースで区切ります。三行目は、ドメイン単位で許可する場合の例です。上の例は出先からリモートメンテナンスを行う必要がある場合の例で、その時々でどんなIPアドレスが割り振られるかわからないときは、このようにドメイン単位を使うしかありません。対象となるIPアドレスが多い場合はちょっと気持ち悪いですが仕方ありません。国内プロバイダーの場合は、万が一被害にあってしまった時、刑事事件として処理して警察権限でプロバイダーの協力を得るしかないでしょう。その覚悟がないのならVPNやダイヤルアップをセットアップするしかないでしょう。ftpに関しては、デフォルトでは全て許可になっていますので、コメントアウトして塞ぎます。ファイル最後の記述により、全部拒否されることになります。私のサーバーに対しても海外アドレスから1分間に100以上のログインパケットを送りつけられることがありますが、次の設定で1分間に同じIPアドレスから6回以上アクセスが発生すると、そのIPアドレスを拒絶し、サーバー全体でも毎分12本以上の接続を受け付けないようにします。以上がアクセスコントロールによるセキュリティー強化です。ファイヤーウォール機能はパケットフィルタリングだけではなく、ポートフォワーディング、帯域制御など非常に高機能で複雑なコントロールが可能ですが、全てコマンドで制御するため高度な設定を行うのは結構大変です。デフォルトではファイヤウォールがオフの状態になっています。ワークステーションモードを選択すれば設定が非常にシンプルになります。サービスポートをカンマで区切って記述します。(この例では公開しているサービスポート以外に、将来開くことになりそうなポート番号をあらかじめオープンしています。無条件にアクセスを許可するホストIPアドレスを記述します。許可せず、記録も取らないポート番号を記述します。その他の設定は、上記のままにします。low.ファイヤーウォールのロギングカウンターは、デフォルトでは500になっており、ログが膨らむと自動停止してしまいます。この記述を編集し、上限を解除します。このあとで、FreeBSDを再起動すれば、ファイヤウォールが有効になります。2023/05/23草刈りしてたら、白骨が出てきた。2,908記事更新通知サービスメールアドレスを記入して購読すれば、更新をメールで受信できます。