株式会社AbemaTV / 開発事業本部
Discover companies you will love
株式会社AbemaTV / 開発事業本部
【自己紹介】 株式会社サイバーエージェントに22新卒として入社しAbemaTV株式会社にBackendエンジニアとして参画。 Go×GKEの大規模マイクロサービスの開発環境において主に新規サービス開発、リアーキテクチャ業務を担当。
プロダクトの成長に貢献し大きな利益を生み出せるPdMになる
株式会社サイバーエージェントにバックエンドエンジニアとして内定承諾後、内定者バイトを4つの会社で合計6ヶ月間、Golangを用いた新規、保守開発プロジェクトにてWebアプリケーション開発を経験しました。 その後株式会社サイバーエージェントに22新卒として入社しAbemaTV株式会社のProduct Ba
<概要> ・分散環境に対応したGlobalなAPI Rate Limitのmicroservice, middleware構築を行い、セキュリティの向上を行う ・Cloud Logging・Grafana・BigQueryを活用したリクエストログのMonitoringやAlert, 分析基盤を構築し閾値の調整やメンテナンス、攻撃者の特定を可能にし安全で良い効率的な運用を行えるようにする <業務内容> ・システムの要件定義 ・技術選定や設計方針の選択肢・メリデメの検討 ・GoによるバックエンドのRate Limit Middlewareの実装・テスト・動作確認やQA ・負荷試験による性能評価 ・Cloud Logging, Grafana, BigQueryを活用したリクエストログのMonitoringやAlert, 分析基盤の構築 ・閾値の設定方法などのポリシー策定や利用者のためのRunbook, READMEなどドキュメント作成 <取り組み> ・ABEMAにおけるシステムの要件定義を行い、その要件にあった技術選定を行った。自作、Cloud Armor、CloudFlareなど複数選択肢のメリデメを検討し一番機能要件や非機能要件に合致したenvoy/ratelimitを活用して実装することを意思決定した。 <これからやること> ・READMEやソースコードから仕様や利用するにあたってのベストプラクティスを理解し実装を行う。 ・K6を使って負荷試験を行い1Podあたりの性能限界や線形にスケールするかを調査したりProfilerやTraceなどを活用したボトルネック除去によるパフォーマンスチューニングを行う ・PreviewMode(ログは出力するがエラーは返さないで処理を行う)をMiddlewareに実装し初回導入時などに発生する閾値の設定ミスによる障害を最小限にする。 ・検知したリクエストログをBigQueryでPoolしGrafanaを使い可視化を行い分析やモニタリングを行えるようにしたり検知時にslack通知を行い悪意のあるユーザーを特定しIPやUserIDなどでBANできるようにする ・エンドポイントのRPSなどの値を元にRateLimitの閾値を設定するポリシーや手順を整備し事故なく安全に適切なRateLimitの閾値の調整を行えるようにする。
<概要> Cloud Armor Enterprise を活用した WAFルールや脅威インテリジェンス、AdaptiveProtectionの導入しOWASP Top10や脅威IP、L7 DDoS攻撃から365日リアルタイムで防御体制を確立しセキュリティインシデントから保護しシステムの安全性と安定性を向上させるプロジェクト。 <取り組み> ・WAFルールや脅威インテリジェンスには偽陽性があり正常なリクエストも遮断してしまう恐れがあるためPreviewModeを活用しリクエストログを元にして選定を行ってから本番適用を行った。 ・AdaptiveProtectionのAutoDeploymentには複数かつ挙動が不明な閾値がありGoogleにケースを投げたり検証環境で擬似攻撃を行い挙動のテストや仕様の確認を行った。 ・本番・開発環境に影響を与えないようにmockoonを使用してモックサーバーを構築し独自のIngressを開発環境に擬似攻撃を伴うPOCを行う検証環境を作成した。 ・動作検証や効果測定・分析や偽陽性の判定のためにCloudLoggingに流れるLBのログをLogSinkを使ってBigQueryにPoolし、そちらをソースにGrafanaで可視化を行なった。 ・security policyの設定がかなり複雑化してしまいメンテナンス性が損なわれるのを防ぐためterraform moduleを活用し利用者が簡単にベストプラクティスに従ってWAFルールや脅威インテリジェンス、AdaptiveProtection AutoDeploymentを導入できるようにモジュール化を行った。 ・偽陽性による障害に対しての対策手順やSecurity Policyの導入時の利用方法やベストプラクティスをドキュメントにまとめ、メンテナンスによるキャッチアップを簡易化した。 <実績> ・OWASP Top 10に対する包括的な防御体制の確立 ・セキュリティポリシーのモジュール化による設定ミスの削減と標準化の実現 ・L7 DDoS攻撃による可用性や信頼性の低下を防ぎリアルタイムな攻撃検知と自動防御による24時間365日の保護体制の実現 ・BigQueryとGrafanaを活用した可視化により、セキュリティインシデントの調査の効率化