マルウェアがファイルの末尾または先頭にコードを追加することがあるため、サーバーで問題に直面しています。私の知る限り、セキュリティの抜け穴を修正しました。私のホスティング プロバイダーは、現在セキュリティが十分であると通知していますが、私は自分のサイトでのウイルス/マルウェアの活動に神経質になっています。計画はありますが、sed や awk や gawk などの Linux エディターに精通していないので、あなたの助けが必要です。私の PHP の知識を使用してこれを行うことができますが、それは非常にリソース集約的です。
マルウェア/ウイルスはファイルの先頭または末尾にコードを追加するため (ウェブサイトにエラーが表示されないようにするため)、すべての .php ファイルを再帰的に調べるコマンドの書き方を教えてください (私は使用します他のタイプのファイルを変更するためのヘルプ) を親ディレクトリとすべてのサブディレクトリに追加し、ファイルの最初と最後に特定のタグを追加します (XXXXXX_START と YYYYYY_END など)。
次に、すべての .php ファイルを読み取り、コードの最初の行が XXXXX_START で最後の行が YYYYYYY_END であるかどうかを確認し、ファイルが異なる場合はレポートを作成するスクリプトが必要です。
cron をセットアップしてすべてのファイルをチェックし、不一致が見つかった場合はレポートをメールで送信します。
ウイルスがコメント行の後にデータを追加する可能性があるため、これが 100% 絶対確実ではないことはわかっていますが、これは私が考えることができる最良のオプションです。
最初にデータを追加するために次のコマンドを試しました-
sed -i -r '1i add here' *.txt
ただし、これは再帰的ではなく、親ディレクトリ ファイルのみに行を追加します。
それから私はこれを見つけました - BEGIN と END は特別なパターンです。入力レコードの照合には使用されません。むしろ、awk スクリプトに起動情報またはクリーンアップ情報を提供するために使用されます。BEGIN ルールは、最初の入力レコードが読み取られる前に 1 回実行されます。END ルールは、すべての入力が読み取られた後に 1 回実行されます。例えば:
awk 'BEGIN { print "Analysis of `foo'" }
/foo/ { ++foobar }
END { print "`foo' appears " foobar " times." }' BBS-list
しかし、残念ながら、私は何も解読できませんでした。
上記の詳細に関するヘルプは大歓迎です。他の提案は大歓迎です。
よろしく、
ニチン