1 minute read

라즈베리파이 웹서버 방화벽

방화벽 개요

: 이 부분 역시도 프로젝트에 투입되면 이미 전문적으로 구축되어있고 권한 요청만하므로… 흔히 말하는 방화벽을 직접 구축해보고 싶었는데 이번기회에 해보자!

ufw

: 우분투의 기본적인 방화벽은 ufw 이다. 이는 iptables 방화벽 패키지를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 한다

ufw 설치

: 방화벽 패키지를 명령어로 자동설치하도록 한다.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ufw

ufw 실행

: 방화벽을 실행한다.

실행하기전 주의사항
ufw를 활성화하면 방화벽이 작동하기 떄문에 모든 포트가 자동으로 막히게된다. 즉, ssh(포트22) 가 즉시 끊켜버리고 ssh 접속실패가 불가피해진다.

무서워서 나는 미리 백업했다 :)

sudo ufw status  #방화벽 상태확인 
# 결과: 꺼져있을것이다.

sudo ufw default allow  # 기본룰 허용 이 명령어가 꼭 들어가야 정상작동했다.
sudo ufw allow ssh      # 22 포트 open
sudo ufw enable         # 방화벽실행  (enable을 2번째에 설정하는 이유는 혹시라도 22번 포트를 개방하지 않은상태면 SSH연결이 끊어지기 때문이다)

# 결과: 이 시점에 ssh가 유지되어야 정상이다.

sudo ufw allow http     # 80 포트 open
sudo ufw allow https    # 443 포트 open
sudo ufw status         # 반영확인
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

wasadm@cddawso1:~

예시

본인의 컴퓨터에서만 작업시

: 22번 포트를 다 닫고, 해당 컴퓨터의 IP와 포트만 열어서 사용이 가능하도록 설정

sudo ufw allow from 123.456.789.0 to any port 22 proto ctp  //123.456.789.0 아이피에서만 22번 포트 접속이 가능하다
sudo ufw enable        # enable을 2번째에 설정하는 이유는 혹시라도 22번 포트를 개방하지 않은상태면 SSH연결이 끊어지기 때문이다
sudo ufw allow http    # 웹서버를 오픈했을테니 http의 80번과 https의 443을 같이 열어주도록 하자.
sudo ufw allow https   # 웹서버를 오픈했을테니 http의 80번과 https의 443을 같이 열어주도록 하자.
sudo ufw status

여러명이 작업시

만약 여러명이 작업을 한다고 하면 위와 반대로 해당 IP들을 다 열어주면 된다.

Leave a comment