나는 서버를 온프레미스로 운영하는데, 실제 아이피 주소를 혹시 모를일에 대비해서 감추는 설정을 했다.
홈서버이기 때문에 게임서버나 웹서버 db서버 아니면 어떠한 내 인터넷 활동이든 내 외부 아이피 주소가 상대에게 남을것이고, 누군가는 궁금해서 주소창에 입력할수도 있기때문에 보안상 내 외부아이피주소로 오면 웹서버를 운영안하는 척 위장하기로 했다.
기존의 서버 블록에 default_server가 있어서 아래와 같이 리턴 444하는 코드블록을 ai와 대화해서 알아냈고 적용했다.
엔진엑스는 그리 익숙치 않아서(웹을 두대 돌리고 있지만) 적용하는데 시행착오가 많았다.
server { listen 80 default_server; listen [::]:80 default_server; server_name ???.???.???.???; # IP 주소로 직접 접속하는 경우 return 444; } server { listen 443 ssl default_server; listen [::]:443 ssl default_server; server_name ???.???.???.???; # IP 주소로 직접 접속하는 경우 ssl_certificate /etc/nginx/ssl/fullchain.pem; # SSL 인증서 경로 ssl_certificate_key /etc/nginx/ssl/privkey.pem; # SSL 키 경로 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; # SSL 암호화 설정 return 444; }
ssl옵션은 알아서 상황에 맞게 적용하면 된다 . 물음표가 실제 본인 서버의 외부 아이피 주소이다.
실제로 접속을 해보면 없는 사이트처럼 보인다.
이번엔 엔진엑스의 로그를 살펴보자.
192.168.219.1 - - [10/Feb/2025:14:03:06 +0900] "GET / HTTP/1.1" 444 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0" 192.168.219.1 - - [10/Feb/2025:14:03:07 +0900] "GET / HTTP/1.1" 444 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0"
444을 받는 모습을 볼수 있다.