gcp에서 굳이 어렵게 http/https 접속을 한국 ip만 허용하기
오늘은 gcp에서 굳이 한국 ip만 허용해보도록 하겠습니다.
'굳이'인 이유는 보안상 의미가 없고 기분만 안심이 될 뿐이라는 의견도 있기 때문입니다.
'어렵게'인 이유는 gcp내부에서 해외ip 차단을 못 찾았기 때문에 귀찮은 작업을 수행하기 때문입니다. 더 쉬운 방법이 있으면 알려주시기 바랍니다.
참고로 저도 ip 관련 지식이 전무한 편이기에 틀린 내용이 있을 수 있으니 고수분들이 지적해주시면 바로 수정하겠습니다.
먼저 방화벽으로 가보겠습니다.
콘솔-vpc네트워크-방화벽
이동 후 보시면
default-allow-http/https가 있는데 IP범위가 0.0.0.0/0로, 모든 ip를 허용합니다.
일단 이 두 개를 정지시키겠습니다.(현재 제 그림에서 default-allow-https처럼 중지 기호가 있으면 중지된 것입니다.)
수정할 방화벽을 클릭해서 방화벽 규칙 세부정보로 들어와서
그리고 스크롤을 쭉 내려서 '규칙 사용 중지'를 클릭하시면
사용 중지 설정해줄 수 있습니다.
사용 중지하시고 저장.
반복작업으로 http, https에 적용해주시면
둘 다 중지가 됩니다.
새로운 규칙을 만들기 위해 '방화벽 규칙 만들기' 클릭
이름/설명/로그 설정은 마음대로
일치시 작업 : '허용'
대상 태그 : http-server, https-server
tcp : 80, 443
설정 후 소스 IPv4 범위에 국내 IP 목록들을 넣어주면 됩니다.
이제 ip를 허용하기에 앞서 한국ip 대역을 찾아봅시다.
구글검색창에 '한국 ip대역' 검색해보시면
'국가별 IP주소 대역별 현황 - 한국인터넷정보센터(KRNIC)'란 곳이 나옵니다.(링크)
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/statboard/IPAS/ovrse/natal/IPaddrBandCurrent.jsp?nationCode1=KR
여기서
국가선택 : 대한민국 → 조회 누르시고
엑셀을 다운로드해줍니다. 그리고 여시면
보기만 해도 어지러운 표가 나옵니다.
여기서부턴 저도 확신이 없고 1시간정도 인터넷 찾아본 지식으로 해결하는 것이니 전문가분들의 지적 바랍니다.
전 일단 할당일자 순으로 정렬 후 gcp 허용 ip에 바로 붙여 넣을 수있도록 작업했습니다. (첨부파일 참고)
자동 채우기로 쭉 데이터를 입력한 다음 처음부터 250개를 선택합니다. (하필 250개인 이유는 나중에 나옵니다.)
그대로 복사 후 gcp 허용 IPv4 범위에 붙여넣습니다.
이런 식으로 나오면 성공입니다. 여기서 '만들기'를 눌러줍니다.
근데 여기서 욕심 부리고 ip를 더 넣고 저장을 누르면 구글 형님이 256개만 넣으라고 땡깡 부리십니다.
구글 형님이 그렇다면 그런 겁니다...
이제 대한민국 ip목록을 차례차례로 250개씩 넣어주시면 됩니다.
완성...
같은 원리로 22번 포트만 해주시면 한국 ip만 허용하는 ssh/sftp가 됩니다.
같은 원리로 80번만 허용하면 http만, 443번만 허용하면 https만 허용됩니다.
지적은 언제나 환영합니다.
그럼 20000
추가로 bing, google 검색엔진에만 잘 긁히도록 셋팅하면
외부 침해사고나 트래픽적으로 매우 효율적이겠네요 ㅎㅎ
외국에서는 한국 VPN 써서 들어온다고...
우리도 외국 VPN 써서 들어가잖아요 ㅎㅎ;;
VPN 변팔 결제..
힣... 그렇긴하죠.. 어떻게든 뚫고들어오는..
나스에다가 저렇게 대역대 넣어두디 확실히 줄어들기는 하더라고요..
기본 포트들은 다 막아 두고요... 또는 내부에서만 접속 가능하도록... ㅎㅎ
보안이 최고죠!
뼈저리게 몸소 느끼고 있습니다.
보안과 더불어 백업... ㅠ
국가대역 아이피는 바뀌는 부분이 있으니 리눅스 서버라면 서버 내부 iptables 에다가 xtable 연동시켜 사용하는것도 한번 봐보셔요~
cmt alert