2025年4月15日(火)、「Djangoセキュリティセミナー~専門家の話を聞いてみよう!」と題したオンラインセミナーを開催いたしました。
昨今、DXやデジタル化戦略が進み、様々な形でのIT基盤の開発が進んでいます。
そうした中で、Webアプリケーションの形をとるケースは数多くありますが、そうした場合、Djangoをベースとして開発が進められるケースが多く、その影響から、Djangoの求人掲載数がこの5年で6倍に増加しています。ただ、DjangoをベースとしたWebシステム開発では、セキュリティが重要なポイントになります。
そこで、本セミナーでは、アンチウイルスメーカーの株式会社Doctor Web Pacific日本法人代表 森 周氏と、国内ウェブマーケティングの第一人者である徳丸 浩氏、そしてWebの超高速化とセキュリティ強化に強いプライム・ストラテジーの穂苅智哉氏に登壇いただき、Djangoを取り巻くセキュリティ対策関連についてお話しいただきました。
また、当協会からは、代表理事 吉政 忠志が登壇し、PythonやDjangoの市場動向について講演致しました。
当日は非常に多くの方にご参加いただき、盛況のまま終了いたしました。
本稿はセミナーの概要をまとめたものとなります。ご興味がある方はぜひご一読ください。
1.Python、Djangoの市場動向と人材育成について
講演者:Pythonエンジニア育成推進協会 代表理事 吉政忠志
■Python市場について
直近の日経XTECHの「プログラミング言語利用実態調査2024」によれば、Pythonは普及率と使用頻度において2年連続で2冠を達成しており、また、TIOBE人気プログラミング言語調査でも1位を獲得しています。また、未経験者におすすめのプログラミング言語調査での1位、将来性が高いプログラミング言語調査1位、学生がいま使用している言語調査1位を獲得しており、その注目度の高さがうかがえるかと思います。
PythonはAIというイメージが非常に強いかと思いますが、実際にはAI系のシステムに使われているというもので必ずしも1番AIでの利用が多いというわけではありません。それはPython求人動向を見ると、1位がWeb、2位がAIという部分で確認することができます。
Webエンジニアに関する求人に関して、ここ5年ほどの傾向で行くと、PHPやRuby on Railsの3倍の伸びに対して、Pythonは約6倍に増加しています。
これはコロナ禍のタイミングで非対面セールスの需要が伸びた結果、Web経由で質の高いお問い合わせを獲得したいと考える企業が増え、Webの強化に至ったからだと考えています。また、DX推進において、Webから得たお問合せをMAで効率的に案件化をし、基幹システムにもつなげていきたいと考える企業が増えています。DjangoはDB連携に強いことからニーズが増えており、結果としてPythonの求人が増えたという状況です。
■Django人材の育成について
Django自体ができることの幅が広く、奥深いことから、各企業ではDjangoの基礎的な研修を用意しているものの、実践的な部分に関してはどこまで人材育成をするべきか悩んでいるようです。
これに対してお勧めしているのはやはり社内勉強会かと思います。実際に社内でどのように開発に使っているのかという範囲を事前に共有しておくことで共通認識が生まれます。ガイドライン等を作成するより効率よく、どこまでが自社で使う範囲なのかを線引きすることもできます。
だからこそ、実践的な部分は社内勉強会という形で実例と共に学んでもらうのが良いと考えています。
■各試験ご紹介
当協会が現在提供している試験は有料が4件、無料が1件です。各試験は選択式の出題となっています。各試験の詳細や出題範囲についてはリンク先をご参照ください。
- Python 3 エンジニア認定基礎試験
- Python 3 エンジニア認定実践試験
- Python 3 エンジニア認定データ分析試験
- Python 3 エンジニア認定データ分析実践試験
- PythonZen & PEP 8 検定試験(無料)
以下は当協会顧問理事 寺田によって実践試験の試験概要及び学習のコツなどを解説した動画です。わかりやすくまとまっていると思いますので、ぜひご覧ください。
Python3エンジニア認定実践試験(Python実践試験)のご紹介
■コラムなどの学習お役立て情報
当協会では、顧問理事 寺田さんによるコラムをはじめ、技術者向け、非エンジニア向け、人事部向けのものを公開しています。興味がある方は以下よりご覧ください。
https://www.pythonic-exam.com/archives/category/column
またPythonには様々なコミュニティが存在しています。これらへの参加もぜひ検討してみてください。
PyCon JP:日本で開催されるPythonの国際カンファレンス
BP Study:開発全般のノウハウや開発者同士の交流
2.ウェブセキュリティの基本のキ(Django編)
講演者:EGセキュアソリューションズ株式会社 取締役CTO 徳丸 浩 氏
(ウェブセキュリティの基本を中心としたお話に加え、脆弱性4つについて解説いただきました。)
■MPAとSPAの仕組み
まずは、画面遷移をするたびにページ間で処理を行う伝統的な手法「MPA(マルチページアプリケーション)」と、昨今よく利用されている画面遷移を行わずにページ内で表示を切り替える「SPA(シングルページアプリケーション)」のそれぞれのデータの引き継ぎ方を含めた仕組みと、攻撃経路についてご説明いただきました。
この後、セッションでは具体例をもとに、各脆弱性の基本的な攻撃手法と、影響、対策についてご説明頂いていますが、本レポートでは、各脆弱性に対してのDjangoの役割部分のみ記載いたします。
■認可制御不備とDjango
典型パターン4つ説明頂き、どのような対策を行うべきかを解説いただきました。
Djangoには認可制御をサポートする機能が豊富にあるため、チーム内で方針を決め、統一してきちんと設定をすることがお話されました。
■SQLインジェクションとDjango
Djangoを利用する場合は、ORMを使っているなら基本的には何もする必要がないため、O/Rマッパーなどを正しく利用しておくことを注意点として挙げられました。その際、SQL文やWHERE句などを明示する場合はプレースホルダを使う事、文字列連結とならないようシングルクォーテーションの位置などに注意することと説明されました。
■クロスサイトスクリプティングとDjango
Djangoを利用する場合、テンプレート内であれば基本的に自動エスケープが行われるため、基本的には問題がないこと、ただし、エスケープされない形式を意図的に使う場合には注意することが説明されました。
また、CSP(Content Security Policy)を設定する場合、難しい部分があるため、django-cspというライブラリを使うことを推奨されました。
■クロスサイトリクエストフォージェリとDjango
Djangoを使う場合、デフォルトでGET以外のPOST、PUT、DELETE、PATCHにはCSRF対策が入ります。更新処理はGETで呼べないようにしましょう。
3.Djangoサーバーのランサムウェア対策について
講演者:株式会社Doctor Web Pacific日本法人代表 森 周 氏
(Webサーバーに潜むセキュリティ上の脅威と、犯罪者の思考と攻撃具体例、同社のアンチウイルソフトDr.Webシリーズについてお話しいただきました。)
■Webサイトを足掛かりとしたサイバー攻撃の傾向
ここ10年ほど増加しているサーバー向けの攻撃が増加しています。
Dr.Webは2023年に、LinuxのWebサーバー上に構築されたWordPressサイトにある古いプラグインやテーマに存在する脆弱性をついたハッキングが行われたというレポートを公開しています。
セッションではこのレポートで発見された事例に対し、どのような流れでサイバー攻撃が行われたか解説いただきました。詳細は以下リリースをご参照ください。
参考:WordPressで作成されたWebサイトを感染させる、Linuxを標的とするバックドアマルウェア
この事例のように、昨今のサイバー攻撃の傾向は、多段的に攻撃が行われます。例えば、OSやミドルウェアの脆弱性をついて管理者権限を奪取した後、収益を目的としてランサムウェアやマイニングウェア、DDoS攻撃が実行されます。さらにはファイルサーバーへの侵入や、踏み台としてサーバーを利用されるケース、ボットネットを構築されてしまうケースなどもあります。
■Dr.Webの製品
当社はランサムウェア専門チームを抱えており、ノウハウを数多く蓄積していることから高いランサムウェア検知率を誇っています。
また、Dr.Webの各製品はサーバーやPCにかかる検出リソースを大幅に使う必要がなく、さらには、昨今各ウイルスソフトでも取り入れられている機械学習やふるまい検知は、当社が設立初期から開発・搭載している部分であるため、非常に信頼性が高いものとなっています。
このようにDr.Webの製品は、安価ながらも機能性と運用性を重視されており、EDRを必要としないアーキテクチャによってこれひとつでエンドポイントセキュリティをカバーすることが可能です。
特徴的なサービスとして、ランサムウェア感染被害救済サービスがあります。これは10年以上のノウハウを持つ当社のラボで解析し、複合化できた場合にのみ報酬が発生する成果報酬型サービスです。世界的にもランサムウェアの救済サービスを行ってきたことから非常に評価の高いサービスとなっています。
これ以外にも、他社アンチウイルスソフトと同居が可能なCureIt!/CureNetや、ふるまい検知のみのKatana、未知の脅威への対策が可能なプロフェショナル向けのクラウドサンドボックス型マルウェア解析ツールvxCube(主に金融機関や警察などで利用)などユニークな製品も存在しています。
Dr.Webが提供する法人向け、個人向けのソリューションは以下のサイトよりご覧いただけます。
サーバー向けのソリューションは以下をご覧ください。
・Dr.Web Enterprisse Security Suite(PC/Mobile/ServerOS/MacOS/Proxy/Mail Server)
・Dr.Web Premium サブスクリプションサービス(PC/Mobile/ServerOS/MacOS)
製品や事例に関するご質問は、Dr.Webへお問合せください。
4.Djangoのセキュリティ対策と異環境のWeb統合管理
講演者:プライム・ストラテジー株式会社 ビジネス推進室長 穂苅 智哉 氏
(セキュリティ対応を含めたWeb統合管理の課題を中心にお話いただきました。)
企業のWeb統合管理は、企業のWeb全体の運営・管理に関するポリシーやルール、プロセスに関する仕組み(Webガバナンス)に従って運用されるべきものだと考えています。これは、あらかじめ企業としてのルールを決めておかなければ、無法化してしまう可能性がありますので重要なポイントとなります。
ですが、大企業であっても、グループ内のWebサイトのURLやCMS導入状況を把握していないというのは珍しくなく、ある調査では約3.5割がそれに該当しているそうです。これはセキュリティ観点でも好ましくないだけでなく、管理にかかるコストや工数が余分にかかってしまっているのではないかと推測されます。
また、同調査ではWebガバナンスを実現できない理由についてもアンケートを取っており、ここでは、様々なCMSやインフラが乱立していることで管理が難しいことや、多数サイトの管理によって発生する費用対効果を説明できないなどの回答が上位に入っており、担当者としては管理したくとも、乱立するシステムの把握が困難であること、社内の説得が難しいといった部分で苦労している様子が見受けられます。
Webガバナンス対策において必要なのはまず、体制を構築し、自社サイトの管理状況の把握、Webサイトの分類を行った上で、運用ルールを策定する必要があります。
運用ルールを策定する上では、アップデートルール(マイナー・メジャー、間隔、重要度)、バックアップルール、セキュリティ関連の選定(言語、フレームワーク、CMS、セキュリティツール等)、アカウントの一元管理などを実現可能な範囲で決めるように注意しましょう。
そうすることで、サイバー攻撃のリスク軽減やグループ・部門間の運用ルールの共有、情報システム部門の工数削減などの効果を生むことになります。
当社では、Webガバナンスの強化を目指したサービスとしてCMS/Webプラットフォーム統合サービスを提供しています。興味がある方は以下サイトをご覧ください。
https://www.prime-strategy.co.jp/services/cms-platform-consolidation-services