倫理と法律の線引きから、socket・HTTP・ハッシュと暗号・ログ解析、そして SQL インジェクション・XSS・CSRF の防ぎ方まで。全30レッスンで「攻撃を理解して守れる」ところまで進みます。対象はすべて自分の PC の中(localhost)に閉じた練習環境です。
全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ 標準ライブラリだけの回はブラウザ上でそのまま実行できます。socket・Flask・外部ライブラリを使う回は、第2回で作る仮想環境で試してください。
何をしてよくて何がいけないのかの線引きを最初に決め、外に出ない練習環境(ローカルラボ)を用意します。この先ずっと使う Python の書き方も、セキュリティの文脈でおさらいします。
socket で TCP 接続を張り、自分でサーバーを立てて「ポートが開いている」の正体をつかみます。requests で HTTP を扱い、最後はスクレイピングのマナーと法律まで進みます。
エンコード・ハッシュ・暗号化の 3 つを、用途で使い分けられるようにします。改ざん検知、パスワードの安全な保存、そして鍵を使った暗号化まで扱います。
アクセスログを正規表現で分解し、集計して怪しい兆候を見つけます。最後は複数のルールを組み合わせた、小さな侵入検知ロジックを組み立てます。
Flask で練習用アプリを立て、SQL インジェクション・XSS・CSRF を安全に再現して防ぎ方を身につけます。最後は、すべてに共通する「入力を信用しない」を原則として整理します。
パスワードの強度判定、漏洩照合、証明書と死活の監視を作り、1 つのチェッカーにまとめます。最後にレポートの書き方と、この先の学び方・法律と倫理を確認します。
全30レッスンを終えたら、次は守る対象そのものを作る Django や、サーバー側を知る Linux へ。メンバーシップで全コースが解放されます。