Shorewall 방화벽 설정 방법 |
넘버원 리눅스에서는 방화벽으로 shorewall를 지원하는데, 2016 스프링 이전 버전에서는 기본적으로 데스크탑 사용 차원에서 방화벽이 활성화되어 있지 않습니다. 그러나 2016 스프링 이후의 버전부터는 shorewall 방화벽이 기본적으로 활성화되어 있어서 네트워크 서비스(서버)를 하는 경우에는 방화벽을 수정 변경해 주어야 합니다. 데스크탑으로 사용하는 경우에는 방화벽을 변경하지 않아도 되지만, 원격 시스템 접속(SSH, FTP, 웹서버 그외)과 같은 서비스를 허용하고자 하는 경우에는 반드시 방화벽을 변경해 주어야 함을 유념하기 바랍니다. 리눅스의 모든 것 독자분들은 754~760쪽을 참고하면 됩니다.
1. 적용OS
- No1.Linux 2016이후의 버전
- 서버를 운용하고자 하는 No1.Linux 모든 버전
2. Shorewall 방화벽 설정
2.1 /etc/shorewall/zones 설정
이 설정 파일에서 방화벽을 적용하고자 할 네트워크 범위에 대해서 설정을 합니다. 이 파일에서 방화벽은 Fw, 로컬 네트워크는 loc, 외부 네트워크는 net으로 정의합니다.
# ZONE TYPE fw firewall #방화벽 그 자체 net ipv4 #인터넷(외부 네트워크) loc ipv4 # 로컬 네트워크 |
이더넷 카드가 하나만 있는 경우에는 loc 존은 추가하지 않고, 기본 설정으로 사용합니다.
2.2 /etc/shorewall/interfaces
앞서 설정한 존에 맞는 네트워크 인터페이스를 설정합니다.
# ZONE INTERFACE BROADCAST net eth0 detect |
2.3 /etc/shorewall/policy
fw net ACCEPT net all DROP info all all REJECT info |
zones 파일에서 정의된 존에 대해 방화벽 정책을 부여합니다. 방화벽 설정은 다음 표와 같습니다.
| POLICY 필드값 | |||
POLICY 필드값 | 설 명 | ||
SOURCE | 소스 호스트, /etc/shorewal/zones에서 정의 | loc | 로켈 네트워크 |
DEST | 대상 호스트., /etc/shorewall/zones에서 정의 | net | 외부 네트워크(인터넷) |
dmz | DMZ | ||
POLICY | ACCEPT | 허용정책 | |
DROP | 무시정책 | ||
| REJECT | 거부정책 | ||
이 정책 파일 설정 가운데 두번째 설정(net all DROP)은 다른 네트워크로부터의 접속을 무시하는 정책으로 로컬 시스템에서 어떠한 서비스가 동작하더라도 이 서비스에 다른 네트워크에서는 접속할 수 없음을 의미합니다. 기본적으로 방화벽 정책은 외부로부터의 접속을 모두 거부한 상태에서 해당 서비스에 대해서 허용 정책을 두게 됩니다. 따라서 일부 서비스에 접속될 수 있도록 허용 정책을 부여하려면 다음에 설명할 rules 파일에 해당 서비스의 포트를 명시해 주어야 합니다.
2.4 /etc/shorewall/rules(/etc/shorewall/rules.drakx)
이 파일은 외부로부터 접속을 허용할 서비스 포트를 명시해 주는 파일입니다. 이 파일을 열어보면 INCLUDE rules.drakx라는 설정만 있는데, 이것은 이 파일에서 설정한 내용을 그대로 불러온다는 의미이므로 이 파일에 방화벽의 룰 설정을 해 주면 됩니다. 여러분이 서버를 구축하여 그 서버에 다른 컴퓨터가 접속할 수 있도록 하용해 주고자 한다면 이 파일에 해당 서비스의 포트를 명시해 주어야 합니다. 만일 OpenSSH 서버에 접속할 수 있도록 허용하려면 SSH는 TCP 22번 포트를 사용하므로 다음과 같이 설정해 주면 됩니다.
ACCEPT net fw tcp 22 |
3. 방화벽 시작및 종료
shorewall 서비스는 다음과 같이 시작, 종료, 재시작을 합니다.
/etc/init.d/shorewall start # 시작 /etc/init.d/shorewall sop # 종료 /etc/init.d/shorewall restart # 재시작 |





