質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.77%

VPSでのIP制限はどう行えばよいか

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 951

funmas

score 28

前提・実現したいこと

1つのAmazon Lightsailで複数の社内向けサービスを公開しているが、
すべてのサービスを社外のIPからアクセスをできないようにしたい。

現状

現在、Lightsail内には、複数のDockerコンテナが立ち上がっており、
IP+ポート番号で各種サービスにアクセスできる作りになっています。

http://hogehoge:55555/  サービスA
http://hogehoge:55556/  サービスB
http://hogehoge:55557/  サービスC

各サービスごとにDocker-composeが存在し、
また、それぞれのDocker-composeにnginxが入っています。
IP制限に関しては、すべてnginxで行っています。

# nginx.conf
(略)
# IP制限
# 会社のアドレス
allow 11.22.33.44; 
allow 11.22.33.55; 
deny all;
(略)

すべてのサービスのnginxに上記コードを実装しています。

問題

上記の設定で、各コンテナに対し、
指定したIP以外での接続はできないことを確認しましたが、
nginxのaccess_logなどを確認すると、
日々、海外などから複数のアクセスが確認されています。

nginxのIP制限で弾いている、サービス自体にアクセスは行えていないと信じたいですが、
これを不安に思い、AmazonのWAFの導入を考えてましたが、
WAFは公開されているユーザに対して、悪意ある行動を制限するもののように感じましたので、
そもそもIP制限外のユーザ対象に用意すべきサービスではないのかと迷っています。

結果気になっているポイント

①nginxのIP制限でもセキュリティ上の懸念は無いか
②全サービス制限IPは同じなので、nginxではなくiptablesでIP制限を行ったほうがよいか
③この社内向けVPSでWAFは導入するメリットがあるのか

一般的なサーバ構築やセキュリティのレベルがわからず、
どの程度の実装まで行えば安全なのかもわからない状態です。

補足情報

VPS:AmazonLightsail
OS:ubuntu 18.04.1 LTS
ポート:Lightsailはサービスの数だけポート開放しています

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • maisumakun

    2019/09/06 11:06

    もっと上位ではなく、nginxでIP制限をかけている理由はなにかありますか?

    キャンセル

  • funmas

    2019/09/06 11:19

    サービスごとにIPを切り分けているわけではないので特にはありません
    安全にIPを制限できれば使用するものは何でも良い形です、今回は学習の過程でnginxを選定する運びになりましたが、iptablesのほうがいいのではと感じています

    キャンセル

回答 2

checkベストアンサー

+2

①nginxのIP制限でもセキュリティ上の懸念は無いか

設定が正しくされているという前提であれば、nginx自体の脆弱性を突かれなければ問題が無いと思われます。

②全サービス制限IPは同じなので、nginxではなくiptablesでIP制限を行ったほうがよいか

nginxよりはiptables等で行った方が良いケースに思います。
理由としては

  • 不要なトラフィックをdockerにたどり着くまでに遮断できる
  • 仕組み上、nginxで制御するより負荷が低くなる
  • (多分)nginxよりはiptablesの方が致命的な脆弱性が発見される可能性は低いはず

あたりでしょうか。

③この社内向けVPSでWAFは導入するメリットがあるのか

社内IPからのアクセスで悪意の持ったアクセスが存在する可能性があると想定するのであればメリットはあると思われます。
ただ、後からWAFを導入する場合は誤検知による機能障害の発生とその調整コストは発生するので、そのあたりのバランスを考えて導入を検討するしかありません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/09/06 11:50

    「社内IPからのアクセスで悪意の持ったアクセス」には2種類るので運用耐えれるのなら入れておいたほうがいいでしょうね。
    ・悪意を持った人が行う悪意のあるアクセス
    ・アクセス元PCがマルウェアやウイルスに感染した結果による悪意のあるアクセス

    キャンセル

  • 2019/09/06 12:12

    >tanat様
    回答ありがとうございます!
    ①nginx自体の脆弱性がない限りという点、安心しました。
    ②お教えいただいた内容から、現状の運用だとnginxでIP制限を行うメリットが見当たらなさそうなのでiptablesに移行したいと思います。
    ③現状社内IPからは想定していませんでした。運用コストのほうが大きそうなので、もう一度考えてみたいと思います。

    >Y.H様
    社内PCが感染してサーバに影響及ぼす可能性、確かに考慮外でした。
    その点も踏まえてWAF導入の是非を考えてみたいと思います。

    お二方、ご回答いただきありがとうございました。

    キャンセル

  • 2019/09/06 13:25

    > Y.H.さん
    補足ありがとうございます。
    他だと標的型攻撃等に依る意図しない攻撃なんかも考えられますね。

    > funmasさん

    LightSailについての質問だったので回答には含めていませんでしたが、
    可能であればLightSailからEC2に移行して、
    セキュリティグループで対応するともっと楽で安全(というか、AWSが管理してくれる)になると思いますので、検討されてみても良いかなと思います。

    キャンセル

+1

nginxのaccess_logなどを確認すると、
日々、海外などから複数のアクセスが確認されています。

ログに記録されている「httpステータス」を確認し
アクセス許可していないIPアドレスからのアクセスで、200,3xx系,5xx系のものが返っているログがあれば問題ですが、4xx系のステータスが返っていれば問題ないのでは?

nginxが「xxx.xxx.xxx.xxxのIPアドレスからアクセスがあったけど、きちんとはじいたよ!」
という証跡を残しているログなので。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/09/06 12:08

    回答ありがとうございます!
    nginxのステータスでは4xx系で問題ないようでした。
    現状の運用でも目立った問題ないことがわかり、ひとまず安心している次第です。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.77%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る