0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

kurbernetesで本番環境構築を目指す - ネットワークセキュリティ編 -

Last updated at Posted at 2019-01-27

はじめに

docker+kubernetesでwebアプリケーションが動く環境がとりあえず構築したのはいいけれども、ネットワーク的に安全なのか不明だったので調査しました。

システム構成

システム構成はこんな感じです。
image.png

1. IPアドレスとポート開放状況

外部から接続可能なIPアドレスとどのポートが解放されているか調べます。

1.1 結果

  • 外部公開されているIPは4つでした。

    • ingress : webサーバー手前の負荷分散
    • kubernetes関連API : kubernetesを動作するのに必要なもの
    • node A : node1つ目
    • node B : node2つ目
  • 外部公開されているTCPポートもおおむね期待値通りだが、ingressが不要なポートを開放しすぎています。(443だけでいいのに。)
    image.png

  • serviceとpodはそれぞれ直接通信できないし、ingressへのhttp通信はどうやってpodにアクセスしているのかよくわかりませんでした。

  • nodeについてはsshの対策はする必要があるものの、直接は攻撃できなさそうです。

  • dockerやkubernetes経由で攻撃されるところを防ぐ必要が大いにありそうです。

1.2 調査方法

ping, route, ifconfig, nmapを駆使して調べました。

ping

$ ping 10.146.0.4
10.146.0.4 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。```

nmap

$ nmap -P0 34.85.112.**
Not shown: 998 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
3389/tcp closed ms-term-serv```

ifconfig

Node A ~ $ ifconfig
cbr0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1460
    inet 10.52.1.1  netmask 255.255.255.0  broadcast 0.0.0.0
    ・・・
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    inet 169.254.123.1  netmask 255.255.255.0  broadcast 0.0.0.0
    ・・・
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1460
    inet 10.146.0.4  netmask 255.255.255.255  broadcast 10.146.0.4
    ・・・
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    ・・・

2. 対策

思ったよりも外からアクセスできる状態になっていなかったので、特にありません。pod間通信を制御しようと思ったらNetwork Policyを使ってやるみたいだけど、今はやらないでおきます。
本当に本番環境作ろうと思ったら、手前にwafとかips・idsとか入れないとだめなんでしょうね。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?