私が働く組織は安全に非常に重点を置いています。オペレーティングシステムを担当するシステム管理者グループ(明らかにroot権限を持つ)と実行中のサービスを維持するシステム管理者グループ(私もそれらの1つであり、私たちもそれらの1つ)の間には区別があります。そのオペレーティングシステムから。 sudoで制限しないと、rootにアクセスできません。
私は現在Apache設定を維持する方法を再設計しています。新しい設定はRHELで実行され、以前の設定はSolarisで実行されます。
とにかく、Solarisでは、パイプロギングを使用するときにログをパイプするスクリプトは、Apacheと同じユーザーであるwebservdで実行されます。ただし、RHELでは最終的にrootとして実行されるため、Apacheサービスアカウント(たとえば、実際のApahceが属する同じアカウントであるapache)で実行することをお勧めします。提供する生産する)。
パイプライン呼び出しでsudoを使用するソリューションだけでは不十分です。 QAを通過する前に、次の方法を見つける必要があります。できないApache設定ファイルに何かを入力してrootとして実行するようにします。解決策には、Apacheユーザーにいくつかの特別な権限(ポート80/443にバインドできるようにする)を付与し、ルートの代わりにその権限を使用してサービスを開始することが含まれていると考えられます。
どんな助けでも大変感謝します。
付録:パイプラインログを呼び出す方法を示すように求められました。
構成ファイルの関連行は次のとおりです。
CustomLog "||/httpd/scripts/syslog.py" qradar
最終的に起こるのは、/httpd/scripts/syslog.pyのスクリプトがrootとして実行されることです。私たちはこれを不可能にするだけでなく、不可能にする必要があります。
答え1
私が正しく理解したなら、HTTPをrootとして実行したくないでしょう。 Apacheがポート80でリッスンするのではなく、IPtablesを使用してこれらのパケットをより高いポート番号にリダイレクトするか、Linuxにポート<1024が安全でないことを知らせます。下記の素晴らしい回答をご覧くださいhttps://unix.stackexchange.com/a/10791/105631。またこちら:https://stackoverflow.com/a/414258/3849157
カーネルをカスタマイズするのは悪い考えではありません。多くの人々は、1024の制限が古く、セキュリティの観点からもはや使用されていないと指摘しています。 PORT_SOCKが1024から24に変更されるようにカーネルにパッチを適用した同様の質問に対する回答があります。https://stackoverflow.com/a/27989419/3849157