「またSaaSが止まった」原因はサーバーじゃなく、社長のクレカ紛失とGit誤爆だった

Web関連

Web制作やシステム開発の現場において、「システムダウン」は最大の恐怖です。 サーバー障害、外部攻撃、バグ……原因は様々ですが、私がいた会社(※後に倒産)では、もっと斜め上の理由で頻繁にシステムが止まっていました。

【制作会社は必読】ものづくり補助金で黒字倒産した実例|月10万円で90%開発の地獄
「3,000万円の業務システム案件が決まった!」と喜んだ3年後、会社は黒字のまま倒産しました。原因はものづくり補助金特有の「魔のキャッシュフロー」と「月10万円で残り90%を作る地獄」。Web制作会社を殺す構造的欠陥と、経営者が知るべき防衛策を実体験ベースで公開。【実録】

技術的な知識はあるはずなのに(元SE)、セキュリティと管理能力が致命的に欠落していた「社長自身」が引き起こした、笑えないインフラトラブルの実録です。


スポンサーリンク

突然のサービス停止。原因は「AWSの障害」ではなく…

ある日の朝、出社すると社内が騒然としていました。開発中のWebサイトが表示されない。社内チャットツール(Slack等)の有料機能が使えない。サーバー管理ツールにもログインできない。

「AWSの大規模障害か!?」

エンジニアチームが血相を変えて障害情報を確認しましたが、AWSは正常稼働しています。原因を突き止めようと管理画面(請求情報)を見に行くと、そこには非情なメッセージが表示されていました。

「お支払いが確認できないため、サービスを停止しました」


「あ、ごめん。またカードなくしちゃって止めてたわ(笑)」

慌てて原因を調べ始めましたが、社長からの説明は一切なし。現場に降りてきた情報はただ一言、「カードの更新をしました」だけでした。

当然、エンジニア側は納得できません。「あのカードはどうなっているんですか?」と経理に何度も問い詰めることになりました。めんどくさくなったのか、ある時ついに経理が白状しました。

「……実は社長、カードなくしちゃってたみたいで。みんなには黙っておいてって言われてたんですけど」

耳を疑いました。社長は経理にだけこっそり「みんなに黙っておいてほしいんですが、なくしてしまったんですよ〜」と打ち明けていたのです。現場のエンジニアには知らされないまま、サービスは止まり、原因不明のまま右往左往させられていた。

しかも、SaaSやインフラの支払い管理がそもそもカオスでした。なぜかサービスによって社長の個人カードで払っているものと、会社の法人カードで払っているものが混在していて、どのサービスがどのカードで動いているか、現場は誰も把握できていない状態です。そのカードが止まった時点で自動引き落としは失敗し、督促メールも誰にも共有されていません。結果、「未払い」による強制停止。

しかもこれが「初めて」ではありませんでした。

彼は年に数回、財布やカードを紛失する癖があり、そのたびに開発現場は「AWSが止まる」「Adobeが使えない」という兵糧攻めに遭いました。そして毎回、現場には「カードの更新をしました」の一言しか届かない。

【教訓】インフラの支払いを「社長の財布」に依存させるな

会社の心臓部であるサーバー代やドメイン代は、個人の管理能力に依存しない「法人カード(コーポレートカード)」かつ「経理担当が管理するカード」で一元管理すべきです。個人カードと法人カードが混在している状態では、止まった時にどのカードが原因かすら即座にわかりません。

そして何より、トラブルが起きた際に現場に情報が降りてこない組織は、同じ失敗を何度でも繰り返します。社長が酔っ払ってカードをなくし、経理が隠し、現場が右往左往する——これは笑い話ではなく、組織の構造的な欠陥です。


深夜の緊急アラート。原因は「不正アクセス」ではなく…

また別の日、セキュリティ監視システムから緊急アラートが鳴り響きました。「APIキーの漏洩リスクを検知しました」

APIキーとは、外部サービス(Google Mapsや決済システムなど)をプログラムから呼び出すための「認証情報(合鍵のようなもの)」です。これが流出すれば、悪意ある第三者にシステムを乗っ取られたり、高額なクラウドリソースを勝手に使われたりします。実際に、APIキー流出による数百万円超の不正請求事例は国内外で複数報告されています。

エンジニアが顔面蒼白でGitの履歴を確認しました。Gitとはプログラムのバージョンを管理するツールで、GitHubなどで公開設定になっている場合は全世界に内容が公開されます。

犯人はすぐに判明しました。

Committed by: ◯◯◯(社長の名前)
Commit Message: "修正"

社長自身がプログラムを修正した際、絶対に公開してはいけない「APIシークレットキー」をそのままコードに書いて、Gitにアップロードしていたのです。


元SEとは思えない「セキュリティ意識の欠如」

社長は元SEでした。本来であれば、APIキーを環境変数(.envファイル)に分離して管理するなど、初歩的なセキュリティ対処は知っているはずです。

しかし彼は、「面倒くさいから」という理由でハードコーディング(コードへの直接書き込み)を選んでいました。

エンジニア:「社長! キーが漏れてます! 今すぐ無効化して再発行しないと、クラウド破産しますよ!!」 社長:「えー? マジ? めんどくさいなー。誰にも見つからないっしょ?」

エンジニアは激怒し、社長からコード修正権限(Write権限)を剥奪しました。発見が遅れていたら、その時点で会社は終わっていたかもしれません。

【コラム】クライアント目線:その会社、セキュリティ大丈夫?

発注者の方へ。制作会社のセキュリティレベルを見抜くのは難しいものです。ただ、「社長の管理能力」は一つの指標になります。

打ち合わせに遅刻してくる。持ち物(PCやスマホ)の扱いが雑。重要なメールのレスポンスが極端に遅い。

「物理的な管理ができない人間は、デジタルの管理もできない」は定説です。ルーズな経営者がいる会社は、いつかあなたの顧客データを漏洩させる「時限爆弾」になるかもしれません。

てるる
てるる

実際、筆者の前職の社長は自分自身から「メールは見ない」と謎の発言をし、クライアントにもメールではなく、自身が活用しているというチャットワークを使用するようにと、クライアントにも関わらず、そのようにさせていました。が、結局はそのチャットワークも見ないという・・・。


会社を壊すのは「ハッカー」ではなく「身内の不注意」

この経験から痛感したのは、「最大のリスク要因は、無能な経営者のヒューマンエラーである」という現実です。

  • SaaSの停止理由が「未払い」だったら、その会社は終わっている
  • 個人カードと法人カードを混在させた支払い管理は、それ自体がリスク
  • GitにAPIシークレットキーをコミットするエンジニア(社長)からは、即座に権限を剥奪せよ
  • セキュリティ事故は技術力の不足ではなく、「注意力の不足」から起きる

もしあなたの会社でAWSやSlackが頻繁に止まるようなら、一度疑ってみてください。それはシステム障害ではなく、「社長がまたカードをなくしたから」かもしれません。

コメント

タイトルとURLをコピーしました