見出し画像

【SC05HPMI問2解説】令和05年春午後1問2(情報安全確保支援士)

このNoteでは「セキスペR05春午後1問2」の解説をします。

  1. 各問題の解説:どう正解に至るか

  2. 私の読み方:どう解いたか

  3. Linuxコマンドの補強:より深く理解

の3本立てです。

1の解説には別解や部分点についての見解も載せました。2では、今回問題にならなかったセキュリティ的に怪しい点を指摘しています。

3のLinuxは興味のある方はどうぞ。問題文に書かれいて訳が分からなく、調べるのがダルかったと思います。


この問題を解前の予習か、解いた後の復習には以下が効果的です。このNoteがダルくなったら味変にどうぞ。


私はSCPMIIを97点で独学合格し、IT専門学校で授業しています。このNoteには、授業で教えていること以上の情報を詰め込みました。

一所懸命に作ったので、信頼して下さったら嬉しいです。

それでは始めましょう!




設問1 | 狩られたら周辺ごと刈り取れ


正答は、パッシブモード。


FTPのモードは、2種類。

制御用の接続確立はクライアントからするのですが、データ用のをどちらからするかが違います。

  • アクティブモード:サーバからデータ接続をする(20番)

  • パッシブモード:クライアントからデータ接続をする(任意のポート)

モードを見分けるには、どちらがFTPサーバか特定orデータ用ポート番号が何番かで判断します。


では表1。

DBサーバ(図1より192.168.0.2)から製造管理サーバ(192.168.1.145)のアクセスは、表1の項番1-233と1-234。

  • 1-233:21番なので制御用

  • 1-234:60453(20番ではない)はデータ用

21番と20番以外で接続しているので、パッシブモードです。

もしアクティブだったら、1-234は製造管理サーバからDBサーバへ20番ポート接続されているはずです。


知らないと失点するしかない問題。今後に備えてFTP周辺知識をつけておきましょう。

FTP周辺をさくっとまとめておきました。>FTPまとめ解説Note

私の学習ノートでは、PMIやPMIIを解いた後の復習で、周辺技術をまとめています。

狩られたら、狩られた部分を周辺含めて大きめに刈り取っておきましょう。 >私の3ヶ月合格した勉強法Note




設問2(1) | 捨て問して良い


正答は、コミュニティ名。


これも知らねば正解できませんが、捨て問で良いと思います。

「SNMPは情報をMIBというデータベースに記録している」以上は知らなくて良いかと。

FTPのモードは今後も出るかもですし、NW(ネスペ)で役に立つので重要ですが。SNMPのコミュニティ名は、「また出たら解けたらいいな」ぐらい。失点は気にしなくて良いと考えます。

気になる方は、解説サイト様をどうそ。




設問2(2)(3) | 知らなくても解ける


正答は、

  • c:バインドモード

  • d:コネクトモード


これは知らなくても解ける問題。なぜなら、srvはこの問題オリジナルのプログラムであり、問題文に動作挙動が説明されていますから。

問題文から「バインドモード」「コネクトモード」という言葉を探します。9頁~10頁に発見。

  • バインドモード:外部からの接続を待ち受ける

  • コネクトモード:外部へ接続を試みる

「一度、srvの【空欄c】モードでC&Cサーバとの接続に失敗した後,
srcの【空欄d】モードでC&Cとの接続に成功した」より、空欄cとdにどちらかがそれぞれ入ると分かります。


表1を見て、受付サーバの外部接続絡みを見てみましょう。

  • 項番1-3:グローバルIPアドレス(a0. b0.c0.d0)から受付サーバ(192.168.0.1)への接続が拒否

  • 項番1-4:受付サーバからグローバルIPアドレスへの接続が許可

これで、cがバインドモード(外部から待ち)、dがコネクトモード(外部へ接続)。

念のため、表2と表3を見ると。

  • 表2の2-4:srvがグローバルIPアドレス(a0. b0.c0.d0)と接続している。

  • 表3の3-4:受付サーバ(192.168.0.1)からグローバルIPアドレス(a0. b0.c0.d0)に接続が確立(ESTABLISHED)している

srvがグローバルIPアドレス(a0. b0.c0.d0)に接続しているのでC&Cサーバであると確認もできました。




設問2(2)(3)理由 | 得点できる作文のポイント


では理由を作文していきます。


1問目。設問2(2):なぜバインドモードと判断したか?

さっき判断に使った情報。

項番1-3:グローバルIPアドレス(a0. b0.c0.d0)から受付サーバ(192.168.0.1)への接続が拒否

これに繋がるように「表1~3の項番」を使って作文ですね。

  • 表2:2-3にbind(バインド)と書かれている。8080ポート、PID1275

  • 表3:3-3がPID1275、8080ポートを開いてLISTEN(聞き耳)

以上より、「2-3のプロセスが3-3ポートを開いてバインドモードをしていたが1-3で遮断されているから」。45文字なので5文字オーバー。

「2-3による3-3のバインドモード接続が1-3で遮断されているから」。33文字。まぁ良いでしょう。

模範解答のような「3-3のポート」が入っていないですが、たぶん大丈夫かなと思います。3-3のポート番号が重要ではなく、通信が行われていることが重要。

最重要なのは「表1~3の項番を各表から一つずつ示した上で」を守ること。「2-3, 3-3, 1-3が入っているから部分点くれぇ!」と願いましょう。


2問目。設問2(3):なぜコネクトモードと判断したか?

項番1-4:受付サーバからグローバルIPアドレスへの接続が許可 に繋がるように情報を集めます。

  • 表1:1-4:受付サーバからグローバルIPアドレスへの接続が許可

  • 表2:2-4にconnect(コネクト)と書かれている。PID1293

  • 表3:3-4がPID1293、443で接続確立(ESTABLISHED)

「2-4による3-4のコネクトモード接続が1-4で許可されているから」。33文字。

多少文章がおかしくても、項番が合っていて、主旨が大まかに伝われば得点は期待できます。

作文は、設問文の記述条件を守り、絶対に外せない言葉を問題文から洗い出して、行っていきます。




設問2(4) | 通信ログ分析の実践経験


正答は、1365。


ポートスキャンを実行したプロセスのPID」よりポートスキャンをしている、つまりポート番号をずらしたアクセスしているものを見つけます。

表2を見ると、

2-5に「-range 102.168.0.1-192.168.255.254」といかにも「102.168.0.1から192.168.255.254」にアクセスしているプロセスPID1365があります。

メタ的ですが、表2のsrv関連は3つあり、うち2つ2-3, 2-3は既に解答で使っていて、使っていないのは2-5だけです。


表1でも確認してみましょう。

ポート番号を1ずつずらしている通信が見つかります。

  • 1-286:192.168.145の54702番へ

  • 1-287:192.168.145の55703番へ

  • 1-327:192.168.227の58065番へ

  • 1-328:192.168.227の58066番へ

ポートスキャンと用語は知っていたけど、実際のログから探す良い経験ができましたね。SCやNWではこのような実践的な情報分析が必要にってきます。




設問3(1) | SCでもNWでも重要な周辺知識


模範解答は「TXTレコードには任意の文字列を設定できるから」。

なかなか「任意の文字列」なんて言葉受か場ないですよね。今後使ってください。例えば「当該」もよく模範解答で見ます。
他にも「漏えい」「盗聴」「窃取」「詐欺」など書けるようになってください。

私の解答は、「Aレコードでは書式が決まっているが、TXTレコードは自由に記述できるから」。36文字。オーバーなので。

「Aレコードは書式固定だが、TXTレコードは自由記述できるから」30文字。ちょっきり!

作文では、長い言葉を熟語的にするとお手軽短縮できます。

「TXTレコードは自由に記述できるから」18文字。まぁ良いと思います。20文字は超えたいですが、余計なことは書くと失点しますからね。

若干設問文にある「Aレコード」を引き合いに出したいですが、拘って時間切れになるのもキビシイです。書くべきコアを外さず、情報密度がそこそこならOKとしてください。


さて、TXTレコードを解説しておきます。

TXTレコードはいろんな用途に使えるメモ書きです。有名なのはSPFレコードとしてメールサーバの正当性証明に使います。

Aレコードなどの具体的な技術はできるようになってください。過去に記述を問う問題が出題されています。

>DNSをまとめたNoteを準備しておきました。

SCでNWで今後もガッツリ使うので、必ず読んでください。DNSレコード&書き方の重要度は、FTPより超超超超高いです。

TXTレコードに書かれていたwgetやchmodなどは、各問解説の後に特集を準備しました。ここでは結論を図解でざっと。

TXTレコードはSPFレコードとしても使われています。私はH25春の復習のお陰で、今回の問題は正解できました。

狩られたら、狩られた部分を周辺含めて大きめに刈り取っておきましょう。 >私の3ヶ月合格した勉強法Note




設問3(2) | 原理原則と違和感のセンス


模範解答は「稼働しているファイルと内容が異なる可能性があるから」。

私の解答は「受付サーバのファイルと違うかもだから」18文字。20文字超えてないですが、まぁ良いでしょう。

口語だったので「受付サーバのファイルと違う可能性があるから」で21文字。少し文字稼ぎ感・情報密度薄い感がありますが、模範解答にある言い回しなので、まぁOK。

他にも「解析は実際に受付サーバで動いたファイルにすべきだから」でも良いですね。26文字。


この設問は、問題文からヒントを探すというよりは「そもそもなんでダウンロードし直してるんだ危ねーよ!」「なんで受付サーバを解析対象としてそのまま提出しないの?」という疑問を持つセキュリティ的なセンスが必要です。

常に問題文のネットワーク構造や行動に「それ、こうやれば破れるんじゃ?」「それ、危なくてね?」とツッコミを入れながら読むのが重要なコツです。

最初は難しいですが、問題演習と復習を繰り返していくと身に付くセンスです。「あ、ここ怪しいな」と分かったら▼マークでチェック。

私は読みながらマーキング(四角囲み, 丸囲み, ▼マークなど)をしています。詳しくは >私の3ヶ月合格した勉強法Note




設問3(3) | 当たり前のことは当たり前に


正答は受付サーバ。

メタ的には【受付サーバの設定変更の調査】の節でのお話ですし。

logdファイルの記載は10頁最後。「受付サーバを更に調査したところ、logdという名称の不審なプロセスが」。


「何を当たり前のことを聞くんだ」って話ですね。

とはいえ設問文に「適切なサーバ名」「10字以内」とわざわざ書いてるので、何か修飾しないのかなと一瞬疑問は出ました。

最後の問題は難しい傾向もありますからね。

例えば「侵入された受付サーバ」など。でも図1に受付サーバは1台だけなので差別化する必要もないですね。素直に答えてOKでした。

筆記問題では、情報不足にならず蛇足にもならない境界の見極めが難しく、問題演習でセンスを鍛えるしかありません。




合格者が読むときに見たポイント


ここでは、私がどう読んで、どこに注目して解いていったかを軽く紹介します。

読み直しや選択問題の選び直しをしたことはありませんか?

時間のロスですよね。

それらを防止する読み方、読みながら「答えのカード」を揃えていく読み方が少しでも伝わればと思います。




読む順番と優先順位


私のやり方は、最初に1問目の設問文を見るのが大きな特徴です。

力の強弱つけ、頭の容量を考えながら読み進めていきます。

  • 最初は1問目を見て読む目標を持つ

  • ネットワーク図は必ず見る

  • 表はスキップして、解く時に改めて細かく見る

私たちはコンピュータではないなので、情報全部を頭に入れたり、何が問われるかも分からない状況で表を眺めたりしても、情報処理できませんからね。

「概要を掴みつつ、情報を整理して、読み進めていくスキルが重要だな」と思い、この読み方に落ち着きました。もし少しでも試して頂けたら嬉しいです。




ネットワーク図の見るポイント


問題を選ぶ時には、ネットワーク図を見て決めます。

あとは設問や解答欄も少しみますかね。

解く時は最初にネットワーク図を見ます。
ネットワーク図を見れば、大体どんな話か・危なっかしい配置などが分かる場合が多いからです。もし図が問題中盤にあったとしても、最初に見ます。

図は、ネットワーク構成(領域)とサーバ配置を見ます。


ネットワーク構成はFWでT字型が王道ですよね。

では図1をチェックしましょう。

FWでDMZと社内に分けてるのOK。

社内LANは本社と工場に更に分かれているのがちょっと特徴。


次は少し細かく、各領域のサーバ配置を見ます。

サーバの配置にも王道があります。私が今までみた過去問から王道的配置をまとめておきました。>12サーバの配置まとめNote

では図1をチェックしましょう。

DMZに受付サーバ。「たぶんWebサーバでお客さんの注文受付かな?」。

DMZにメールサーバ。「メールサーバは外部メールサーバだろう。社内LANに内部メールサーバがないからPOPでPCに落とすのか?それでもDMZにメールが長い時間保管されるのはアブナイのでは?」

DMZにDBサーバ。「お客さんの個人情報とか大丈夫?アブナイのでは?」

本社社内LANに、ファイルサーバとログ管理サーバ。良い。

工場社内LANに、製造管理サーバ。良い。


以上。メールサーバ、DBサーバに危うさを感じ、本社と工場の回線に疑問を感じました。

ネットワーク図で目星をつけとくと、問われたときに「はいはいこれね」と、スッと答えを差し出せるんですよ。




文章で気になった点1 | ログイン試行のアラート基準


文章で気になったのは「1分間に10回以上のログイン失敗が発生した場合に、アラートがメールで通知される」が、現実的なのか?

たしかに、プログラムで高速アクセスする攻撃は検知できますね。

しかし、時間をおいてアクセスするプログラムだったら?

社内の人間による不正ログインだったら?

経験ありませんか? ログインに3回失敗したらロックアウトされたこと。

「1分間に10回」が高速すぎるし、回数が多すぎる気がしました。私だったら10分間に3or5回でロックアウトします。なぜなら大事なサーバへのアクセスですからね。




文章で気になった点2 | FWの設定


FWの設定についても気になりました。

443番はHTTPS(HTTPの暗号版)。インターネットから受付サーバは良いですね。

逆に受付サーバからインターネットへも出せる設定には、少し疑問。

「OSのアップデートのため」とはいえ、相手を絞るべきです。もしマルウェア感染したら、HTTPS通信で攻撃者のサーバに情報漏えいできますから。


なお、443でインターネット→受付サーバの応答パケット(受付サーバ→インターネット)にFWで許可設定する必要はありません。

なぜなら、FWはステートフルインスペクション型とのことなので、許可されたインターネット→受付サーバを通した後に、返答も一時的に許可するから。

よって私だったらFWに、受付サーバ→インターネット:443番を、送信先IPアドレス=OSパッチの配布サイトのグローバルIPアドレス のみ許可する設定をします。




文章から勉強になった点


過去問演習は、自分の得点力を試すだけではありません。「そんな風に使うんだぁ」「そう答えると良いんだぁ」と勉強にもなるんです。

今回はNATの記述で珍しい点がありました。

NAT機能は、社内からインターネットへ出る時に話題になることが多いですが、今回はDMZに入るときを記述していて「珍しいなぁ」とは思います。「そうやることもあるんだね」ぐらいに受け取ります。

よく書かれているのは、「サーバにグローバルIPアドレスを割り当てる」。今回のようにアクセスする側のアドレスに言及するのは珍しいです。




怪しいポイントのまとめ


長かったので、まとめますね。

  • DMZにメールサーバがあるだけに疑問(内部メールサーバがない)

  • DMZにDBサーバがあるのアブナイかも

  • 本社と工場の通信回線が気になる

  • 1分間に10回のログイン試行でアラート設定に疑問

  • FW設定(受付サーバ→インターネット)に疑問

このあたりが怪しいとチェック印▼しておきます。

まぁPMIでそこまで深く考えても取り越し苦労なんですが、PMIIでは極めて有効なので練習しておいて損なしです。




知識の補強 | Linuxコマンド


昔はプログラム・コマンド知識の必要な問題と、不要な問題がきっちり分かれていたのですが、最近は食い込んできている印象です。

プログラムは学ぶのは大変ですが、コマンドは簡単なのでやっておきましょう。

私も学生時代に研究室でLinuxを使っていたので、先生になってからもかなり役に立っています。




ps | 実行中のプロセスの確認


表2を作るために使われたpsコマンド。ぜひ知っておきましょう。

現在実行されているプロセス。プログラム達です。

Windowsでいうところのタスクマネージャーです(Windowsの下のバーで右クリック>下から3番目にタスクマネージャーがありますよね)。

Linuxに興味があったら、私のブログで基本的なコマンドを解説しています。Webブラウザだけですぐに試せるので宜しければどうぞ。>私のブログのLinux講座




cron | スケジュール自動実行


cronも知ってて良いですね。

cromコマンドで、スケジュールで自動実行したいプログラムを設定できます。覚えてて損ないです。

digコマンドはDNSから情報をゲットするコマンド。NWに興味があるなら覚えて良いですが、SC合格なら覚えなくても良いかなと。




コマンドのコンボ | wget, chmod


では図2。TXTレコードに書かれていた意味を解説。

図2はコマンドの連続です。いわゆる格闘ゲームのコンボ(分かったら個人的に嬉しいです)。

wget(ダウンロード)、chmod(権限付与)は覚えてOKです。他は知らなくてOK。

  1. wgetコマンドで、インターネットからlogdをダウンロード
    PCの/dev/shm/ディレクトリの内に保存

  2. chmodコマンド、logdを実行できる状態に設定

  3. nohupとdisownで、何が起こっても実行し続けるように設定

nohup, disownの理解には、バックグラウンドやシェルを教えねばならないので、すみません割愛します。実習すればすぐに教えられるのですが。

>私のブログのLinux講座



まとめ


お疲れ様でした!


同じ技術が出た時に、今度はこっちが狩る側になるためには、周辺技術の一網打尽にしておいてくださいね。

できれば、問題演習した学習ノートにまとめてください。


\私の3ヶ月の学習履歴/

p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノシ


この記事が参加している募集

学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ