Oracle Cloud 방화벽 설정(Ubuntu 22.04)
Oracle Cloud 방화벽 설정(Ubuntu 22.04)
오라클 클라우드에서 외부에서 접속하려면 2번 방화벽을 설정해야 합니다.
오라클 클라우드 방화벽(VCN)과 Ubuntu OS 내부 방화벽을 설정해야 비로소 외부에서 접근할 수 있습니다.
공식문서
오라클 클라우드 방화벽(VCN) 설정
오라클 클라우드 홈페이지에서 방화벽을 설정할 인스턴스에 접속합니다.
인스턴스 세부정보에서 서브넷(VCN)을 클릭합니다.
보안 목록에서 Default로 설정된 방화벽이 있는데 클릭합니다.
수신 규칙 추가를 클릭 후
소스유형 : CIDR
소스 CIDR : 0.0.0.0/0
IP프로토콜 : TCP
대상 포트 범위 : 80, 443
이후 수신 규칙 추가 버튼을 클릭합니다.
HTTP는 80포트, HTTPS는 443포트입니다.
이외 필요한 포트를 추가하면 됩니다.
수신 규칙을 추가했으면 위 사진처럼 80, 443 포트가 추가되어 있어야 합니다.
오라클 클라우드 방화벽(VCN) 설정 끝
Ubuntu OS 방화벽 설정
Ubuntu OS 방화벽은 기본적으로 비활성화 되어 있습니다.
iptables에서 방화벽 설정합니다.
iptables는 Linux 시스템에서 네트워크 패킷을 필터링하고 전달하는 규칙을 설정하고 관리하는 데 사용됩니다.
sudo iptables -L --line
iptables에서 'Chain INPUT'란에 REJECT된 부분을 삭제해서 비활성화를 제거한 뒤, 포트를 추가해서 열어주어야 합니다.
위에서는 6번에 REJECT가 있는데 해당 번호를 기억한 뒤 번호로 삭제해야 합니다.
# sudo iptables -D INPUT <line number>
sudo iptables -D INPUT 6
-D 옵션을 통해 REJECT 항목을 삭제합니다.
확인해보면 6번에 REJECT 항목이 없어진것을 확인할 수 있습니다.
# 방화벽 설정에서 포트를 추가합니다.
# sudo iptables -A INPUT -m state --state <패킷의 상태(NEW는 새로운 연결)> -p tcp --dport <목적지 PORT> -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
80번과 443번 포트를 추가했습니다.
다시 iptables -L로 방화벽을 확인해 보면 http, https가 추가된것을 확인할 수 있습니다.
Nginx가 설치되어 있으면 웹브라우저에 ip로 접속해보면 Nginx 메인페이지가 뜨는것을 확인할 수 있습니다.
방화벽 저장(재부팅되면 iptables이 초기화 될 수 있습니다.)
서버가 재시작 되면 방화벽이 Default로 초기화 될 수 있습니다.
sudo netfilter-persistent save
변경사항을 iptables 구성 파일에 저장합니다.