[Alex] 데이터 장인의 블로그

[Linux] CentOS 방화벽 활용 feat. Firewall 본문

Linux&OS

[Linux] CentOS 방화벽 활용 feat. Firewall

Alex, Yoon 2021. 4. 12. 16:28

사내용 서버로 우분투, CentOS를 사용하는 경우가 생깁니다. 

해당 서버를 사용하는 사람 혹은 IP 주소에만 접근할 수 있도록 권한 조정을 해야할 필요가 있습니다. 

가장 간단한 방법은 방화벽으로 특정 IP만 접속을 허용하거나, 특정 IP만 제외하여 막는 경우가 있습니다. 

 

여러 방법이 있지만 Firewall을 설치하여 설정하는 방법을 기록하겠습니다.

 


시스템(Ubuntu & CentOS) Firewall 설치 

보통 리눅스 자체에 firewall이 설치되어 있는 경우가 있지만, 설치가 되어있지 않은 경우도 존재.

sudo yum install firewalld 

+) 서버 부팅 / 재부팅 시 자동으로 firewall 데몬이 실행되도록 하는 법

sudo systemctl enable firewalld 
sudo systemctl start firewalld

방화벽 상태 확인하기 

현재 firewall이 작동되고 있는지 확인하기 위한 방법입니다. 

firewall-cmd --state

IP에 대해 방화벽 허용하기(해제하기)

특정 IP에 대해 방화벽 접근 허용하기

특정 IP에 대해서 해당 서버에 접근하는 것을 허용하기 위한 방법. 

## 단일 IP 접속 허용하기
sudo firewall-cmd --permanent --add-source=192.168.0.100

## 허용한 IP 제거하기
sudo firewall-cmd --permanent --remove-source=192.168.0.100

특정 IP대역에 대해 방화벽 접근 허용하기 

특정 IP대역에 대해서 해당 서버에 접근하는 것을 허용하는 방법. 

## 해당 IP대역 접속 허용하기
sudo firewall-cmd --permanent --add-source=192.168.0.0/24

## 허용한 IP대역 삭제하기
sudo firewall-cmd --permanent --remove-source=192.168.0.0/24

특정한 IP가 특정 Port에만 접근 허용하기

특정 IP에 대해서 특정 Port에만 접근하게 하는 방법.

ex) 192.168.0.100가 8000포트에 대해서 접근

## 해당 IP에 일부 Port에 대한 접속 허용
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=192.168.0.100 port port="8000" protocol="tcp" accept'

## 특정 Port에 접속 허용한 IP 제거하기
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=192.168.0.100 port port="8000" protocol="tcp" accept'

변경된 Firewall 구성을 적용하기

해당 Firewall 설정을 완료하였으면, 반드시 리로딩 해주어 반영 필요.

sudo firewall-cmd --reload

현재 방화벽 리스트 보기

현재 등록되어 있는 방화벽 리스트를 확인하는 방법.

firewall-cmd --list-all

그 밖의 방화벽 해제 방법

특정 Port로 방화벽 해제하기

80, 81, 82번 Port에 대해서 방화벽 허용

## 방화벽 해제할 port 추가하기
sudo firewall-cmd --permanent --add-port=80/tcp 
sudo firewall-cmd --permanent --add-port=81/tcp 
sudo firewall-cmd --permanent --add-port=82/tcp

## 추가된 port 제거하기
sudo firewall-cmd --permanent --add-remove=80/tcp 
sudo firewall-cmd --permanent --add-remove=81/tcp 
sudo firewall-cmd --permanent --add-remove=82/tcp

Port 구간으로 방화벽 해제하기

8000대 Port에 대해서 방화벽 허용

## 방화벽 해제할 port 구간 설정하기 
sudo firewall-cmd --permanent --add-port=8000-9000/tcp

## 추가된 port 구간 제거하기
sudo firewall-cmd --permanent --remove-port=8000-9000/tcp

 

반응형
Comments