LoginSignup
15
17

More than 5 years have passed since last update.

EC2 S3 Apache IP制限

Last updated at Posted at 2015-09-10

目的

EC2, S3にIP制限をかけたい。

構成

LB => EC2 => S3

設定方法

EC2 Server

[admin /etc/httpd/conf]$ vi /etc/httpd/conf/httpd.conf
httpd.conf
<VirtualHost *:80>
  DocumentRoot "/var/www/html/********"
  Options FollowSymLinks
  ServerName ********
  RewriteEngine on
  <Directory "/var/www/html/********">
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    SetEnvIf X-Forwarded-For "***\.***\.***\.***" allow_ip
    SetEnvIf User-Agent "ELB-HealthChecker/1\.0" allow_ip
    Deny from all
    Allow from env=allow_ip
  </Directory>
・
・
・

・ Options FollowSymLinks : シンボリックリンク
・ AllowOverride None : 設定上書きを不許可
・ Order deny,allow : 全てのホストからのアクセスを許可する。
・ SetEnvIf X-Forwarded-For 許可IPアドレス
・ SetEnvIf User-Agent 許可エージェント
・ Deny from all : 全てのアクセスを拒否
・ Allow from env=allow_ip : 指定IPアドレスを許可

S3 バケットポリシー

{
    "Version": "2012-10-17",
    "Id": "******任意*****",
    "Statement": [
        {
            "Sid": "******任意*****",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*****FilePath******",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "0.0.0.0/0"
                },
                "NotIpAddress": {
                    "aws:SourceIp": "*******許可IPアドレス******"
                }
            }
        }
    ]
}

・Id: ポリシーのIDを指定。(任意の英数字を入力)APIユーザー内で重複不可。
・Statement:ポリシーの主要素。必須。下記の複数の要素を持つ。
・Sid : StatementID(任意の英数字を入力)APIユーザー内で重複不可。
・Action: 適用する作業内容を記述する。
・Effect: Allow … 指定した内容に対しアクセスを許可する。
Deny … 指定した内容に対しアクセスを拒否する。
・Resource: arn:aws:s3:::/* を記述する。
・Condition: ポリシーの条件を指定します。
・IpAddress … 指定したIPアドレスがEffectの範囲対象となる。
・NotIpAddress … 指定したIPアドレスがEffectの範囲外となる。
・aws:SourceIp(IPアドレスの制御)
・aws:SecureTransport(SSL利用許可/拒否の制御値は“true”/“false”で指定)
・Principal:アドレスを許可するユーザーやアカウントを記述する。

結果

上記設定によって、IP制限をかけられる。

15
17
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
15
17