linux Firewall

반응형

Firewall


- 네트워크의 보안 사고나 문제가 더 이상 확대되는 것을 막고 격리하는 것

ex) 외부에서의 불법적인 트래픽 유입을 막고, 허가되고 인증된 트래픽만을 허용

* 출처 : 네이버 백과사전


Firewall이라는 방화벽은 보안상에 있어서 매우 중요한 구성이죠. 방화벽 시스템 자체가 사용자에겐 약간의 제약을 주지만 외부로부터의 위험을 줄이려면 필수적으로 작동이 되어 있어야 하죠.


이러한 방화벽을 리눅스 내에서 자주 쓰는 명령들만 포스트 하겠습니다.

일단 현재 방화벽이 제대로 동작하는지 부터 상태를 확인해봐야겠죠.


<방화벽 상태 확인>

systemctl status firewalld

firewall-cmd --state



위와 같이 acive (running) 이라고 뜨면 정상적으로 방화벽이 실행되고 있는 상태입니다.


<방화벽 끄기>

systemctl stop firewalld



방화벽을 끄면 위와 같은 화면이 나옵니다. 이 방화벽은 가상머신을 reboot하거나 껏다키면 자동으로 다시 실행하기 때문에 껏다키는 작업 후에도 계속 방화벽이 꺼져있는 상태로 두시려면 systemctl disable firewalld 명령을 주면 됩니다.

반대로 다시 자동 킴 설정을 하려면 systemctl enable firewalld 명령을 주면 됩니다.


<방화벽 재시작>

systemctl restart firewalld

firewall-cmd --reload



방화벽은 네트워크 연결에 따라 서로 다른 영역이란 것이 존재하는데, 기본 영역은 'public' 입니다.


<영역(zone) 확인>

firewall-cmd --get-default (기본 영역)

firewall-cmd --get-active (활성화 영역)


<방화벽 설정>


firewall-cmd <option>


<option 목록>

--zone=<zone_name> : 영역 설정 (설정값이 따로 없으면 default값인 public이 적용)

--list-all : 사용가능한 서비스 및 포트 출력

--add-service=<service_name> : 서비스 추가

--remove-service=<service_name> : 서비스 제거

--add-port=<port_number> : 포트 추가

--remove-port=<port_number> : 포트 제거

--permanent : 영구 적용


ex) firewall-cmd --zone=public --add-service=ftp --permanent

* public영역에 대해서 ftp 서비스를 추가 후 영구적으로 막지 않겠다.


<예시 실습>


firewall-cmd --list-all



위 명령을 주면 현재 설정 된 리스트들을 보여주는데, 기존 dhcp와 ssh는 추가 되있는 모습을 볼 수 있네요. 저 설정덕분에 방화벽이 활동중에도 원격터미널을 자유롭게 사용할 수 있는 것이죠. 만약 --remove-service 명령을 통해 ssh 서비스를 지운다면, 방화벽이 켜져있는 상태에서는 원격터미널로 접속이 불가능 할 것 입니다. 그러면 ftp 서비스도 한번 추가해 보겠습니다.


firewall-cmd --add-service=ftp

firewall-cmd --list-all

 


위와 같은 명령을 주고 다시 list를 보니 ftp가 목록에 들어가 있는 모습을 확인할 수 있습니다. 이제 방화벽이 켜진 상태로도 ftp서비스를 외부와 이용할 수 있을 겁니다. 이 설정을 영구적으로 적용하려면 --permanent 옵션을 추가로 주면 되고요.


이상으로 Firewall 포스트를 마치겠습니다.


반응형

'OS > linux' 카테고리의 다른 글

linux ShellScript  (0) 2016.11.08
linux IP 수동 설정하는 방법  (0) 2016.11.08
linux Quota  (0) 2016.10.19
linux mail 보내기  (0) 2016.10.18
linux DNS  (0) 2016.10.17
TAGS.

Comments