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
반응형