Macbookのローカル環境で nginx-proxy のコンテナを動かしていたところ、外部のIPから攻撃を受けたようなログが記録されました。
20200820 追記ここから >>>>>
dameo様の質問を見てふと調べてみたのですが、
どうも xxx.yyy.zzz.180
はローカルネットワークが使用しているデフォルトゲートウェイに割り当てられたIPアドレスのようでした。
bash
1$ curl ifconfig.io 2xxx.yyy.zzz.180
ブラウザにIPを直打ちすると該当のログと同様のログが記録されます。
NginxAccessLog
1nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.26.0.1 - - [20/Aug/2020:08:28:35 +0000] "GET / HTTP/1.1" 503 599 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36" 2nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.26.0.1 - - [20/Aug/2020:08:28:35 +0000] "GET /favicon.ico HTTP/1.1" 503 599 "http://xxx.yyy.zzz.180/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36"
スマートフォンのモバイルネットワーク経由アクセスしても同様にログが出力されるので、どうもIP直打ちすると外部ネットワークからローカルネットワーク内のウェブサーバにアクセスできてしまう状態のようです。
自宅WiFiのルーターはこのような挙動が一般的なのでしょうか?
<<<<< 20200820 追記ここまで
NginxAccessLog
1nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:06 +0000] "GET /TP/public/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 2nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:07 +0000] "GET /TP/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 3nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:07 +0000] "GET /thinkphp/html/public/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 4nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:07 +0000] "GET /html/public/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 5nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:07 +0000] "GET /public/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 6nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:08 +0000] "GET /TP/html/public/index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 7nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:09 +0000] "GET /elrekt.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 8nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:09 +0000] "GET /index.php HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)" 9nginx-proxy | nginx.1 | xxx.yyy.zzz.180 172.19.0.1 - - [18/Aug/2020:02:21:11 +0000] "GET / HTTP/1.1" 503 197 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
該当のDockerコンテナは開発用に動作させており、Macbookのブラウザから http://localhost
で接続することを想定しております。(外部からのアクセスを想定していません。)
いままでローカル環境は安全だと思っていたのですが、このような攻撃を受けた場合どのような対策を行えば良いでしょうか。
バックドアのようなものがローカルネットワーク内に既に存在しているのか、もしくはゲートウェイの設定に不足があるのかなど、調べてみたのですが判断できませんでした。
- 使用デバイス: MacOS Catalina v10.15.5
- docker desktop community: v2.3.0.4 (46911)
DockerComposeYml
1version: "3.7" 2 3services: 4 admin-app-server: 5 image: "nginx:1.18" 6 container_name: "admin-app-server" 7 env_file: 8 - ".env" 9 volumes: 10 - "./nginx/nginx.conf:/etc/nginx/nginx.conf" 11 - "./nginx/conf.d:/etc/nginx/conf.d" 12 - "./nginx/certs:/etc/nginx/certs" 13 - "./app:/usr/share/nginx/html" 14 networks: 15 reverse-proxy-network: 16 17 nginx-proxy: 18 image: "jwilder/nginx-proxy" 19 container_name: "nginx-proxy" 20 ports: 21 - "80:80" 22 volumes: 23 - "/var/run/docker.sock:/tmp/docker.sock:ro" 24 networks: 25 reverse-proxy-network: 26 27networks: 28 reverse-proxy-network:
20200820 追記ここから >>>>>
該当ログを出力しているNginxの設定ファイルです。
NginxConf
1user nginx; 2worker_processes auto; 3 4error_log /var/log/nginx/error.log warn; 5pid /var/run/nginx.pid; 6 7 8events { 9 worker_connections 1024; 10} 11 12 13http { 14 include /etc/nginx/mime.types; 15 default_type application/octet-stream; 16 17 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 18 '$status $body_bytes_sent "$http_referer" ' 19 '"$http_user_agent" "$http_x_forwarded_for"'; 20 21 access_log /var/log/nginx/access.log main; 22 23 sendfile on; 24 #tcp_nopush on; 25 26 keepalive_timeout 65; 27 28 #gzip on; 29 30 include /etc/nginx/conf.d/*.conf; 31} 32daemon off;
<<<<< 20200820 追記ここまで
回答3件
あなたの回答
tips
プレビュー