라즈베리파이(11) 웹서버 방화벽
라즈베리파이 웹서버 방화벽
방화벽 개요
: 이 부분 역시도 프로젝트에 투입되면 이미 전문적으로 구축되어있고 권한 요청만하므로… 흔히 말하는 방화벽을 직접 구축해보고 싶었는데 이번기회에 해보자!
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