とりあえずブログ作ってみた、的なブログ

このブログの99.99%は「与太話」でできています。

Fortigateを設定してみた(その2・サーバを公開する)

【前回のあらすじ】
マンホールを抜けると、そこは異世界だった-
・・・というファンタジーではありません。

こほん。
前回の設定で、Fortigateを通してインターネットに接続できるようになったが、差し迫った問題として、我が家のメールサーバを外部に公開する、という作業が残っている。

要は、通常のブロードバンドルータでいうところの「バーチャルサーバ」とか「ポートフォワード」とか呼ばれている機能をFortigateで実現するというもの。Fortigateでは「バーチャルIP」という設定(オブジェクト)を使ってポートフォワードを行えることは分かっていたが、購入前にこの設定を使った「バーチャルサーバ」的な運用に関して調べてみた限り、どの情報も接続元が固定アドレスで、今回みたいな不特定なアドレスからのアクセスに対する設定方法が不明だったのは、実は購入にあたっての唯一の不安材料だったのだが、「多分これでいけるだろう」という当たりは付いていたので、それにもとづいて設定を行っていく。

まず、ポートフォワード自体の設定から。
ファイアウォールオブジェクト」-「バーチャルIP」-「バーチャルIP」とメニューを辿っていくと、下図の画面が表示されるので、「新規作成」を押す。
イメージ 1

バーチャルIPの設定画面が表示されるので、必要な項目を設定していく。
イメージ 2

・バーチャルIPアドレス

 これはファイアウォールポリシーを設定する際などに表示される名前になる。
 なので、分かりやすい名前を付けておいた方がいい。
 今回はSMTPに関するポートフォワードを行うということで、「PortForward_SMTP」とした。
・外部インタフェース
 読んで字のごとく、外部からのアクセスを受け付けるインタフェース。
 インターネットからのアクセスを受け付けるので、「WAN1」を指定する。
・外部IPアドレス/レンジ
 外部(送信元)のIPアドレスを指定する。
 冒頭で記載したように、ここに何を入れるかが不明だったので、とりあえず「0.0.0.0」を入れてみる。
・マップ先IPアドレス/レンジ
 内部(転送先)のIPアドレスを指定する。
・ポートフォワーディング
 今回はポートフォワードを行うので、ここにチェックを入れる。
プロトコル
 今回はメールサーバへのメール配送(SMTP)を使うので、「TCP」を選択。
 ちなみに「SCTP」というのは、ストリーム配送用のプロトコルらしい。
・サービスポート
 こちらはインターネット側で受け付けるポート番号(範囲)を指定する。
 今回はSMTPなので「25」を入力する。
マッピングするポート
 こちらは転送先のポート番号を指定する。
 内部のメールサーバも25/TCPSMTPの待ち受けをしているので、「25」を入力する。

これでバーチャルIPの設定はひとまず終わり。最後に「OK」ボタンを押して設定を保存することを忘れずに。

次に、ファイアウォールポリシーを設定する。
前回は説明を端折ったが、Fortigateはファイアウォールなので、ファイアウォールポリシー(通信の許可/拒否のルール)を設定しなければ、通信を行うことができない。ちなみに前回は、PPPoEを設定した後で、「内部(「Internal1」)から外部(「WAN1」)へのすべての通信を許可する」、というポリシーを設定している。

ということで、設定を。
「ポリシー」-「ポリシー」-「ポリシー」の順にメニューを辿っていくと、ポリシーの一覧が表示される。
ここで、「新規作成」-「ポリシー」を選択する。
イメージ 3

ポリシーの設定画面はこんな感じ。
イメージ 4

・送信元インタフェース/ゾーン
 今回はインターネットからのアクセスを受け付けるので、「WAN1」を選択する。
・送信元アドレス
 送信元は不特定なので、「all」を選択する。
・宛先インタフェース/ゾーン
 宛先は内部ネットワークなので「Internal1」を選択する。
・宛先アドレス
 ここがポートフォワードの肝になる部分。
 先程作成した「PortForward_SMTP」を選択する。
 これによって、外部の25/TCP宛ての通信が、内部の「192.168.1.1」の25/TCP宛てにフォワードされる。
・スケジュール
 特に必要がなければ「always」で問題ない。
 時間指定でこの接続を許可したい場合は、適宜スケジュールを作成する。
・サービス
 許可したいサービス(ポート)を指定する。
 今回はSMTPなので「SMTP」を選択する。
・アクション
 通信を許可するので「ACCEPT」を選択する。

必要な設定はこれだけ。あとは必要に応じて「許可トラフィックログ」にチェックを入れると、このポリシーに該当する通信のログをすべて取得することができる。ログサイズがかなり大きくなりそうなので今回は設定しない。
設定が終わったので、「OK」ボタンを押して設定を保存する。

これで、「外部から内部に対するSMTP通信を許可する」設定ができた(はず)ので、「Yahoo!メール」から内部のメールアドレス宛にメールを送信してみる。メールは問題なく配信されている。拍子抜けするほどあっさりと成功した。

とりあえずこれで、通常使用に困らない最低限の設定ができたことになる。
次はVPNの設定だ!

つづく。


【おまけ】
ここまでで最低限のインターネット接続は確保できた訳だが、やはりVPNWOL、あと無線LANは早々に使えるようにしておきたい、ということで既存のブロードバンドルータを有効活用することにした。

接続はこんな感じ。
イメージ 5
Fortigateの「Internal2」ポートに「Internal1」とは別のアドレス体系のIPアドレスを振り、ブロードバンドルータの「Internet」側のポートも同じアドレス体系のIPアドレスを振ってそれぞれを接続。LAN側はIPアドレスの4オクテット目がFortigateの「Internal1」と被るので、その部分を変更して自宅内LANに接続する。

そしてFortigateの「WAN1」から「Internal2」に対して、PPTP(1723/TCP)の通信を許可するためのバーチャルIPの作成とファイアウォールポリシーを作成。これでインターネットからPPTP経由で自宅内LANへの接続が可能になった。

これで当面の利用には問題がない状態となった。

余談だが、ブロードバンドルータの「Internet」側のポートはインターネット回線(光とかADSL)にしか接続できないと思っている人も少なくないかもしれないが、設定を変えてやればこんな感じでローカルルータとして使うこともできるのだ。参考までに。

Fortigateを設定してみた(その1・基本設定とインターネット接続)

さて、ここからはFortigateの設定。早速電源を入れてみる。
「STATUS」のランプが点滅から点灯に変わって、起動完了。一応、起動に問題はなさそうだ。ということで設定にとりかかる。

Fortigateの場合、設定方法は2種類ある。
 ・Webインタフェース(Webブラウザを使ったグラフィカルインタフェースでの設定)
 ・コマンドラインインタフェース(CLITeraTermなどのターミナルソフトを使ったコマンド入力での設定)
Webインタフェースの方が設定が楽なので、最初はWebインタフェースから設定を行うことにする。

本体の「Internal」ポート(ポートの説明については後述を参照)にノートPCを接続し、Webブラウザを起動して、「192.168.99.1(初期状態のIPアドレス)」と入力するとログイン画面が表示されるので、ここで
 ・Name      : admin
 ・Password : 空白(何も入力しない)
を入力してログインする。
イメージ 1
ログインすると、下図のような画面が表示される。ここから、各種の設定を行っていくことになる。
イメージ 2

まず最初に、表示言語が英語なので日本語表示に切り替える。
イメージ 3

画面左側で「System」-「Admin」-「Setting」の順に辿ると、画面右側が下図のように切り替わる。
イメージ 4
この中にある「Language」のプルダウンから「Japanese」を選択して、画面下の「Apply」ボタンを押すと、画面表示が日本語に変わる。

表示が日本語に切り替わったところで、機器の基本設定を行っていく。
画面左側で「System」-「Dashboard」-「Status」の順に辿ると、ログイン直後に表示されていた画面(ダッシュボード)に戻る。
ここでまず、
 ・ホスト名
 ・システム時間
の設定を行う。
イメージ 5
これらの設定は、画面中央上の「システムステータス」にて行う(ちなみに、その下にある「CLIコンソール」はコマンド入力ができるコンソール。FortigateではWebブラウザからもCLIが利用できる)。
ホスト名の設定は、「ホスト名」の右側にある「変更」リンクを、システム時間の設定は「システム時間」の右側にある「変更」リンクをクリックして行う。

システム時間の設定画面はこんな感じ。
イメージ 6
システム時間は手動設定の他、NTPサーバからの自動取得ができる。なお、上図ではNTPの設定となっているが、インターネット接続前にこちらの設定を行うと設定画面が固まる可能性があるため、NTPを使用する場合、最初は手動設定としておいて、インターネットへの接続設定が完了後にNTPに変更した方がいい。あと、「タイムゾーン」を「(GMT+9:00)Osaka,Sapporo,Tokyo,Seoul」に設定することを忘れないように。

以上でホスト名とシステム時間が設定される。
あと、セキュリティを確保するために、管理者(Adminユーザ)のパスワードは早めに設定しておいた方がよい。

次にネットワークの設定に入るが、その前にFortigate-40Cのインタフェースについて説明を。
Fortigate-40Cのインタフェースは、下図のようになっている。イメージ 7
RJ45(LANケーブルなどのコネクタ)のポートは全部で8つ。内訳は次の通り。
 ・WAN1、WAN2  ... 主にWAN(インターネット等)やDMZの接続に用いる
 ・Ethernet Ports ... 内部ネットワーク(社内、自宅内等)の接続に用いる
             なお、システム内部では「Internal」と表現される(以下、「Internal」と表記)
 ・Console Port   ... コンソールケーブルを用いたCLIによる管理に用いる

余談までに、Console Port以外の7つのポート(WAN1、WAN2、Internal5つ)については、ぶっちゃけどのポートも設定項目は同じなので、極端な話、Internalをインターネット接続用に、WAN1を内部ネットワーク用に設定することも可能なのだが、あえてそれをやる意味がないので、普通は上記のような使い方をする。

また、Internalポートについて補足すると、Internalの5つのポートは「スイッチモード」と「ポートモード」の2種類のモードを選択することができる。イメージは下図のようになる。
イメージ 8
「スイッチモード」では、5つのポートをひとまとめにして「Internal」として扱う。イメージとしては、VLAN等で分割されていない状態のL3スイッチみたいなもの。つまり、例えばInternalに「192.168.1.1」というIPアドレスが設定されている場合、Internalインタフェースの1~5のどのポートも「192.168.1.1」となる。ファイアウォール的に言えば、すべてのポートが「Internal」というゾーンに属することになる。

それに対して、「インタフェースモード」では、Internal1~Internal5がそれぞれ独立したインタフェースとなる。つまり、Interface1に「192.168.1.1」、Interface2に「172.16.1.1」といった具合に別々のIPアドレスを割り当てられる。ファイアウォール的にはそれぞれのポートが別々のゾーンに属することになる。ネットワークが複数あって、それぞれのセキュリティレベルを分けたい場合などに利用する。今回、我が家の環境ではこちらのモードを使っている。余談だが、Fortigate-40Cでは「スイッチモード」か「インタフェースモード」の2択しか選べないが、上位機種では「1番ポートはポートモード、残りのポートはスイッチモード」のような柔軟な構成が可能なものもある。

なお、諸々の設定が完了した後でInternalのモードを変更すると、ネットワーク設定やファイアウォール設定などの設定もやり直しになるため、どちらのモードを選ぶかは先を見越してよく考えた方がいい。

話を本筋に戻そう。続いてインタフェースの設定を行う。
とりあえずはインターネット接続(WAN1)と自宅内LAN(Internal1)の設定を行えば、最低限の用は足りるので、設定を行っていく。

インタフェースの設定は、「システム」-「ネットワーク」-「インタフェース」の順にメニューを辿っていくことで行う。下図のように、画面右側にインタフェースの一覧が表示されるので、設定したいインタフェースの左側にあるチェックボックスをチェックして「編集」ボタンを押す(または、リストの該当インタフェース部分をダブルクリックする)と、インタフェースの設定を行うことができる。

イメージ 9

こちらは、Internal1(内部ネットワーク用)の設定の様子(画像は一部マスキングしてあります)。
IPアドレスとネットマスク、及び「管理権限アクセス」の設定がメインになる。
「管理権限アクセス」と言うのは、読んで字のごとくFortigateを管理するためのアクセス可否を設定する項目で、例えばこのインタフェース(Internal1)からWebインタフェースでのアクセスを許可する場合、「HTTP」にチェックを入れる、といった具合に設定する。これはどのインタフェースに対しても行うことができる項目だが、インターネット側から直接管理コンソールにアクセスできるのは好ましくないので、通常はHTTPやSSHといった管理コンソールに対するアクセスは内部ネットワーク(今回でいえば「Internal1」)だけに割り当てる。なお、管理コンソール(「HTTP」「HTTPS」「SSH」「TELNET」)に対するアクセス許可をどのインタフェースに対しても割り当てていない場合、ネットワーク経由でのFortigateの操作が一切できなくなる(←ここ非常に重要)ので、注意が必要である。恥ずかしながら、私は本格的な設定に入る前に少しFortigateをいじっていた時に、誤ってこれをやらかしてしまって猛烈に焦った。その場合のリカバリー方法については、後ほど。

イメージ 11

こちらはインターネット接続(WAN1)の設定。
家庭の場合は大抵PPPoEの設定になると思うが、設定自体はブロードバンドルータのそれと大差はない。
管理権限アクセスは設定するとしたら「PING」ぐらい(外部からのPing応答を返したい場合)。なお、下図では「FMG-アクセス」にもチェックが入っているが、FMG(Fortigate-Manager:Fortigateを集中管理する仕組み)には脆弱性があるらしいので、必要がなければ外しておく。
ちなみに、WAN1に限らず、すべてのインタフェースには「エイリアス(別名)」を付けることができるので、インタフェースの目的が分かる名前を付けておくと便利だ。
イメージ 10

ここまでの設定が正しくできていれば、Fortigateがインターネットに接続するようになる(あ、もちろん配線は必要だけど)。WAN1の設定画面上で「ステータス」が「接続」になっていて、IPアドレス等が表示されていれば、少なくとも回線レベルでの接続はできていることになる。接続が確認できたら、Pingコマンドを使って疎通確認をしてみる。これはFortigateのCLIから以下のコマンド(「www.yahoo.co.jp」への接続を確認する場合)を入力することで確認できる。
  execute ping www.yahoo.co.jp

下記のような応答が帰ってくれば、疎通(&名前解決)が正常に行えている。

PING www.g.yahoo.co.jp (183.79.197.242): 56 data bytes
 
64 bytes from 183.79.197.242: icmp_seq=0 ttl=47 time=38.8 ms
64 bytes from 183.79.197.242: icmp_seq=1 ttl=47 time=38.0 ms
64 bytes from 183.79.197.242: icmp_seq=2 ttl=47 time=38.0 ms
64 bytes from 183.79.197.242: icmp_seq=3 ttl=47 time=38.6 ms
64 bytes from 183.79.197.242: icmp_seq=4 ttl=47 time=38.6 ms
 
--- www.g.yahoo.co.jp ping statistics ---
 
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 38.0/38.4/38.8 ms

もし名前解決ができていない場合は、WAN1の設定の「内部DNSを上書き」にチェックが入っているか確認してみるといい。

ここまででFortigateがインターネットにつながるようになった。
で、ダッシュボードに戻ると、更新可能なファームウェアがあるとのこと。「やっぱりファームウェアは最新にしといた方がいいよね」と、さっくりとファームウェアをアップデート。が、実はこれが直後に面倒の種になろうとは、その時は知る由もなかった。

ファームウェアをアップグレードしたのでFortigateを再起動し、再起動完了後にダッシュボードを確認するとファームウェアのバージョンが「FGT40C-5.02-FW-build688-150731」になっていた(更新前は「4.x」)。よしよし、ちゃんとファームウェアもバージョンが上がったし、クライアントPCからインターネットアクセスを試してみるか、ということで早速PCから「Yahoo!JAPAN」にアクセスしてみると・・・つながらない。Pingレベルでの疎通もない、というか名前解決ができていない。考えられるのは、Fortigateが名前解決をできていないということ(クライアントPCのDNSサーバはFortigateを向けてある)だが、Fortigateからは名前解決ができている。ということはFortigateがクライアントに対してDNSキャッシュサーバとして機能していないということになる。

で、原因を探るべくググってみると、FortigateでDNSサーバを有効にするためには設定が必要だと判明した。この辺りはブロードバンドルータと違うんだな、と思いつつ、原因が分かって一安心・・・と思ったら、なんと!DNSサーバを有効にするコマンドを入力しても「そんなコマンドはない」と言われてしまった。該当ファームウェアのバージョンのリファレンスを見ても、確かにコマンドは存在する。なのに目の前の機械は「そんなコマンド知らん!」と言い放つ。何故だ!?坊やだからさ」というボケをかましたくなるが、それは置いといて、更にググって見ると・・・なんと、Fortigate-40Cでは「バージョン5.xのファームウェアではDNSサーバをサポートしていない」という情報に行き当たった。何てこった・・・・

幸いなことに、Fortigateではファームウェアのアップグレードを行っても、以前のファームウェアに戻すことが可能(厳密に言えば、以前のファームウェアが残っていて、そちらを起動用のファームウェアに指定するのだが)ということが分かった。Fortigate、偉い!これがAndroidスマホとかだったら、一度アップグレードしたら後で不具合が発覚しても二度と前のバージョンに戻せないんだよなぁ、と思ってみたり。

イメージ 12

早速ファームウェアを元に戻してDNSサーバを有効にするコマンドを入力すると・・・できた!
再びPCから「Yahoo!JAPAN」にアクセスして、ページが表示されることを確認。

ということで、多少のトラブルはあったが、Fortigateをインターネットに接続することはできた。

教訓:システムのアップデートが常に正しい選択とは限らない。

つづく。


【おまけ:ネットワーク経由でFortigateの管理インタフェースにアクセスできなくなった場合の対処法】
この場合の方法としては、大雑把に言って2通りの方法がある。
 1.本体にコンソールケーブルを接続してCLIで設定を変更する
 2.本体をリセットして設定をクリアする

2.の方法の場合は、本体にあるリセットスイッチを針金などの細い棒で30秒長押ししてやることでリセットできる。ただし、これをやるとBOOTイメージ(OS)も初期化されてしまうとの情報がある(OSが出荷時状態に戻るのか、OSが消去されるのかまでは不明だが)ので、こちらは最終手段と思っておいた方が良さそうだ。

1.の方法の場合は、本体の「CONSOLE」ポートに「コンソールケーブル」と呼ばれるケーブルを接続し、PC本体のシリアルインタフェースと接続する方法が普通なのだが、ここで問題が2つある。一つ目は「コンソールケーブルがない」こと。コンソールケーブルはCiscoのルータ等の設定ではしばしば使うのだが(FortigateもCiscoのコンソールケーブルで接続できたはず)、企業ならともかく、一般家庭に普通に転がっているケーブルではないし、パソコンショップに普通に置いてある代物でもない。ヤフオクあたりでなら入手可能だが。実のところは昔個人的な勉強用途でCiscoの中古ルータを買った際にコンソールケーブルも買ったので、家の中を探せばどこかにはあるはずなのだが、どこにしまい込んだのか記憶がない。そして二つ目の問題として、「そもそも今使っているPCにシリアルポートが付いていない」。なのでシリアル接続のコンソールケーブルを使おうと思えば、USB-シリアル変換ケーブルを調達しなければならない。どちらにしても、今すぐどうにかなる話ではない。さて困った。

が、世の中捨てた物ではない。Fortigateの背面のインタフェースを見ると「USB MGMT」と書かれたUSBポートがあり、そして本体の同梱品にはUSBケーブルが・・・導き出される結論は一つ-「FortigateはUSB経由でも設定ができる」はずだと。そうなればあとは方法を調べるだけ。早速ググってみると・・・あった-計画通り!USB経由でアクセスするためには「FortiExplorer」というツール(with COMポートドライバ)をインストールすればいいということが分かったので、早速ダウンロード&インストール&実行。あっさりとFortigateに接続できた。やれやれ。

おまけ。
FortiExplorer経由での接続で事なきを得たものの、色々と設定をいじり回していたこともあって、ちゃんとした設定の前に一度設定を初期化しておこうと思った。Fortigateの設定を初期化する場合は、CLIから
  execute factoryreset
と入力し、確認メッセージに対して「y」を指定すればいい。取り扱いにはご注意を。

Fortigateを買ってみた

話は少し遡る。

当時使っていたブロードバンドルータバッファロー製)の動きが怪しくなり、時々一部の機能が使えなくなるようになったため、そろそろルータを交換するか、ということで後継の機器を探していた。

私が自宅のネット環境を使う上で必要な要件としては、主に
 ・バーチャルホスト機能があること(サーバ公開のため)
 ・無線LANのアクセスポイントとして使えること(主にスマホタブレット向け)
 ・VPNサーバ機能を持っていること
 ・Wake On LAN(WOL)機能を持っていること
といったところで、前述のバッファローのルータは、そのすべてを満たしていたのだが、最近のブロードバンドルータではこれらの機能をすべて満たす物が見当たらない(もっとも、ハイエンドの製品ならあるのかもしれないが)。さて困った。

が、困ってばかりもいられないので、次善の策を考えることにした。

とりあえず、新しい機器に求める最低限の機能として
 ・バーチャルホスト機能
 ・VPNサーバ機能
の2つを必須とし、後の機能についてはとりあえずは現行のブロードバンドルータをLAN内に接続することで対処することにした。幸い、現行のルータもまだ完全に壊れている訳ではなく、毎日夜中に再起動してやれば使えていたので、とりあえず無線LANWOLについてはルータが壊れる前になんとかすればいいか、ということで。

で、機器の選定に入る訳だが、VPNサーバ機能を持ったルータというのがなかなかない。現行のルータを購入した時でさえ、VPNサーバ機能を持ったルータはそんなになかったのだが、最近では皆無と言ってもいいぐらいに見つからない。個人でVPNって需要が少ないのかな・・・・。最悪、自宅LAN内で24時間稼働させているPC上にPPTPサーバを立てて、ルータに「穴」を開けてやることも考えたが、それもどうも心許ない。さてどうしたものか。

そこで、少し前に仕事で触ったことのある「Fortigate」が頭に浮かんだ。
Fortigateというのは、Fortinetという会社が製造している、主に企業向けのUTM製品(大雑把な言い方をすれば、ファイアウォールアンチウイルスなどのセキュリティ機能を詰め込んだ機器)で、これならVPNサーバの機能も備えている(当然、PPPoEの接続もサポートしている)。しかも、VPNに関して言えば、IPSecSSL-VPNといった安全性の高いVPNを使うことができ(ちなみに市販のブロードバンドルータVPNサーバ機能は、主に「PPTP」で、今となっては安全性に関して若干の不安がある)、VPNクライアントはPC(WindowsMacOS)の他にAndroidiOSまでサポートしていて、更に「クライアントソフトは無料(←ココ重要!)」という、非常に魅力的な製品なのだ。

しかしながら、Fortigateは企業やSOHO向けの製品ということで、一番安いモデルでも新品で購入すれば数万円はする代物で、一般家庭のブロードバンドルータ代わりに入れるには価格面でのハードルが高い。仕方がないので、ローエンドの中古品をヤフオクで探すことに。
正直、この手の機器をネットオークションで購入するのには結構なリスクがつきまとうので、できれば避けたいところなのだが、そこは「背に腹は代えられぬ」ということで、出品者の評価と商品説明を吟味して、型落ち品の「Fortigate-40C」という機種を1万数千円で落札。

イメージ 1
ちなみにスペックはこんな感じ。
http://www.fgshop.jp/product/fortigate/FortiGate-40C/index.html

数日後、自宅にFortigateがやってきた。
中身は本体、電源コード、クイックスタートガイド、ユーザマニュアルが入ったCD-R、そしてUSBケーブル。何でUSBケーブル?と思ったのだが、実はこのケーブルが後に非常に役立つことになった。それはまた後で。

一応ヤフオクの商品説明では「未使用?」と書かれていただけあって、本体に目立った汚れもなく、ケーブルも綺麗に束ねられていたのだが・・・よく見ると本体のゴム足が取れていたり。まあ、こちらも最悪ジャンク品を掴まされる覚悟で落札しているので、そこは見なかった事にして、早速セットアップに取りかかることに。

つづく。

情報処理技術者試験、受けてきた

まあ、タイトルのまんまということで、情報処理技術者試験(セキュリティスペシャリスト=セスペ)を受けてきた。

セキュリティ系の試験は、今はなき「テクニカルエンジニア(情報セキュリティ)」に合格しているが、セスペは上位互換的な試験(「テクニカルエンジニア(以下略)」と「情報セキュリティアドミニストレータ」を統合したらしい)ということで、資格のアップデートの意味合いで受験。最後に受験したのが「テクニカル(以下同文)」なので、実に9年ぶりの情報処理技術者試験になる。

という訳で、試験開始!

【午前Ⅰ(全30問を50分で解答)】
いわゆる「高度試験」と言われる試験に共通の、「情報処理に関する基礎知識を問う」試験。
平たく言えば、「こんなことも分からん奴が高度試験を受けるのはおこがましいわ」という試験でもある。
とはいうものの、出題範囲はかなり幅広いため、まんべんなく勉強していないとそれなりにキツかったりもする訳だが、午前対策のテキストを1冊やりこめば、足切りライン(60点)に引っかかる程でもないかと。過去問の再出題も結構あるし。

で、問題用紙を開いてみると・・・
 【問1】10進数123を、英字A~Zを用いた26進数で表したものはどれか。(以下略)

・・・・一瞬の後、そっと問題用紙を閉じてしまいました。
いやぁ、私、文系エンジニアなんで、「26進数」という言葉が出てきた時点で拒絶反応が出たというか何というか。ぶっちゃけ、「計算問題ってめんどくさい」という、エンジニアらしからぬ事を言ってみたり。まあ、この問題は単純に123を26で割って、商と余りをそれぞれA(0)~25(Z)に変換すればいいだけなんだが。

気を取り直して試験再開。
幸いというか、計算問題はこれを含めて2問しか出なかったのと、割と過去問や過去問の派生問題が多かった感じで、サクサクと進む。そんなこんなで午前Ⅰ終了。
ちなみに午前Ⅰの得点が60点以上あれば、今回不合格でも2年間は高度試験の午前Ⅰ試験の受験が免除されるという「特典」が付いていたりする。平たく言えば「予選免除」って感じか。最低でも特典だけはもらって帰りたいな、と。

【午前Ⅱ(全25問を40分で解答)】
こっちは受験する試験別に問題が分かれていて、セスペならセキュリティ関連問題の比率が高いといったように、それぞれの分野の知識を問う試験。まあ対象分野の勉強をがっつりやっておけば問題ないレベル。他の分野は知らないけど、セスペに限って言えば過去問の再出題の比率も結構高いし。
で、午前Ⅱは多分大丈夫でしょ、って感じで終了。

ここで昼休み。
予定表では次の試験までは1時間空きがあることになっているけど、試験開始20分前から説明が始まるので、実質的な休憩時間は40分。短いわ!
で、ここからが本番と言っても過言ではない、午後試験に突入・・・

【午後Ⅰ(3問中2問を90分で解答)】
ここからの試験は、ガチで対象分野の知識がないと手も足も出ないレベル。しかもオール記述式(ちなみに午前はすべてマークシート)。実務でセキュリティに関わっている人にとっては、ある意味午前よりは楽かも。そういえば、昔職場の先輩が言ってたな。「新人の内は午前の方が楽(学校を卒業して日が浅いので暗記系の勉強に抵抗が少ない)で、年取ってくると午後の方が楽(実務経験を積んでいるので実務に直結する問題は勉強しなくても何とかなる)」って。
それはさておき、問題用紙に一通り目を通してみる。
今回の出題は、
 問1 Webシステムの開発に関する問題(Webアプリケーションのセキュリティに関する問題)
 問2 DMZ上の機器の情報セキュリティ対策に関する問題(メール配送のセキュリティに関する問題)
 問3 スマートフォンアプリケーションの試験に関する問題(モバイルのセキュリティに関する問題)
で、とりあえず問1に手を付けてみたら・・・なんかめんどくさい・・・
ということで、10分ほどで見切りを付けて問2と問3に集中することに。ここでの10分のロスは結構痛い。そしてこの段階で、結構テンパっていたことは内緒にしておこう、うん。
何だかんだでとりあえず解答欄は全部埋めて(正解しているかは別・・・)、午後Ⅰを終了。
そういえば、昔「テク(以下略)」を受けた時も、午後Ⅰが鬼門だったことを忘れていた。

気を取り直して午後Ⅱへ-

【午後Ⅱ(2問中1問を120分で解答)】
1つの設問を120分かけて解くということで、問題文が半端なく長い。読むだけで疲れるわ、というほどに。
こちらもとりあえず、問題をざっと眺めてみる。
 問1 CSIRT構築とセキュリティ設計に関する問題
 問2 テレワークのセキュリティに関する問題
という出題だったが、問1の「CSIRT」がうんたらかんたらという記述を見て、即断で問2を選択。こういうところで自分の特性というか向き不向きがよく分かる。
選択した問2は、モバイルのセキュリティに関する問題で、問題文をよく読めば言ってることはだいたい分かるレベル。ただし、用語については知らなければまったく分からないのはこの問題に限った話ではないのだが。
こちらは午前Ⅰに比べれば心なしか楽だったような気がする(正解しているかは別・・・正解しているかは別・・・大事なことなので二度言いました)。一通り解答を済ませた時点でまだ時間が半分弱残っていたので、時間ぎりぎりまでとにかく見直す。この試験は午後Ⅱで終わりということもあって、退出可能時間になると早々に退出する人も結構いた。よっぽど自信があるのか、それともあきらめたのか?どっちにしても「もったいないなぁ」と思ってみたり。そんなこんなで試験終了。

情報処理技術者試験は他の多くの資格試験に比べて受験料が安い(今回は5,700円)割に中身が充実していて、それなりに勉強して臨めば結構楽しめる「イベント」だと思っている。あくまでも「ちゃんと勉強して、試験に見合った実力があれば」だけど。でもやっぱり、丸一日頭をフル回転させると、それはそれで疲れる。

ちなみに試験終了後のツイート↓

イメージ 1

ところで、これ、合格発表はいつなんだろう・・・?

【2016.6.17 後日談】
合格してました!
「セキュリティスペシャリスト」試験は次回(2016年秋期)で終了なので、その前に合格できて良かった。