내 잡다한 노트

리눅스 보안 방화벽에 관해 본문

DevOps/리눅스

리눅스 보안 방화벽에 관해

peanutwalnut 2023. 9. 2. 19:55

방화벽(Firewall)은 외부에서 들어오는 패킷인 인바운드와 서버에서 나가는 패킷인 아웃바운드에 대한 정책을 설정하여

정책에 따라 패킷을 허가하거나 거부하는 방식으로 작동함.

 

리눅스 방화벽은 크게 리눅스 커널을 제어하여 실제 네트워크 패킷을 필터링하는 방화벽  처리부와

필터링 정책을 추가/제거하는 방화벽 제어부로 구성된다.

내가 사용하는 우분투 리눅스는 데비안 리눅스 기반으로 하는 ufw 방화벽 시스템을 사용한다.

nftables 프레임워크에서 필터링을 진행한다. 패킷이 오면 여기서 필터링을 할 지 안 할지 결정함.

 

sudo ufw status 명령으로 방화벽 서비스가 켜져 있는지 확인할 수 있다.

sudo ufw enable 을 하면 방화벽이 활성상태가 된다.

sudo ufw status verbose 를 입력하면 현재 사용 중인 방화벽 정책을 확인할 수 있다.

 

# 방화벽 정책 추가/ 삭제하기

방화벽은 서비스 단위(http, ssh) 혹은 포트단위(22/tcp)로 설정할 수 있다.

sudo ufw allow ssh 를 입력하면 ssh 서비스 허용 정책을 추가할 수 있다.

거부하고싶다면 allow 대신 deny를 입력.

삭제하고싶다면 delete를 앞에 붙이면 된다. sudo ufw delete deny ssh 이런 식으로.

 

포트에 대해 추가/삭제를 할 땐,

sudo ufw [허용/차단] [포트번호]/[tcp/udp] 

 

특정 ip주소에 대해 방화벽을 설정할 땐,

sudo ufw allow from [ip주소] to any [포트|서비스]

하나의 ip로 설정할 수도 있고, CIDR 표기법으로 대역별로도 설정할 수 있음.

'DevOps > 리눅스' 카테고리의 다른 글

유닉스 계열 명령줄 : wget, curl  (2) 2023.10.06
리눅스 PAM  (0) 2023.09.02
fork( ) 정의와 특징  (0) 2023.04.08
vi 복사 명령어  (0) 2023.04.05
특정 문자 및 문자열을 vi에서 찾기 명령어  (0) 2023.03.29