You cannot see this page without javascript.

▒ Doly의 CentOS7 강좌31 12. 네트워크 보안설정 12.2 iptables 서비스 (2/3)
 
 
#################################################
    작성자 : 정우영
    작성일 : 2015.12.11
    대상 OS : CentOS7 x86_64
    완성될 서적 : Doly의 센트OS(CentOS)7 구축 관리 실무 (2016년 3월 확정!!)
 
 본 강좌를 기반으로 서적을 집필합니다. 연재강좌가 마무리되고 몇달 후면 서적이 나오겠죠? CentOS7은 서적도 없지만 강좌도 많이 부족하네요. 리눅스 서버를 10년 넘게 구축하고 관리하고 컨설팅하면서 꼭 필요한 부분과 알아야 할 부분들을 꼼꼼히 체크하면서 강좌를 써보려합니다. 강좌중 오탈자가 있거나 설명이 부족하고 잘못된 경우 doly골뱅이superuser.co.kr으로 메일한통 부탁드립니다. 강좌가 수정되면 더 많은 분들께 도움이 될것이라 생각하고 강좌를 기반으로 집필될 서적또한 완성도가 높아지지 않을까 생각합니다.
#################################################
 
12.2. iptables 서비스
 
12.2.3. 방화벽 TUI(system-config-firewall-tui) 설정
앞에서 system-config-firewall 패키지를 설치하였다면, TUI 인터페이스인 system-config-firewall-tui 패키지까지 의존성에 의해 설치되었을 것이다. CentOS6까지 사용하던 방화벽 TUI 프로그램(system-config-firewall-tui)을 사용하여 방화벽 설정을 해보자.
 
~]# system-config-firewall-tui
 
 
system-config-firewall-tui를 실행하면 위와 같은 화면을 볼 수 있다. 명령어 기반보다는 쉽게 사용할 수 있는 TUI 인터페이스이다. 커서나, <TAB>키를 사용하여 움직이고 <SPACE>키로 체크하고, <ENTER>키를 사용 선택한다. <F12>키를 사용하여 다음 스크린으로 넘어갈 수 있다. 
웹서버를 운영하기 위해 HTTP, HTTPS 포트를 허용하는 방법에 대해 알아보자. 방화벽 활성화에 체크하고 사용자 설정을 선택한다.
 
 
위 그림과 같이 SSH,  WWW(HTTP), 보안 WWW(HTTPS)를 선택한다. 하단에 종료를 선택한다. 다음과 같이 첫 화면을 만나게 될 것이다.
 
위 그림에서 OK를 선택한다. 다음과 같은 경고 창을 만나게 된다.
 
여기서 예를 선택하면 설정내역이 /etc/sysconfig/iptables에 저장되고, iptables 서비스가 재 시작되어 방화벽 룰이 적용된다.
 
방화벽 오픈 여부 확인을 위해 다른 리눅스 컴퓨터에서 다음과 같이 확인해 보자.
 
~]#  nmap 192.168.0.201 -p 443,80,22,25
 
Starting Nmap 5.21 ( http://nmap.org ) at 2015-03-30 20:40 KST
Nmap scan report for 192.168.0.201
Host is up (0.00041s latency).
PORT    STATE    SERVICE
22/tcp  open     ssh
25/tcp  filtered smtp
80/tcp  closed   http
443/tcp closed   https
 
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
 
 
nmap명령어를 방화벽 설정 내역을 확인할 수 있다. 22/tcp(SSH)는 오픈된 것이 확인되고, 25/tcp(SMTP)는 filtered되었다. 웹서비스 포트 80/tcp(HTTP), 443/tcp(HTTPS)는 방화벽에서 차단된 것은 아니지만 닫혀 있다고 나타난다. 상태에 대해 설명하면 다음과 같다.
 
 
 
12.2.3.1. 포트 및 프로토콜 직접 추가
앞에서 다뤘던 서비스를 이용하여 방화벽을 관리하기도 하지만, 미리 정의된 서비스의 포트를 변경하는 경우 또는 정의되지 않은 서비스의 포트를 오픈하기 위해서는 직접 포트 및 프로토콜을 정의하여 오픈해야 한다.
 VNC접속을 위해 포트 및 프로토콜을 직접 추가해 보도록 하자. 콘솔 창에서 다음 명령어를 입력한다.
 
~]# system-config-firewall-tui
 
포트를 직접 추가하기 위해서는 다음 메뉴를 선택하여 넘어간다.
- 방화벽 설정 : 사용자 설정
- 신뢰하는 서비스 : 다음
 
위 그림처럼 그 외의 포트 화면이 나타나면, 추가를 선택하면 아래 그림과 같이 추가 포트 및 프로토콜을 입력할 수 있다.
 
다음과 같이 입력하자.
“포트/포트 범위:” 5900-5910
“프로토콜:” tcp 
이는 TCP 5900~5910포트로 서버에 들어오는 패킷을 허용한다는 것이다. 설정 완료 후 종료를 선택하고 첫 화면이 나타나고 OK를 선택하고 경고 창에서 예를 선택하면 설정내역이 /etc/sysconfig/iptables에 저장되고, iptables 서비스가 재 시작되어 방화벽 룰이 적용된다.
 
 
12.2.3.2. 마스커레이딩(Masquerading)
리눅스 시스템을 인터넷 공유 목적의 라우터 기능을 사용하기 위해 마스커레이딩 기능을 활성화 시킨다. 
마스커레이딩을 사용하기 위해 공인망, 사설망 네트워크 구성을 미리 해 두어야 한다.
 
~]# system-config-firewall-tui
 
마스커레이딩 설정을 위해서는 다음 메뉴를 선택하여 넘어간다.
- 방화벽 설정 : 사용자 설정
- 신뢰하는 서비스 : 다음
- 신뢰하는 인터페이스 : 다음
위 그림과 같이 마스커레이딩(Masquerading) 설정 화면이 나타나면, 인터페이스를 선택하고 종료를 선택한다. 첫 화면이 나타나고 OK를 선택하고 경고 창에서 예를 선택하면 설정내역이 /etc/sysconfig/iptables에 저장되고, iptables 서비스가 재 시작되어 방화벽 룰이 적용된다.
 
 
1.1.1.3. 포트 포워딩(port forwarding)
앞에서 마스커레이딩 설정으로 인터넷 공유 라우터를 설정한 경우 외부에서 공인IP로 접속되는 연결에 대해서 포트에 따라 내부 서버로 연결시킬 수 있는 포트 포워딩 기능을 사용할 수 있다. 
또, 시스템으로 들어오는 포트를 포워딩하여 로컬의 다른 포트로 포워딩할 수 있다. 시스템의 각 서비스들은 보안을 위해 일반 사용자 권한으로 서비스를 실행하기를 권장한다. 예를 들어 Tomcat은 JSP 컨테이너이면서 웹서버 기능을 가지고 있다. Tomcat은 일반 사용자 계정으로 실행할 것을 권장한다. 하지만, HTTP기본포트 80을 사용할 경우 root권한이 아니면 80포트를 Bind할 수 없다. 이러한 경우 포트포워딩을 사용하여 80포트로 접속되는 패킷을 로컬의 8080(Tomcat의 기본 HTTP 포트)포트로 포워딩시킴으로 root권한 없이 80포트를 사용하여 웹서비스를 할 수 있다.
80포트로 접속되는 패킷을 8080포트로 포워딩 설정해 보자.
 
~]# system-config-firewall-tui
 
포트 포워딩 설정을 위해서는 다음 메뉴를 선택하여 넘어간다.
- 방화벽 설정 : 사용자 설정
- 신뢰하는 서비스 : 다음
- 신뢰하는 인터페이스 : 다음
- 마스커레이딩(Masquerading) : 다음
위 그림과 같이 포스 포워딩 설정 화면이 나타나면, 추가를 선택한다.
 
 
 
위 그림의 내용은 다음과 같다.
소스 
   인터페이스 : eth0
   프로토콜 : tcp
   포트: 80
수신지
  IP 주소 : 127.0.0.1
  포트: 8080
으로 설정한다. 설정완료 후 OK를 선택한다.
설정된 내역을 다음과 같이 확인할 수 있다.
 
설정 완료 후 종료를 선택한다. 첫 화면이 나타나고 OK를 선택하고 경고 창에서 예를 선택하면 설정내역이 /etc/sysconfig/iptables에 저장되고, iptables 서비스가 재 시작되어 방화벽 룰이 적용된다.
 
12.2.3.4. ping 응답 하지 않기
시스템의 네트워크 상태를 확인하기 위해 ping명령어를 이용하여 응답 테스트를 한다. ping은 네트워크 확인을 위해 유용하게 사용되지만, 악의적으로 패킷크기를 조절하여 네트워크의 과다한 트래픽을 유발하기도 한다. 이러한 공격을 차단하기 위해 ping에 대해 응답하지 않도록 설정하는 경우가 있다. 
다음은 ICMP 프로토콜 중 ping에 대해 응답하지 않게 설정하고 있다.
 
~]# system-config-firewall-tui
 
ICMP 설정을 위해서는 다음 메뉴를 선택하여 넘어간다.
- 방화벽 설정 : 사용자 설정
- 신뢰하는 서비스 : 다음
- 신뢰하는 인터페이스 : 다음
- 마스커레이딩(Masquerading) : 다음
- 포트포워딩 : 다음
위 그림과 같이 ICMP 필터 설정 화면이 나타나면, 에코 요청 (핑)에 체크하고  종료를 선택한다. 첫 화면이 나타나고 OK를 선택하고 경고 창에서 예를 선택하면 설정내역이 /etc/sysconfig/iptables에 저장되고, iptables 서비스가 재 시작되어 방화벽 룰이 적용된다.
 
 
 
 이상으로 31번째 강좌를 마무리 합니다. CentOS7의 firewalld가 마음에 들지 않는다면 예전 방식으로 iptables를 TUI 인터페이스를 사용해 보았습니다. firewalld는 TUI를 지원하지 않아 아쉬웠는데^^. 한 동안 강좌를 쉬었습니다. 살아가면서 많은 일들이 있네요!!  열심히 뛰는 도리(Doly)였습니다.^^ 
 
#################################################
* 본 강좌는 언제든 갱신될 수 있으며, 원글은 www.linux.co.kr 강좌>리눅스>Doly의 연재강좌 에서 수정됩니다. 
* 본 강좌의 일부 또는 전체를 인용하실 경우, 반드시 출처를 밝혀 주시기 바랍니다.
 
* 수정이력 :
 2015.12.11(금): 아주 많이 쉬다가 적어봅니다.
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수

XE Login