
クリーンな標準 CentOS 7 をインストールしており、セキュリティ スキャン後にパッケージを更新して既知のセキュリティ問題を修正したいと考えています (すべてのパッケージに CVE 番号があり、一部はすでに古いものです)。
どういうわけか、CentOS 7 はこれらのセキュリティ問題をあまり気にしていないようです (大きな問題は PHP が 5.4 のままで、アップグレードする良い方法がないことです)。
CentOS のセキュリティ問題は、単純な方法以外でどのように対処すればよいでしょうかyum update
?
答え1
あなたはこう述べています:
クリーンな標準 CentOS 7 をインストールしており、セキュリティ スキャン後にパッケージを更新して既知のセキュリティ問題を修正したいと考えています (すべてのパッケージに CVE 番号があり、一部はすでに古いものです)。
慌てないでください。CentOS 7 のインストールは問題ありません。
現実には、CentOS 7はまったく問題なく、パッチが当てられていないと思われる項目の多くはバックポートつまり、PHP などのアイテムのメジャー バージョンが古い場合でも、CentOS チームは、CentOS 7 のパッケージを、パッケージ化されたソフトウェアの新しいリリースと同様にあらゆるレベルで安定かつ安全にするために必要なパッチをバックポートします。
また、ウェブ開発者として、私は間違いなくしないでくださいPHP の新バージョンを「最先端」にしておきたい。既知のサポートされているバージョンで安定させておきたい。PHP 5.4 ではまったく問題ありません。多くのサイトでは、同じ理由で、依然として PHP 5.3 (バックポート) を使用しています。PHP のメジャー バージョンにアップグレードすると、インストールの「セキュリティ」が向上するよりも、多くの問題が生じます。
ウェブサイトのセキュリティスキャンの「不確実性」。
しかし、あなたは「セキュリティ スキャン」についても言及しています。「セキュリティ スキャン」とはどういう意味ですか? 一部の Web ベースのセキュリティ スキャン ツールは、見つかったすべての欠陥をリストし、パニックに陥るような一般的な警告を吐き出します。これらのパニックに陥るような警告の多くは、PHP 5.4 などのメジャー バージョンが表示されることだけに基づいており、それ以外はあまりありません。
そして、これらのウェブサイトスキャンがこのように反応する理由は、FUD(恐怖、不確実性、疑念)こうしたスキャンは、例えば、パニックに陥ったユーザーにオンラインサービスやコンサルティング関連の商品を販売するために、利用者に利用される。こうしたスキャンの多くはある程度は役に立つが、慎重に扱うべきである。強い疑念そしてすべきだ常に調査する何か気になる点があれば、クレームをさらに詳しくお知らせください。
私にとってもっと大きな問題は、どういうわけかあなたのサーバーが正確なPHPバージョンを公開するこれはCentOSの問題ではありません。サーバー強化の問題つまり、十分に保護されたサーバーは、欠陥が存在すると思われないように、使用されているコア ソフトウェアの正確なバージョンを決して公開しません。
私のアドバイスは? を実行してyum update
、すべて最新であると表示されたら、すべて最新です。しかし、前述したように、サーバーの強化は、既成のセキュリティ スキャンでは決して対処できない、まったく別の問題です。しかし、これが PHP 固有の問題に対処する方法です。そして、プロセスは非常に簡単です。
を無効にして PHP を強化しますexpose_php
。
まず、PHP 設定ファイル ( php.ini
) を見つけて、次のように開きます。この例では、nano
Ubuntu 上のファイルへのパスを使用していますが、概念は同じです。
sudo nano /etc/php5/apache2/php.ini
次に、そのファイルで を構成する行を検索しますexpose_php
。公式PHPドキュメントは、expose_php
次のように説明されます。
サーバーに PHP がインストールされていることを公開します。HTTP ヘッダー内に PHP のバージョンが含まれます (例: X-Powered-By: PHP/5.3.7)。
だから、セキュリティスキャンはX-Powered-By
ヘッダーを見て反応したに違いない。しかし、実際のセキュリティ管理を行っている人なら誰でも、問題はバージョン番号そのものではなく、ヘッダーはまったく露出していないしたがって、そのexpose_php
値を次のように変更します。
expose_php = Off
curl
そして、Apache を再起動して、セキュリティ スキャンを再度実行します。次のようにして、コマンド ラインからサーバーのヘッダーを確認することもできます。
curl -I example.com
返されるヘッダーはないPHP のバージョン番号情報を含みます。
ついでに Apache も強化しておきましょう。
セキュリティが懸念事項である限り、ついでに Apache も強化することをお勧めします。この Apache 構成ファイルを開いてください。これも Ubuntu に基づいていますが、CentOS で同等のものを見つけてください。
sudo nano /etc/apache2/conf.d/security
次に、ServerTokens
次のように「production」を見つけて設定します。
ServerTokens Prod
その後、ServerSignature
それを見つけて無効にします。
ServerSignature Off
最後に、TraceEnable
これも探して無効にします。
TraceEnable Off
Apache を再起動してヘッダーを確認するか、サーバーのセキュリティ スキャンを再度実行します。これで状態は改善されるはずです。
これらのシンプルな強化アイデアの基本概念は、デフォルト設定でセットアップされ、内部を世界に公開している Web サイトが、マルウェア ボットに、1. サーバーがデフォルト状態であること、2. サーバーが「古い」ソフトウェアを実行していることを伝えるメッセージを送信することです。したがって、このような強化されていないサーバーは、攻撃の格好のターゲットになります。返されるヘッダーの詳細を難読化することで、スクリプトが脆弱な点を判断できなくなるため、サーバーは攻撃対象として望ましくなくなります。
答え2
CentOS がこれらのセキュリティ問題を気にしていないとなぜ思うのですか? Redhat (および CentOS) は変更をバックポートしているので、既知のセキュリティ問題がバックポートされている可能性は十分にあります。
PHPに関しては、Webtactic リポジトリPHP5.6 を入手します。