目次
1.やりたいこと
2.この記事を書こうと思った理由
3.この記事の対象者
4.自身の環境
5.イントラネットにSSL証明書は必要か
6.サーバ機の設定
7.クライアント機の設定
8.外部からもドメインでアクセスできるよう設定してみる(おまけ)
9.SSL証明書の設定
付記
1.やりたいこと
外部非公開の、つまり社内のイントラネットで運用しているFileMaker Serverに、IPアドレスではなくドメインでアクセスできるように設定します。そして、SSL証明書(カスタム証明書)も設定しセキュアな通信環境を構築します。
2.この記事を書こうと思った2つの理由
おそらくQuiitaで記事を投稿している方や頻繁にアクセスされている方からしてみたら、なんて初歩的な内容の記事なんだろうと思われるでしょう。
私がこの記事を書こうと思った理由のひとつは、Claris コミュニティで私と同じ状況の方が質問されていたからです。
もっとも私の場合はグローバルIPアドレスではなく「プライベートIPアドレス、すなわち外部非公開のFileMaker Serverで」という違いはありますが、何れにしてもIPアドレスではなくドメインでFileMaker Serverにアクセスできる様にしたかったのです。FileMaker ServerにSSL証明書を設定したい、しかしその前にFileMaker Serverにドメインでアクセスできる様にする必要があったかったからです。
ノーコード・ローコード開発を謳うFileMakerですので、確かにExcel等に慣れている人つまり、エンジニアでは無い人でも少し勉強すればFileMakerでカスタムAppを作ることはできると思います。FileMakerの美点です。しかし、そういった非エンジニアの人がクライアント=サーバの環境を構築しようとすると途端に敷居が高くなってしまうのもまた事実であると感じています。
細かい理由の経緯は長くなるし、Quiitaユーザーにしてみれば恐らく当たり前過ぎて目障り?だと思いますので、この記事の一番最後に付記として述べたいと思います。おそらくインハウスでカスタムAppを作成し運用しているFileMakerユーザーってきっと他の社員よりちょっとだけパソコンに詳しい人なんじゃないかな?って思います。 そうゆうパターンってわりとFileMakerを運用している会社では多いのではないか?と思っています。そうゆう自分と同じ様な人が読んで頂ければと思って記事を書きました。
そしてもう一ひとつの理由は、SSL証明書の設定を丁寧に詳しく説明してくれたYouTubeがあったからです。
自分でやろう!SSL 認証局への依頼から実装確認まで Claris FileMaker Server への SSL 証明書設定方法
2023年5月現在FileMaker ServerのSSL証明書設定に関して、この動画が一番わかり易いコンテンツだと思います。私もSSL証明書の設定はこの動画に倣ってやりました。この動画がなければSSL証明書の設定を自分ひとりではできなかったと思いますし、やろうとも思わなかった(何度もTryしたけどその都度断念してた過去がある)し、もっと言えばこの記事を書こうとしなかったと思います。
私の記事ではそのとき私が感じたことやちょっと躓いたことも述べたいと思います。
3.この記事の対象者
ということで、この記事ではFileMakerでカスタムAppを作ったり使ったりしているけれど、ネットワークのコト/FileMaker Serverのコト はちょっと良く分からないという人を対象にいたします。自分もそうゆう人です。
- 他の社員より多少パソコン等に詳しい
- ので、FileMakerでカスタムAppの開発や業務を行っている
- けど、ネットワークとかの話まで及ぶとちょっと怪しくなってくる
そうゆう人が対象です。
ネットワークのコト/FileMaker Serverのコト はちょっと良く分からないという人でもマニュアルを読んで進めればFileMaker Pro = FileMaker Server というクライアント = サーバ環境が取り敢えずはできてしまうというのが、逆に言えばFileMakerの凄いところでもあるんですけどね。
因みに私が今社内でFileMaker Pro = FileMaker Serverという環境に移行したのは、数年前のカンファレンスでのとあるセッションに参加したのがきっかけでした。「おぉ!FileMaker Serverがあるといいじゃん! ってかなきゃダメじゃん」って思ったからです。
4.自身の環境
最初に自分の環境を述べておきたいと思います。
FileMaker Server
- Mac mini Late 2014 ※ Macが好きなのでFileMaker Server Ver16を社内に導入する際に購入しました。
- macOS 10.15 Catalina
- FileMaker Server 19.6
- IPアドレス 192.168.1.XXX
FileMaker Pro
- DELL Inspiron 5490 AIO 等々 20台弱
- Windows 10 Home 22H2 (公式にはHomeは対象外。でも使えてる)
- FileMaker Pro 19.6
- IPアドレス 192.168.1.XXX
余談ですが、FileMaker Server19.6にUpdateする前は19.0.1で運用していました。というのは、macOSが10.14 Mojaveだったからです。というか、10.15 Catalinaにしたくなかった(なんとなく。Mojaveで安定していたし)ので、FileMaker Serverも19.0.1だったというのが正しいのですが…。
詳しくは後述しますが、FileMaker Admin Console 上で、つまりCLIコマンドではなくブラウザ上でSSL証明書を設定しようとすると(そちらの方が一般的に敷居は低くなりますよね)、FileMaker Server 19.3以上でないとできません。
- CLIコマンドではなくFileMaker Admin Console で SSL証明書を設定したい
- そのためには、FileMaker Server を 19.0.1 → 19.3以上にUpdateする必要がある(この際最新の19.6に)
- FileMaker Server を 19.6にするためには、macOS を 10.15 Catalina以上にする必要がある
という流れから、
macOS 10.14 Mojave → 10.15 Catalina
FileMaker Server 19.0.1 → 19.6
にそれぞれUpdateにしました。
SSL証明書設定以前に、ドメイン接続できるFileMaker Serverの設定以前に、macOSとFileMaker ServerのUpdateで結構な時間を費やしました
考えてみると当時最新のMac mini Late 2014の時代はintel Macだったのが今ではAppleシリコンに、FileMakerの方もFileMaker社からClaris社へと大きく変わったのですから、Updateに時間を要するのは当たり前ですね。
5.イントラネットにSSL証明書は必要か
さて、そもそもイントラネット(外部非公開)のFileMaker ServerにSSL証明書が必要でしょうか?
「イントラネットでの運用ならSSL証明書は不要」との意見(カンファレンスでもそうゆう説明を聞いた)も散見されますし、自分もそうかなぁと思います。実際SSL証明書が無くても運用は可能です。FileMaker ServerのIPアドレスが分かりさえすれば、FileMaker Proからアクセスできますから問題ありません。
とはいえ、「たとえイントラネットであってもこれからの時代はSSL証明書は必要」という意見もあったりします。社内の無線LANのパスさえ分かれば第三者でもその無線LANに入り込めてしまうことは十分想像できますので、こういった意見もなるほどと思います。
正直どちらの意見が正しいのかわかりかねます。
ただ個人的にはFileMakerを使っていて赤い鍵マークが精神衛生上良くありません。
また、将来的にSSL証明書が設定されていないと運用できないとかなるのでは無いか?という心配も無きにしもあらず。勝手な思い込みかもしれませんが…。
SSL証明書の発行手数料はまちまちではありますが、1万円程度の証明書でもOKのようですのでそれほど高コストでもありません。それならばイントラネットでの運用であってもSSL証明書の設定をしたほうが良いのではないかと思っています。そして、それが業者に委託せずとも自分の手でやれるなら、経験にもなりますし、ネットワークの勉強にもなるでしょう。スキルアップのつもりでやっても良いと思います。また、外部公開するのであれば今の時代SSL証明書が必須なのは言うまでもありません。
ということで、(たとえイントラネットでの運用だとしても)FileMaker ServerにSSL証明書を設定しましょう。そしてそのために先ずはドメインでFileMaker Serverにアクセスできるようにしましょう。
FileMakerからいちいちAlertsを表示させられて焦ったりしなくなりますし、ね。
6.サーバ機の設定
前置きが長くなりましたが、ココから実際にドメインでデータベースにアクセスできるように設定します。
先ずはFileMaker Serverにドメイン(example.com)を設定しなければなりません。何故ならSSL証明書は(当たり前ですが)ドメインに対して認証発行されるから、ですね。
ところでドメインはどのようなものにすれば良いのでしょうか?
イントラネットで運用しているのだから 好き勝手なドメインでOK と自分は思っていました。例えば、fms.com や fmdb.com とか。もっと言えば外部非公開なのだから既に他で取得済みのドメインだって別に構わないのでは? とも思ったりもしました。
しかし、後述するSSL証明書発行をオーダーするときに発行の認証ができなくなるので、一番最初にやることはドメインを取得することになります。
ドメインの取得
会社では前担当者がWebARENAの名づけてねっとでドメインを取得していましたので、FileMaker Server専用にサブドメイン(fmdb.example.com)を設定(名づけてねっとでは親・子ドメインという説明でした)しました。名づけてねっとでは無料でサブドメインを設定できます。
別に親ドメイン(example.com)でもOKなのですが、後述するセクティゴジャパン(旧コモドジャパン)が発行するSSL証明書がサブドメインに対応していたことや分けたほうが幸せになれるように思ったので、そうしました。
因みに会社では取得してあるドメインはメールアドレスでのみ運用しています。
参照 : サブドメインとは | 名づけてねっと
ついでと言っては何ですが、SSL証明書取得時に必要な webmaster@example.com というメールアカウントも登録・設定しておきました。
hostsファイルの編集
FileMaker Serverが動いているMac miniのhostsファイルを編集します。
Finder > 移動 > フォルダへ移動 で /private/etc
そのパスにある hosts ファイルを編集したいのですが、このファイルは管理者権限が無いと操作等ダメだとか言われるので、一旦複製してデスクトップにでもhostsの名前で保存します。デスクトップに保存したhostsファイルを下記のようにlocalhost から 取得したドメイン(fmdb.example.com)にエディタで編集します。
172.0.0.1 localhost → 172.0.0.1 fmdb.example.com
/private/etc/hosts の方は /private/etc/hosts.orgn 等に名前を変更します。いざとなったら元にに戻せるようにしておくためです。名前を変更した後、編集したデスクトップにあるhostsファイルを /private/etc/ に 移動します。
ドメイン設定完了
はい、これで
ドメインを FileMaker Serverの プライベートIPアドレスに 設定が完了
しました!
127.0.0.1はローカルホストのIPアドレスなので、当たり前ですね。
FileMaker Serverの方でWebDirect公開の設定が済んでいるのであれば、Mac miniのブラウザ(つまりServer機のブラウザ)で fmdb.example.com/fmi/webd にアクセスすればWebDirectにアクセスできます。勿論 192.168.1.XXX/fmi/webd でも 同じ結果が得られます。
7.クライアント機の設定
次にクライアント(DELL Inspiron 5490 AIO)からも fmdb.example.com でアクセスできるようにします。
社内にDNSサーバを設置すれば各々のクライアント毎に設定しなくて良いのですが、自身の環境は10クライアント程度なのでDNSサーバを設置するのは面倒だし(未だ分からない)、クライアント(Windows)各々のhostsファイルを修正します。 エクスプローラー上部のパスのマドに下記のパスをペーストすると指定したフォルダ(パス)に移動します。
C:\Windows\System32\drivers\etc
Mac miniの時と同様にエディタで最後の1行を追加・修正して、上書き保存します。この時おそらく管理者権限を要求されます。
勿論、IPアドレスはFileMaker Serverが稼働しているMac miniのIPアドレスです。ドメインは取得したドメイン = Mac miniに設定したドメインを記述します。
クライアントからWebDirectでアクセスしてみる
以上でドメインの設定は一応終了しましたので、今度はクライアントのブラウザで確認してみます。WebDirect公開の設定が済んでいればIPアドレスではなくfmdb.example.com/fmi/webd でアクセスできます。
まだ、SSL証明書の設定が済んでいないので、URLの窓には「安全ではありません」とあります
余談ですが、以前FileMaker Server 19.0.1の時にWebDirectを試したらレスポンスが悪くて未だ使い物にならない印象だったのですが、最新のVer 19.6 はレスポンス良く好印象でした。どうやら19.3の頃にパフォーマンスが改善されたようですね♪
hostsが自動的に書き換わってしまう事象
以上で各クライアントから(イントラネットでは)IPアドレスではなくドメインでFileMaker Serverにアクセスできるようになりました。
が、後日クライアント(Win)のhostsファイルが修正前の元に戻ってしまうことがありました。
上記の手順で正しくクライアントのhostsファイルにFileMaker Serverを書き足してあるのに、翌日になるとfmdb.exsample.comにアクセスできなくなっていました。FileMaker Server自体はちゃんと生きているのでクライアントのhostsファイルが怪しいと推定し開いてみると追加した1行の頭がコメントアウトしてありました。
調べてみたら どうやらセキュリティソフトが hostsファイルの改ざんを監視していることがあるようですね。
たまたまリンク先と同じくスーパーセキュリティを使用していたのですぐに対処できました。
8.外部からもドメインでアクセスできるよう設定してみる
私の環境ではFileMaker Serverを外部に非公開、つまりインターネット経由でアクセスする予定はないのですが、社外から社内のFileMaker Serverにアクセスできるようにしたい人も居ると思いますので、ココではFileMaker Serverを外部公開する設定についてちょっとだけ述べておきたいと思います。この辺の話は疎いのでおまけと思ってください。
社内のFileMaker Serverを外部公開するには、ルータを「外部にサーバを公開する」に設定する必要があります。(VNPを組めば同じ様に社外からアクセスできるようになりますが、分からないので省きます)
会社のルータはBiz Boxルータ N500を使用していますが、「静的IPマスカレードの登録」と「ファイアウォールの設定」を行います。最も「静的IPマスカレードの登録」を行うと自動的「ファイアウォールの設定」に新たな設定が追加されますが。開放するポートは「 80, 443, 2399, 5003, 16000 」になります。
要は、fmdb.example.com で アクセスしたときに、社内のFileMaker Serverが稼働しているMac miniに接続するようにルータの設定をすれば良いわけですね。
ただ、このままだと各クライアントからは未だfmdb.example.comでは社内のMac miniにはたどり着けません。DNSの設定が、fmdb.example.com = ルータのグローバルIPアドレス になっていないからです。世界中誰でもfmdb.example.comというドメインから社内のMac miniにアクセスできるようにするにはドメインを取得したときのDNSの設定を行わなければなりません。私の環境ではWebARENAの管理画面に入って設定することになりますが、ココでは説明は省かせて頂きます。
しかし、社内の、あるいはリモートワークをしている社員(のPC)から のみで という条件ならDNSの設定を行わなくても先程やったようにクライアントPC毎に設定を行えば大丈夫ですね。
クライアントPCのhostsファイルに追加した一行をMac miniのプライベートIPアドレスをルータのグルーバルIPアドレスに変更するだけです。
XXXX.XXXX.XXXX.XXXX(ルータのグローバルIPアドレス) fmdb.example.com
- クライアPCが fmdb.example.com に アクセスしようとすると…
- hostsファイルの設定を読んでルータのグローバルIPアドレス=ルータにアクセスする
- 「静的IPマスカレード」の設定で各ポート(80, 443, 2399, 5003)の接続はMac miniにアクセスする
という流れになります。
最も、外部に公開するのであればFileMaker Cloudにした方が良いように思いえます。確かにオンプレミスよりコストは高くなりますが、セキュリティやServerのメンテを考えれば悪い選択肢ではないと思います。
9.SSL証明書の設定
IPアドレスではなくドメインでFileMaker Serverにアクセスできるようになりましたので、後はSSL証明書の設定になります。冒頭説明した通り、
自分でやろう!SSL 認証局への依頼から実装確認まで Claris FileMaker Server への SSL 証明書設定方法|YouTube
で説明している手順に従ってやるだけです。とても丁寧に説明してあるので迷うことは無いと思います。
が、私は躓きました
サーバータイプ と ドメイン
SSL証明書はSECTIGO JAPAN INC.(㈱セクティゴジャパン)にて購入しました。証明書のタイプは動画で説明しているのと同じドメイン認証タイプです。
で、申し込みの段階でサーバータイプを何にすれば良いのか分かりませんでした。
Mac miniはApacheなのは分かっていたのですが、Apacheの選択肢が沢山あり、どれにして良いのか分かりませんでした。(上記動画ではServerはWindowsでしたのでMicrosoft IIS 7.0以降 を選択していました)
ネットで調べてたぶんこれで合っているのであろうと結局 Apache + Open SSL を選択しました。(後述しますが、後で訂正申請した)
一通り申請が終わるとSECTIGO JAPAN INC.(㈱セクティゴジャパン)からメールが来ました(自動返信されるのかと思っていたのですが、少し時間を要しましたので人の手で返信しているのでしょう)
申請の認証方法はメール認証にしました。実は最初はFileMaker Serverのドメインの設定を好き勝手なドメイン(hogehoge.com)に設定していたので、このドメインでは申請のメール認証ができないってことにこの時気づきました。バカですねぇ。
結局メールで先の申請はキャンセル旨連絡すると同時に、Mac miniの場合はサーバータイプを何にすれば良いのか質問すると、「other」にしてくださいとのことでした。
改めて正しいドメインにて申請し、メール認証のためのメールアドレスを用意し、無事SSL証明書は納品されました。
SSL証明書が納品されれば、後は動画の手順に従って落ち着いてFileMaker ServerにSSL証明書を設定すれば、無事セキュアな接続ができるようになります♪
付記
ここから先は本投稿の本筋ではありません。筆者の思ったことが綴られています。
恐怖のアラート
そもそも、何故私がFileMaker ServerにSSL証明書を設定したかったのか?というと、ある時(もう何年も前の話ですが(^^; )Admin Consoleにアクセスするとブラウザが下の画像の警告を発したからです。
かなり焦りました。ひょっとしてコレはもうAdmin Consoleにアクセスできないのではないか?と一瞬冷や汗がでました。幸い警告を無視?(画像の[詳細]をクリック)してAdmin Consoleにアクセスできましたので事なきを得ましたが、最初はかなり焦りました。
そして、この時「そう言えばFileMaker Serverをインストールしたときテスト用のSSL証明書(1年間限定)が設定されたけれど、それが期限切れになっていたのか」と気づきました。同様にクライアントからFileMaker Serverにアクセスするとやはり警告が発せられました。理由は何れも証明書の期限切れによるものです。
「FileMaker Serverを運用するためにはやはりSSL証明書の設定をしなければならないのだな」と悟った私はその設定方法をネットで検索しました。この段階でSSL証明書を設定するには、その前提としてFileMaker ServerにIPアドレスではなくドメインでアクセスできなければならないということが分りました。が、SSL証明書を設定する手順を説明した記事はいくつもヒットするのですが、その前に
ドメインでFileMaker Serverにアクセスできるように設定する
という手順の説明が省かれていているものばかりでした。(私の探し方が下手なのかもしれません)
そもそもFileMaker Serverを運用しているとFileMakerというアプリそのもの以外にネットワークの知識が求められています。逆に言えばServerにSSL証明書の設定をする人・できる人は、「ネットワークの知識がある」という前提で話が進められているように思えます。なので、この「ドメインでFileMaker Serverにアクセスできるように設定する」という部分が当たり前のこととして説明が省かれているケースが多いのだと想像します。
調べた情報はネットワークの知識がある人前提で専門用語が多く出てくるのでSSL証明書の設定自体も良く理解できないし、そもそもどうやって「ドメインでFileMaker Serverにアクセスできるように設定する」手段がわからず、ココでSSL証明書のインストールを諦めざるを得ませんでした。
(裏技的にはFileMaker Serverを再インストールすれば、テスト用SSL証明書の期限がリセットされる、という方法もあるようですが、毎年再インストールする?)
小さな会社なのであまりお金をかけられないという事情と勉強の意味も含めて自分でやってみたかったので、業者にお願いするという選択肢は自分の中にはありませんでした。
もっともイントラネットで運用している分には実害は殆どありませんでした。そうゆうこともあってSSL証明書の設定はしばらく放っておいたままでした。
FileMaker Cloud
そうこうしているうちにFileMaker Cloudがやってきました。ドメインやらハードウエアの管理もやらなくて済みますのでかなり負担は軽減されます。が、如何せんお値段が…。この辺のことは小さな会社だと結構厳しいです。もう少し小さな会社でも稟議が通りやすいようなFileMaker Cloudのプランが有れば良いのですが、なんとかなりませんかねClarisさん。
まっ、それは兎も角、世の中がこれからはCloudだと騒ぎ始めると同時に、セキュリティもそれまで以上に関心が高まってきますと、FileMakerを使用する度に右上の鍵のアイコンがどうしても気になってしょうがなくなってきました。
やっぱりSSL証明書の設定をしなければ…
再度そう思い始めた頃、例の動画がUpされました!
ネ申動画
自分でやろう!SSL 認証局への依頼から実装確認まで Claris FileMaker Server への SSL 証明書設定方法|YouTube
この動画を何度も見返して、やっとSSL証明書を具体的にFileMaker Serverに設定する手順がイメージできるようになりました。自分でもSSL証明書の申請からFileMaker Serverへの設定もできるかもしれない! そう思わせてくれた動画でした。(多謝)
となれば、後はFileMaker Serverに、IPアドレスではなくドメインでアクセス出来るように設定すれば良いわけです。(順番が逆ですが) 改めてリサーチ開始です。
今の時代はレンタルサーバーやVPSでもって運用するのがスタンダードになっているので、そうした情報はすぐに見つかりました。が、オンプレミスサーバーの場合の情報が少なく、FileMaker Serverという括りでは特に情報が少ない。また、情報をみつけても逆に古すぎて今の時代とマッチしてないためによく分からないという感じでした。時間がかかりましが、自分でドメイン/SSLの証明書の設定ができました。
さて、情報を漁っている時に、たまに目にするのが冒頭書いたような私と同じような状況の方でした。
もしかしたら、自分と同じ様に困っている人が他にも意外といるのかもしれない。
今回のログをまとめて公開すれば少しは役に立つことがあるのではないか?
今までインターネットには沢山お世話になってきた自分も、逆に誰かの手助けになることもあるかもしれない、それこそがインターネットじゃないのか? そう思って今回の記事を公開しようと思うに至りました。
思い立ったのが4月くらいからだったので、そこから仕事の合間に時間をつくりながら書き上げた記事になっていますので、一部「?」と思われる箇所もあるかもしれませんが、大目に見てやってください。
なんか、クソ長い記事になってしまったなぁ~