본문 바로가기
Cloud/Oracle Cloud

Oracle Cloud 방화벽 설정 (http/https 특정 포트 열기)

by Kibua20 2020. 9. 4.
728x170

오라클 클라우드에서 VM Instance를 Web server에 활용하기 위해서는 http/https 포트를 개방해야 합니다.  또는 네트워크를 사용하는 애플리케이션에 따라서 특정 포트를 허용해야 합니다. 

 

오라클 클라우드에서 VM Instance를 생성하면 기본적으로 아래와 같은 보안 정책이 적용되어 있습니다.   송신 (Out bound)는 모든 포트가 열려 있고,  수신(In bound) 정책은 SSH포트와 ICMP포트만 허용하고 있고  그 외 HTTP, HTTPS, RDP, SMTP 등의 다른 포트는 막혀 있습니다. 

Oracle Cloud의 기본 보안 정잭 (Inbound 정책)

오라클 클라우드에서 특정 포트를 허용하기 위해서는 아래와 같은 단계가 필요합니다. 

  1. VNC에서 보안 정책 설정 변경 (VM Instance 메뉴의 Subnet 항목 또는 네트워킹 > 가상 네트워킹 클라우드) - Subnet의 방화벽을 개방
  2. VM Instance에서 방화벽 설정 변경 - VM Instance의 방화벽 개방

1. VNC에서 보안 정책 설정 변경

​오라클 클아우드 로그인 상태에서 "컴퓨터" > "인스턴트" 메뉴를 선택하고 인스턴스 세부 내용에서 ① 서브넷을 선택합니다. 

VM Instance의 Subnet 의 보안 정책 변경

서브 넷을 선택하면  네트워킹 > 가상 클라우드 네트워크 화면으로 이동됩니다.

② 공용 서브넷 세부 항목에서 보안 목록을 선택합니다. 

③ 보안 목록에서 "송신(out bound)"과 "수신 (inbound)" 메뉴 중에서 "수신" 메뉴를 선택해서 보안 규칙을 추가합니다. 

 

VM Instance의 Subject의 보안 정책 적용

④ 수신 규칙 메뉴에서 세부 항목을 추가합니다. 

    - 수신 주소 선택 0.0.0.0/0 (모든 IP)를 입력

⑤ 허용하고자 하는 대상 포트를 입력합니다.

   - HTTP는 80, HTTPS 443 포트를 입력합니다.   4321 포트는 개발 중인 프로그램에서 사용하는 포트입니다.  여러 포트 입력 시 공백 없이 입력해야 합니다. 

⑥ 수신규칙 추가를 선택합니다. 

VM Subnet의 보안 적용 추가

300x250

 

2. VM Instance에서 방화벽을 설정 변경

VM Instance를 SSH로 원격 접속하고 iptables의 규칙을 수정합니다. 

 

$ sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

$ sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

$ sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 4321 -m state --state NEW,ESTABLISHED -j ACCEPT

 

* ens3 이름은 ifconfig로 확인 가능하여 network device 이름입니다. 

VM 에서 iptable 보안 정책 변경

 

sudo iptables --list 명령어로 적용된 보안 정책을 확인합니다.

$ sudo iptables --list

sudo iptables --list  로 적용된 보안 정책 확인

 

재부팅 후에도 방화벽 정책 유지 

우분투 20.04에서는 iptables 명령어를 실행 후 방화벽을 재 실행하거나 재부팅하면 보안 정책이 적용되지 않습니다.  방화벽 정책을 재 부팅 시에도 유지하기 위해서는 iptables-persistent (또는 netfilter-persisten) 패키지를 설치하고 netfilter-persistent save​​ 명령어로 보안 정책을 저장을 해야 합니다. 

 

패키지 설치

$ sudo apt-get install iptables-persistent  (or netfilter-persistent​​)

 방화벽 정책을 저장

$ netfilter-persistent save​

방화벽 정책을  다시 로드

$ netfilter-persistent start

 

관련 글

[개발환경/Oracle Cloud] - 오라클 클라우드 '항상' 무료 만들기 (Google Cloud 무료 조건 비교)

[개발환경/Oracle Cloud] - Oracle Cloud 블록 스토리지 추가 방법 (HDD 추가 가이드)

[개발환경/Oracle Cloud] - Oracle Cloud 고정 IP (공인 IP) 할당하기

[개발환경/Oracle Cloud] - Oracle Cloud 방화벽 설정 (http/https 특정 포트 열기)

[개발환경/Oracle Cloud] - Oracle Cloud SSH Key 여러 개 등록하기 (여러 PC에서 Cloud Access)

[개발환경/Google Cloud Platform] - Google Cloud Platform을 활용하여 평생 '무료' PC 만들기

[개발환경/Google Cloud Platform] - GCP(Google Cloud) 방화벽 설정: 프로토콜과 포트를 사용 허용 또는 거부하기

[개발환경/Google Cloud Platform] - GCP(Google Cloud) 하드 디스크 추가하기 (영구 디스크는 30GB까지 무료)

[개발환경/Google Cloud Platform] - GCP(Google Cloud) 원격 데스크 톱(RDP) 연결: Linux 용 Chrome RDP

[개발환경/Google Cloud Platform] - GCP(Google Cloud) 로컬 PC에서 VM에 로그인 없이 바로 SSH로 바로 접속: 다른 SSH 클라이언트 사용 및 SSH Key 등록

그리드형



댓글7

  • 안녕하세요 :) 저도 구독하고 갈게요!
    답글

  • 감사합니다 2021.08.19 05:09

    포트 연결이 안돼서 이것저것 검색했는데 방화벽 설정하는 명령어로 해결했어요 감사합니다
    답글

  • 감자 2021.10.23 19:23

    안녕하세요. 따라하다가 막히는 부분이 있어서 질문드립니다. 혹시 저렇게 대상 포트 범위를 80,443,8000으로 하면 80,443,8000이 8000으로 포트포워딩 되는 것인가요??
    답글

  • 김진호 2021.11.20 12:24

    너무 어렵네요 .. 항상 이용하던 사이트가 안열리는데 http:// 거든요 방법이 없을까요 ㅠㅠ 미치겠어요 ..
    휴대폰 연결하고 소프트웨어 업글하고나서 폰초기화 하고나서부터 안열리고 컴퓨터에서도 안열리네요
    다른사람에게 물어보니 다른사람들은 잘만 열리고요 주소를 줬더니 ..
    01086683915 카톡:k1191919 혹시 도움좀 받을수 있을까요 ㅜㅜㅠ
    답글