You cannot see this page without javascript.

▒ Doly의 CentOS7 강좌30 12. 네트워크 보안설정 12.2 iptables 서비스 (1/3)
 
 
#################################################
    작성자 : 정우영
    작성일 : 2015.05.15
    대상 OS : CentOS7 x86_64
    완성될 서적 : Doly의 센트OS(CentOS)7 구축 관리 실무 (2016년 1월-->수정됨ㅠㅠ)
 
 본 강좌를 기반으로 서적을 집필합니다. 연재강좌가 마무리되고 몇달 후면 서적이 나오겠죠? CentOS7은 서적도 없지만 강좌도 많이 부족하네요. 리눅스 서버를 10년 넘게 구축하고 관리하고 컨설팅하면서 꼭 필요한 부분과 알아야 할 부분들을 꼼꼼히 체크하면서 강좌를 써보려합니다. 강좌중 오탈자가 있거나 설명이 부족하고 잘못된 경우 doly골뱅이superuser.co.kr으로 메일한통 부탁드립니다. 강좌가 수정되면 더 많은 분들께 도움이 될것이라 생각하고 강좌를 기반으로 집필될 서적또한 완성도가 높아지지 않을까 생각합니다.
#################################################
 
12.2. iptables 서비스
firewalld는 분명 CentOS7의 아주 혁신적인 기능중의 하나이다. 하지만 필자는 본 서적을 집필하면서 인터페이스가 편리 하나 많은 부분에서 부족함을 느꼈다. 특히 소스IP를 명시하는 부분이 명확하지 않다. 방화벽의 기본은 출발지 IP, 프로토콜, 포트 도착지 IP, 프로토콜, 포트를 기본으로 방화벽 규칙을 만들어간다. 하지만, firewalld는 출발지 IP와 목적지 IP에 대한 정의가 명확하지 않다. 리눅스 스킬이 중급 이상이라면 이러한 이유로 firewalld 서비스를 제거하고 예전 iptables 서비스로 돌아가길 권장하고 싶다.
지금부터는 CentOS6까지 사용하던 iptables 서비스 설정 방법에 대해 알아보도록 하자.
 
12.2.1. firewalld를 내리고 iptables 서비스 올리기
CentOS7부터는 firewalld가 기본으로 활성화 된다. firewalld를 사용하지 않고 CentOS6 이하의 방법으로 방화벽을 사용하기 위해서는 firewalld를 비활성화, 정지하고 iptables를 활성화, 시작해야 한다. 다음과 같이 콘솔창에서 작업해 보자.
먼저 systemctl명령어를 사용하여 firewalld를 비활성화 시킨다. 여기서 비활성화 시킨다는 것은 시스템 시작시 자동으로 시작되지 않게 하기 위함이다.
 
~]# systemctl disable firewalld
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
 
다음으로 firewalld 서비스를 종료시키자.
 
~]# systemctl stop firewalld
 
이제는 iptables 서비스를 활성화 시켜보자.
 
~]# systemctl enable iptables
ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'
 
다음으로 iptables 서비스를 시작시켜보자.
 
~]# systemctl start iptables
 
 
12.2.2. 방화벽 GUI(system-config-firewall) 설정
firewalld를 사용하지 않는다고 GUI인터페이스를 포기할 필요는 없다. CentOS6까지 사용하던 방화벽 GUI 프로그램(system-config-firewall)을 설치해서 사용하면 된다. system-config-firewall는 firewalld의 GUI인터페이스인 firewall-config와 비슷하다.
먼저 system-config-firewall을 설치해 보자.
 
~]# yum install system-config-firewall
 
yum을 이용하여 system-config-firewall패키지를 설치한다.
 
실행위치 : 프로그램 > 잡다 > 방화벽 
(2개가 보일 것이다. 2개 중 아래 화면을 보여주는 것을 선택한다.)
또는 터미널 창에서 system-config-firewall 입력
다음과 같은 화면을 볼 수 있다.
001.png

 

처음 실행하면 위와 같은 경고창이 나타난다. 방화벽 룰을 설정하는 파일 /etc/sysconfig/iptables 파일이 존재하지 않아 발생하는 것으로 확인(O)을 클릭하여 넘어간다.
 
웹서버를 운영하기 위해 HTTP, HTTPS 포트를 허용하는 방법에 대해 알아보자.
002.png

 

위 그림과 같이 좌측 상단 신뢰하는 서비스를 선택하고 우측에 SSH,  WWW(HTTP), 보안 WWW(HTTPS)를 선택한다. 상단에 적용을 클릭하여 방화벽을 적용한다.
 
방화벽 오픈 여부 확인을 위해 다른 리눅스 컴퓨터에서 다음과 같이 확인해 보자.
 
 
~]#  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)는 방화벽에서 차단된 것은 아니지만 닫혀 있다고 나타난다. 상태에 대해 설명하면 다음과 같다.
 
003.png

 

 
 
12.2.2.1. 포트 및 프로토콜 직접 추가
앞에서 다뤘던 서비스를 이용하여 방화벽을 관리하기도 하지만, 미리 정의된 서비스의 포트를 변경하는 경우 또는 정의되지 않은 서비스의 포트를 오픈하기 위해서는 직접 포트 및 프로토콜을 정의하여 오픈해야 한다.
 VNC접속을 위해 포트 및 프로토콜을 직접 추가해 보도록 하자.
004.png

 

위 그림과 같이 좌측 메뉴 중에서 그 외의 포트를 선택하고 우측 추가(A)버튼을 클릭한다. 위 그림과 같이 직접 포트를 추가할 수 있는 창이 나타나고, 사용자 정의를 선택하고 다음과 같이 입력하자.
“포트/포트 범위:” 5900-5910
“프로토콜:” tcp 선택
과 같이 설정한다. 이는 TCP 5900~5910포트로 서버에 들어오는 패킷을 허용한다는 것이다. 
설정 완료 후 상단에 적용버튼을 클릭하여 설정된 규칙을 적용시킨다.
005.png

 

 
12.2.2.2. 마스커레이딩(Masquerading)
리눅스 시스템을 인터넷 공유 목적의 라우터 기능을 사용하기 위해 마스커레이딩 기능을 활성화 시킨다. 
마스커레이딩을 사용하기 위해 공인망, 사설망 네트워크 구성을 미리 해 두어야 한다.
006.png

 

위 그림과 같이 좌측 메뉴 중에서 마스커레이딩(Masquerading)을 선택하고 우측 탭에서 장치를 선택한다. 
설정 완료 후 상단에 적용버튼을 클릭하여 설정된 규칙을 적용시킨다.
 
 
12.2.2.3. 포트 포워딩(port forwarding)
앞에서 마스커레이딩 설정으로 인터넷 공유 라우터를 설정한 경우 외부에서 공인IP로 접속되는 연결에 대해서 포트에 따라 내부 서버로 연결시킬 수 있는 포트 포워딩 기능을 사용할 수 있다. 
또, 시스템으로 들어오는 포트를 포워딩하여 로컬의 다른 포트로 포워딩할 수 있다. 시스템의 각 서비스들은 보안을 위해 일반 사용자 권한으로 서비스를 실행하기를 권장한다. 예를 들어 Tomcat은 JSP 컨테이너이면서 웹서버 기능을 가지고 있다. Tomcat은 일반 사용자 계정으로 실행할 것을 권장한다. 하지만, HTTP기본포트 80을 사용할 경우 root권한이 아니면 80포트를 Bind할 수 없다. 이러한 경우 포트포워딩을 사용하여 80포트로 접속되는 패킷을 로컬의 8080(Tomcat의 기본 HTTP 포트)포트로 포워딩 시킴으로 root권한 없이 80포트를 사용하여 웹서비스를 할 수 있다.
80포트로 접속되는 패킷을 8080포트로 포워딩 설정해 보자.
007.png

 

위 그림과 같이 좌측 메뉴 중에서 포트 포워딩을 선택하고 우측에서 추가(A)버튼을 클릭하여 추가한다.
소스 
   인터페이스 : eth+
   프로토콜 : tcp
   포트: 80
수신지
  로컬 포트 포워딩 체크
  포트: 8080
으로 설정한다. 설정완료 후 확인(O)을 클릭한다.
설정된 내역을 다음과 같이 확인할 수 있다.
008.png

 

설정 완료 후 상단에 적용버튼을 클릭하여 설정된 규칙을 적용시킨다.
009.png

 

 
12.2.2.4. ping 응답 하지 않기
시스템의 네트워크 상태를 확인하기 위해 ping명령어를 이용하여 응답 테스트를 한다. ping은 네트워크 확인을 위해 유용하게 사용되지만, 악의적으로 패킷크기를조절하여 네트워크의 과다한 트래픽을 유발하기도 한다. 이러한 공격을 차단하기 위해 ping에 대해 응답하지 않도록 설정하는 경우가 있다. 
다음은 ICMP 프로토콜 중 ping에 대해 응답하지 않게 설정하고 있다.
010.png

 

위 그림과 같이 좌측 메뉴 중에서 ICMP필터를 선택하고 우측 에코 요청(핑)에 체크한다. 
설정 완료 후 상단에 적용버튼을 클릭하여 설정된 규칙을 적용시킨다.
011.png

 

 
 
 이상으로 30번째 강좌를 마무리 합니다. CentOS7의 firewalld가 마음에 들지 않는다면 예전 방식으로 iptables를 사용해 보았습니다.  퇴근하고 집에가는 것이 당연한 것이 아니고 책을 쓰기 위해 컴퓨터 앞에 앉는 것이 당연해지고 있네요ㅠㅠ.  열심히 뛰는 도리(Doly)였습니다.^^ 
 
#################################################
* 본 강좌는 언제든 갱신될 수 있으며, 원글은 www.linux.co.kr 강좌>리눅스>Doly의 연재강좌 에서 수정됩니다. 
* 본 강좌의 일부 또는 전체를 인용하실 경우, 반드시 출처를 밝혀 주시기 바랍니다.
 
* 수정이력 :
 2015.5.15(금): 스승의 날에 최초작성
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
369 Windows7 OEM을 활용하여 클린설치 file [11] LynX 2010-11-06 765
368 Windows7 에서 시스템을 백업/복원하는 가장 쉬운 방법!! file LynX 2010-11-07 334
367 탐색기 메뉴에 '명령 프롬프트 열기'와 '메모장으로 열기' 추가하기 file [14] LynX 2010-11-08 591
366 인터넷 익스플로러 리플레쉬 file LynX 2011-05-02 286
365 활성 네트워크 중복으로 인한 인터넷 연결 안되는 문제 file [12] LynX 2011-05-26 971
364 32bit Driver을 64bi로 설치하기 [8] LynX 2011-06-21 325
363 설치파일(inf)에 대한 이해 [7] LynX 2011-06-22 598
362 inf 설치시 경고창 안뜨게 하기 file [10] LynX 2011-06-22 430
361 로우 포맷(Low level format, 저수준 포맷) 하기 file [11] LynX 2011-07-06 722
360 Win XP Crack file [8] LynX 2011-10-31 269
359 윈도우7 메모리 인식 문재 file [13] LynX 2011-11-30 530
358 RoundCube 첨부 용량 변경 / 한글 수정 [10] LynX 2012-01-31 836
357 윈도우7 알수없는장치 file [8] LynX 2012-03-13 270
356 디지털 서명 file [1] LynX 2012-03-15 445
355 아레한글 사용시 출력물에 음영이 나타나는 현상. file [11] LynX 2012-03-29 1154
354 Xyview DVR서버 연결 [8] LynX 2012-04-19 295
353 HP Officejet 6500A (Plus) 호환 드라이버 [8] LynX 2012-05-16 294
352 IIS에 FastCgi모듈 활성화 시키기 file [12] LynX 2012-11-21 1283
351 윈도우 2008서버에 XE 설치 절차 [9] LynX 2012-11-22 230
350 Windows Server 2012 설치 file LynX 2012-11-23 477

XE Login