
Linux緊急対応/情報収集/脆弱性検出ツール。基本設定/ネットワークトラフィック/タスクスケジューリング/環境変数/ユーザー情報/Services/bash/悪意のあるファイル/カーネルRootkit/SSH/Webshell/マイニングファイル/マイニングプロセス/サプライチェーン/サーバーリスクなど13カテゴリ70項目以上のチェックに対応。
Linux緊急対応/情報収集/脆弱性検出ツール。基本設定/ネットワークトラフィック/タスクスケジュール/環境変数/ユーザー情報/サービス/bash/悪意ファイル/カーネルRootkit/SSH/Webshell/マイニングファイル/マイニングプロセス/サプライチェーン/サーバーリスクなど13カテゴリ70+項目のチェックをサポート
更新ログ:2024年4月20日
更新ログ:2022年08月05日
更新ログ:2022年03月07日
更新日:2021年10月17日
方法1:git clone でインストール
git clone https://github.com/al0ne/LinuxCheck.git
chmod u+x LinuxCheck.sh
./LinuxCheck.sh
方法2:直接オンラインで実行【オンライン実行ではレポートアップロード機能は使用できません】
bash -c "$(curl -sSL https://raw.githubusercontent.com/al0ne/LinuxCheck/master/LinuxCheck.sh)"
ファイルは ipaddr_hostname_username_timestamp.log の形式で保存されます
バッチマシンに配布する場合、スクリプト実行後に自動で特定のURLに送信されます。スクリプト内の webhook_url を自身のアドレスに変更してください
# レポート送信先アドレス
webhook_url='http://localhost:5000/upload'
upload_report() {
# 指定されたエンドポイントにアップロード
if [[ -n $webhook_url ]]; then
curl -X POST -F "file=@$filename" "$webhook_url"
fi
}
自身のサーバーでFlaskを使ってサービスを起動し、サーバーから送信されるMarkdownレポートを受信します。
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
if 'file' not in request.files:
return "No file part", 400
file = request.files['file']
if file.filename == '':
return "No selected file", 400
if file:
filename = file.filename
file.save(filename)
return "File successfully uploaded", 200
if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0", port=9999)
このツールの作成は、主に以下のツール/記事を参考にし、個人の経験を組み合わせて完成しました。