rela1470のブログ

rela1470がブログです。

2024年 Kyash コーポレートエンジニアリング振り返り #unifi #jamf #ZTNA

2024年振り返り...ってもう1年???はやない????

ということで今年もやってきました12月。アドベントカレンダーの時期ですね。
Kyash Advent Calendar 2024、4日目のネタ枠担当 @rela1470 です。こんばんは。 株式会社Kyash のCSIRTチーム*1でCorporate Engineeringを統括しています。 adventar.org

自分は業務内容1年振り返りブログを毎年恒例でやってるんですが、なんと今年で6年目ですって。小学一年生じゃん...

昨年はこちら。 rela1470.hatenablog.jp

今年も色々頑張ったぞー。
それでは、チームメンバー全員の頑張りを自分の力のように見せながら、振り返ってやっていきます。

2024年カオスマップ

さて、毎年おなじみの社内システム一覧です。

抜粋カオスマップ(主にCorp-IT分野のみ)

今年大きく変わったのは、IdPがもう一個生えたこと、社内インフラを一新したこと、ですかね。あとはカオスマップに載ってない、アクセス制御の話とか。

アクセス制御の自動化をやめて手動化したってので登壇した

corpen-night.connpass.com

こちらのイベントでご依頼いただきまして、1年ぶりに登壇してきました。やはり登壇はいいですね。強制アウトプットしたい。
詳しくは資料を見ていただきたいのですが、ネタとしては、組織図に基づいて自動的に各ツールのアクセス制御を自動化(いわゆるHR-Driven Provisioningですね)をやっていたのですが、それをやめました、って話です。

speakerdeck.com

OneLogin Mappingで自動化してました

うちのメインIdPであるOneLoginにはMappingという機能があり、主に役職名や職種名とRoleを紐づけ、そのRoleを元に各アプリに認可させる、という形でアクセス制御の自動化を実現していました。

ただの文字列比較です。

過去のブログを見ると2019年にその仕組みを構築したらしいので、もうそれから約5年ですね。幼稚園だったら年長さんじゃん...
振り返るのにブログ便利だな。みんなちゃんと書こうな。
rela1470.hatenablog.jp

ただこれ、単純な文字列マッチングなので、組織名とか役職名がコロコロ変わるとその都度メンテナンスが必要でして...。
へーしゃ、マジですぐ組織名変わるんですよね... 3〜6ヶ月で丸々変わるイメージです。良く言うと事業スピードがむっちゃ早いって思うんですけど... とか書いてたら12/01付けで新しい組織図が発表されました。またガッツリ変わっとる。ひーん。情シス的にはマジでしんどいですよね。メーリングリストの名称どうするのって。結果的に旧称の旧称の旧称のまま使ってるんですけど。こればっかりは許してほしい。
さて本題のMapping、2024年の10月時点で確認したところ、ルール数は80個を超えていました。

組織変更時にとても負荷が高い。

へーしゃ現在のアカウント数、パートナーさん含めると約100名なので... これ、実は 80個ルールをメンテするより、100人一人ずつメンテするほうが早ない???? と我に返ってしまったのです。

完全手動化しました

ということで、手動化しちゃいました。

あ、言い訳タイムなんですが、これ単純に退化した、とかいう悪い話ではなくてですね、今の会社規模と保守に必要な機能のフェーズ、これマッチしてないね? 改善できたね? っていう良い話...だと、自分は信じています。

ちなみに登壇時のオチは、Layer XさんはTerraformできちんとやってるからそっちを参考にしてね でした。冪等性もあるしね。
でもLayer Xさんは300名規模で、Kyashの100名規模だってことを考慮するべきで、100名だったら絶対手動のほうがいいと思います。メンテナンスコストをちゃんと比較したら、手動のほうがコスパ良いと思うのよね。*2

この登壇、筆が遅くて当日まで「タイトル未定」でいっちゃったんですが、当日その場で全く同じタイトルで登壇をぶつけるという野蛮なバトルをしかけました。

speakerdeck.com

@yuya_takeyama=san、ごめんな。初対面だったのに。反省はしていない。*3

全手動組織変更機

もちろん100%手動化したっていうそんな話ではなくて、修行僧にならないレベルまでの手動化になるよう、自動化ツール???を作りました。

全手動組織変更機。差分を1つずつ予約していくイメージ

目視するんだけど、ボタンひとつで1個ずつ変更予約を入れて、最後にどひゃーってやる感じです。

差分も出して、Slackに通知!

更新差分の表示とか、更新予約とか、ちょっと欲しいけどOneLoginにない機能が多いんですよね。そこら辺を補完するツールになってます。Oktaにもないのかな?識者モトム。

パートナー企業向けにIdPを分割、HENNGEを導入した

この世のIdPの中でOneLoginが一番大好きだし愛してるんですが、実は今年、新しいIdPとしてHENNGEも導入してみました。

へーしゃではCS業務やFraud監視業務などの一部を、パートナー企業さんといっしょに行っています。
今まではパートナーさんたちも、プロパーメンバーと同じOneLoginのテナントを使っていました。
ただ、情報統制の観点で、既存メンバーやシステムと異なるアクセス領域であるという条件での管理コストを考えたときに、同じ環境にある必要がなく、これは分けたほうがいいな、という判断になりました。一番大きかったのは、2022 年 4 月にSlack Enterpriseが複数のIdP対応したことですかね! 2023年まで知らなかったんですけど。

もちろんOneLoginのテナントをもう一個生やして独立させても良かったんですが、パートナーさんは特定の業務しか行わないので、接続アプリ数も2〜3個なんですね。複雑なアクセス制御もいらないし、もっとシンプルで安価なIdPで良いのではないか...となり、今回はHENNGEを選んでみました。

hennge.com

HENNGE、正直に書いちゃうと、メイン使いには機能が足りないかなー。と思っちゃいますね。Google WorkSpaceへのProvisioningも、ユーザー名くらいしかできないし、ちょっと込み入ったことを実現しようとすると難しいです。値段相応って感じ。

ただ、料金内でデバイス証明書が発行できたり、セキュアブラウザが使えたりという、全部入りなのはむっちゃ評価高い。とにかく安価で一定のレベルまでは実現できるな、という感じです。

hennge.com ホワイトリスト形式でのアクセスブラウザは、特定の業務しか行わないパートナーさんには良いと思いました。使いづれーけど。ソリトンさんみたいに固定IPもないのでちょっと大変だし、せめて複数画面対応くらいしてほしいな~と思いますが安いので許します。安いので。

あとはサポートが良いですね。専任の方がついてくれ、マンツーマンでサポートしてくれます。いつも返事おそくてごめんなさい。色々書きましたが、好きです。OneLoginの次に。国産で親会社も変わらなそうだし*4*5

社内インフラを一新、UniFiを導入した

Merakiが高いのよ

今まで社内インフラはCisco Merakiで統一していたのですが、昨今のドル高に敗北しました...
SwitchにMS 120-48FP、APにMR 44、そして監視カメラにMV32を使ってました。 特にトラブルっぽいトラブルもなく、というか前のオフィスでもだし前職でもだしずっとMerakiでした。一途。10年くらい使ってたのか?すごいな。小学四年生じゃん。

一番費用が掛かってたのが、監視カメラですね。

これは穴を開ける場所を失敗したMerakiのカメラ

へーしゃはPCI DSSに準拠しないといけないので、監視カメラ録画90日保存。それが高い。9台で年60万くらい掛かってました。本体ライセンス代も足すと100万超え。うーむ。しんどい。これ、完全クラウド保存だからこうなっちゃってるわけで、サーバールームあるんだし、もうオンプレに戻そうかな?って思ってたんですよ。家だとArloなんですけど。あとやるとしたらコストコに売ってるこういうやつ?

www.costco.co.jp

こういうのって謎のアプリだけ対応してたりね。もう少しPCでちゃんと管理したい。そして出社頻度は減らしたいじゃないですか。クラウド管理できるけど保存はオンプレなやつないかな〜って思ってたら、見つけました。UniFi Protect。

ui.com

UniFi、あー誤家庭で聞いたことあるなって感じの知識しかなかったので、Interopで展示してた代理店のフォーバルカエルワークさんに、30分くらいむっちゃ質問してきました。

フォーバルカエルワークさんの実際のオフィスの映像見せてもらた

ガチオンプレでVPN接続すんのかな〜みたいなイメージだったんですが、いい感じにクラウドゲートウェイがやってくれるんですね。

ui.com Merakiと同じように、というか、Merakiの何倍もレスポンス早いな、って体験でした。Merakiの過去カメラ映像、辿るのむっちゃ遅いんですよ。UniFiはすごい早い。サクサク辿れる。

しかも安いんですよね。あ、ちなみに代理店と公式はそんなに価格変わりません。

これらを買いました。Merakiの本体年間ライセンスと同じくらいで買い切りじゃん。

ストレージは公式の計算機をもとに、16TBのHDD4台にしました。

16TBのHDDを4台買ったんで22万。痺れる
HDD1台5.5万で、法定点電で多分1台くらいは壊れるんで、多めに見積もって予算年10万くらいですかね?

最初は監視カメラだけ、って考えてたんですが、検証でDream Machine触って、あーUIも完成度良いな、好きだな、ってなっちゃいました。

丸くてかわよ

ということで、Wi-FiとSwitchも全部UniFiに統一しちゃいました。

圧巻だぜ
光るのかわいい
維持費かからないでこれってマジですごいな

安定性

某@ken_hikita=sanの評価だと故障したり安定性がないって話だったんですが、まあリモートワークの時代なんで、壊れたらその日は出社しないかテザリングでなんとかしろー、いざとなったらMerakiの機材をコールドスタンバイ*6にして、って感じで、えいってやっちゃいました。
2ヶ月運用してみて、実際、初期不良で交換が1回。でもその後は特にトラブルもなく、安定して運用できています。

もんだいなし!

あ、嘘。NTT側のインターネット回線がv6プラスだったんで、使えなくて1個死蔵してるわ。SSHで入ったらONにできるらしくて、誤家庭だったら絶対やってるけど、オフィス拠点はちょっとな〜って感じでやってないです。今はNuroだけで運用してるんですけど、みんなごめんね。せっかく10Gになったのに回線が1Gになってて。気付いた? 言ってないのでバレてないといいな*7。もう少ししたらプロパイダ変えてちゃんと外の出口も10Gに戻します。待っててね。

肝心のカメラ側もすごいスムーズ。録画データの保持、いまんところこの機材で完結していて、バックアップどうしようかな〜ってちょっと考えてます。クラウドにエクスポートする機能があるんですが、1時間単位だけなのでね〜。まあRAID5だしこれでいいのかも〜とは思ってるんですが。一応事件が起きたときには手動でGoogle Driveにエクスポートしてます。導入して2ヶ月なので、まだ2回くらいしか起きていない。

モザイクばっかでわからんと思うけど

それ以外に頑張ったもの

ほかにもPCI DSS v4.0対応を色々頑張っていたり、そうしたらPCI DSS v4.0.1が出ちゃってMFAの要件変わったやんけとか色々頑張っているのですが、もうこの記事だけで1.2万文字書いてるので、今回は軽く触れるだけにしようと思います。

電話でオフィスドアの遠隔操作

へーしゃのオフィスはセキュリティ区画のドアにアンチパスバックを導入していて、カードリーダーに正しくタッチしないと解錠できない仕組みになっています。
共連れ防止なのできちんと運用してほしいんですが、まあ人間なのでミスはありますよね。一応リモートで他の社員が緊急解錠できたり、本人もPCか携帯があれば解錠できるのですが、オフィスで最後の一人になったとき、他の部屋に端末を置きっぱなしにしていて閉じ込められてしまう、っていうことがありうるんですよね。
これ、オフィス設計のときに考慮できていれば、物理で緊急解錠ボタンをつけられたんですが、ちょっと自分の力不足で考慮できておらず。部屋にあるのは内線電話だけってことで、今回はこれを活用することにしました。

とここまで書いて、結構膨らみそうだったので、別の記事にしようかな。別の日のアドベントカレンダーもあるしな。

具体的にはAmazon Connect を使って、オフィスドアの遠隔操作を内線電話からできるようにしました。

フロー式で簡単に組めました。便利。

詳しくはまて次回。(書かないかもしれない)

オフィスドアの開閉ログをゴニョゴニョした

もう一個もオフィスドアネタなんですが、うちで導入してる入退室管理システムのiDoorsは、ドアの開閉時にWebHookが飛んできます。そのログをもとに色々とやってます。2024年に追加したのは2つかな?

idoors.jp

交通費精算を自動化した

いままでオフィスに出社した日を自己申告しないと交通費が出ないよっていう社内ルールだったのですが... まあ忘れますよね。

なんでみんなはできるのか
自分が困ってるので、勝手に機能を作って押し売りしました。機能と言ってもシンプルで、過去ログが見れたりCSVがもらえるだけなんですが。なんか好評です。
Web上で出社日が確認できます。10/06の休日出勤はUniFiを設置した日

月末に自動でCSVを送付

Slackで当日出社した人専用の板ができるようにした

去年、Slackにいまどの部屋にいるかを登録するような仕組みを作ったんですけど、これシュっとかわるので、オフィスの奥の方とかにいるとチームメンバーがいつ来たかわかんないんですよね。

プロフィール欄にオフィスの何処に居るか表示される

で、チームメンバーが出社したら通知するような機能をつくりたかったんですけど、毎回通知されてもうざいじゃないですか。なので、当日出社した人だけ通知が来ればいいかなーって思って、テストで作ってみました。

ランチぼっち民なので募集しようかなって思ってたんだけど、新橋のみこ食堂で食べてきてしまった図

新橋のみこ食堂、ウニがうまい。トリトンの次に好き

まだ作ったばっかなんで上手くワークしてるかって言われるとわかんないんですけど、苦情は来てないからまあいいか。自分は活用しようと思います! ランチだけじゃなくて夜飲みに誘ってみよっと。

来年に向けて・現在進行系のもの

来年に向けて、というか12月もまだあるので2024年中にやるかもしれないですが、今のタスクはこんな感じです。

Jamf Connect ZTNAをさっき契約したぞ

速報です。発注しました。ついさっき*8。13時01分。

www.jamf.com

へーしゃはもともとMacのユーザーログイン管理用にJamf Connect BASICを使っていたのですが、デバイストラスト文脈でいうと、Secure W2で証明書管理をしていました。
で、Jamfさんから、Secure W2をやめて上位プランのJamf Connect ZTNAに統一すれば、二重コストじゃなくなるよ〜。やすいよ〜。ってずっと言われてたんですが笑、まあぶっちゃけそこまで変わんないんですよね。年10万くらいかな。誤差ですね。

でもそれはそれとして、デバイス証明書の管理ってマジで茨の道で、iOSはWebViewとかChromeが対応してなかったり、AndroidはIntuneとSCEPが上手く動かなかったりってなってまして。年10万やすくなるし、MacはJamfのエコシステムに乗るのが正解だと思ってますので、2024年はまずMacで先行してJamf Connect ZTNAに乗り換えようかな、と思っています。Macはトライアルで上手く行ったのでなんとかなるかなーとは思ってますが。Windows, iPhone, Androidは次のSecure W2の更新までに間に合うかなぁ。頑張ります。

Chromebookを導入するぞ

パートナー企業さん向けにWindowsのPCを払い出しているのですが、WebブラウザしかつかわないのにEntra ID Joinのライセンス厳しいな...と思っており、Chrome Enterprise Upgradeで管理しようと思っています。スペックもChromebook Plusにして、極力迷惑がかからないように。こっちもトライアルでは上手く行ってるので、なる早で頑張ります。

SASEをやっぱり入れたいぞ

2023年も言ってたんですが、シャドーIT対策がまだまだでして。Cloudflareいれたいなあ。去年もチャレンジしたんですが、色々な外部要因で断念したんでした。たぶんJamf Connect ZTNAもこっちもWireguard使ってるよね?一緒にONできるんだろうか... Cloudflareさん教えて下さい。

www.cloudflare.com

ということで

書けないこともいっぱい! さっき2025年のクソデカタスク降ってきた! やばい! 課題山積みです!

もちろん会社も課題がいっぱいですが、@konifar=san曰く 「エンジニア採用も再開してアクセル再踏みスルゾ! Android / iOS / Serverside / Data のエンジニアを募集してます!最後にこちらのリンクを入れてほしいです!」 だそうなので、貼っておきます! Macの在庫補充しなきゃだ〜!
ということでチームメンバーはこの記事を見たら、Snipe-ITで在庫確認してTooさんに発注お願いします。
2025年も頑張るぞー!
わいわい。

【PR】 pitta.me 【PR】

*1:Tがチームだからチームチームになっちゃうけどなんか言っちゃうんだよね

*2:たぶん。しらんけど。

*3:ごめんなさい

*4:OneLoginは親会社がOne Identityになったりね。

*5:まあ現時点ではメルマガの発信元が変わったくらいだけど

*6:正しくは同じ構成のことをコールドスタンバイというのでこの場合はなんなんだ。予備機?

*7:社内レビュアーの皆様はここだけ記憶をなくすはず

*8:12/03現在