弊社、セキュリティちゃんとしてんだかしてないんだか、よくわからないところがある。てか、たぶんしてない。
いままではシステム部門がある会社に勤めていたので、UTMなんて機械があることも知らなかった。なので数十人規模の中小企業でこういう機器が入っているのがレベル高いのか普通なのかもよくわからない。
リモートワークでVPN接続
ちっぽけな製造業なんだけど、実はコロナ前からリモートワークに取り組んでいた。東京オリンピックに備えて、在宅勤務ができるように備えていたんだ。これってちょっとすごくない?
さすがに製造現場はそういうわけにはいかないけれど、設計開発あたりなら在宅でも多少はいける。営業やバックオフィスならなおさらだ。
そういうわけで、社内ネットワークに繋げるためにFortiGateのVPNを使っている。一見ちゃんとしてるなぁ。でも接続IDとパスワードが超簡単なのはダメだと思うぞ。具体的にどうとは書けないけど。
かと言って超長い乱数ベースのパスワードなんか、絶対受け入れられない。いろんなもののパスワード設定がそういうノリの会社だから。
せめて端末認証でもしておきたいなと思うのです。
二要素認証を設定したい
調べてみたら、公開鍵認証もできそうなんだけど、ユーザーの方がついてこれそうにない。なのでワンタイムパスワードによる二要素認証にトライしてみる。
ワンタイムパスワードが使えるのは以下の3つ。
- SMS利用
- メッセージ送信サービスが有料
- トークン利用
- 無料で付属しているのが2つだけ
- eメール利用
- GUIで設定できない
というわけでeメール一択です。
FortiClientを立ち上げて接続しようとするとワンタイムパスワードを要求されるので、eメールで送られてきた6桁の数字を入力すると接続できるようになります。

FortiGateに侵入する
前回同様GUI画面にWebブラウザで接続してメールサーバーを設定。

その後のcli操作はターミナルからssh接続でできる。アカウント/パスワードもアドレスも、Webブラウザで接続したのと全く同じ。ポートは標準でいける。
FortiOSのコマンドは全くわからないのだけれど、今回の二要素認証に必要なのはshowとconfigだけ。あとconfigの中でeditとsetとendを使うか。ログアウトはexitでいける。
まずは設定されているユーザーの情報をshow user localで表示してみる。一画面に収まらないときは自動的にmoreが適用されるけど、ページ送りしかできないからちょっと見にくい。
Code language: Shell Session (shell)FG************** # show user local config user local edit "hoge" set status enable set type password set passwd-time 2017-06-17 01:29:06 ~(後略)~
目的のユーザー情報がわかったら、config user localで編集モードに切り替え、edit hogeなどと対象ユーザーを指定。
送信先アドレスはset email-to hoge@piyo、eメール認証の有効化はset two-factor emailで設定できる。ちなみにset emとかset twでタブ補完が効く。
最後にendで書き込み完了。
Code language: Shell Session (shell)FG************** # config user local FG************** (local) # edit hoge FG************** (hoge) # set email-to hoge@piyo FG************** (hoge) # set two-factor email FG************** (hoge) # end
ただし標準だとワンタイムパスワードの有効期限が異様に短いので、120秒ぐらいに延長しておくのがおすすめ。
Code language: Shell Session (shell)config system global set remoteauthtimeout 120 set two-factor-email-expiry 120 end
これでeメールによる二要素認証の設定ができた。

FortiTokenを使ってみる
試しにトークンを使った二要素認証も試してみよう。
まずGUI画面で対象ユーザーを選択して、二要素認証を有効化したら任意のトークンを選択。

スマホのFortiTokenアプリにこれを入力すると、ワンタイムパスワードが表示されるようになるので、これを使ってログインできるよ。
こっちの方がお手軽なんだけど、二人分しかないんだよねー。