안녕리눅스 3 User Guide
  • Introduction
  • Chapter 1. 안녕 리눅스 3 \/ CentOS 7.2 차이점
  • Chapter 2. Access Control
    • 안녕 리눅스 방화벽 설정
      • 기본 설정
      • Inbound 제어
      • Outbound 제어
      • brute force attack 제어
      • User defined rule 제어
      • 특정 국가에서의 접속 제어
      • oops-firewall 실행 방법
    • Shell login Control (with PAM)
      • login 가능한 account 제한
      • login account chroot
      • Google OTP를 이용한 2 factor 인증
    • 인증 통합 (Authentification\/Authorization Intergrate)
      • Openldap
        • Master Server 설정
        • SSL 설정
        • Slave Server 설정
        • Replication 설정
        • LDAP 클라이언트 인증 연동 설정
        • LDAP data 관리
        • Sudo LDAP 연동
      • NIS
      • Active Directory
  • Chapter 3. Web control
    • httpd
    • nginx
    • lighttpd
    • PHP
    • Web Access Control
      • Apache 2.4
      • Nginx
      • lighttpd
    • Web Monitor agent
  • Chapter 4. JVM 운영
  • Chapter 5. DNS 운영
    • 기본 설정
    • 신규 도메인 설정
    • Slave DNS 구성
    • Inverse Domain 설정
    • DNSSEC 설정
    • GeoDNS 설정
    • Domain 위임
    • IDN
    • Troble Shooting
  • Chapter 6. Time Server 운영
    • Chrony
    • NTP
  • Chapter 7. VPN 운영
  • Chapter 8. SMTP 운영
  • 안녕 리눅스 White Paper
    • Disk Partition Aligment
  • 안녕 리눅스 알려진 버그
  • 안녕 리눅스 3 패키지 일람
    • [AN:core]
      • annyung-release
      • byspam
      • check-utils
      • genpasswd
      • httpd-conf
      • httpd-krisp
      • httpd-nis
      • httpd-url
      • kmod-geoip
      • l4vip
      • ldap-auth-utils
      • libchardet
      • libimginfo
      • libipcalc
      • libkrisp
      • mariadb-aes256
      • olibc
      • oops-firewall
      • perl-KRISP
      • perl-ModuleList
      • php-chardet
      • php56-chardet
      • php71-chardet
      • php-common
      • php56-common
      • php71-common
      • php-fpm-conf
      • php56-fpm-conf
      • php71-fpm-conf
      • php-geoip
      • php56-geoip
      • php71-geoip
      • php-korean
      • php56-korean
      • php71-korean
      • php-krisp
      • php56-krisp
      • php71-krisp
      • php-nis
      • php56-nis
      • php71-nis
      • php-pear-KSC5601
      • php-pear-ipcalc
      • php-pear-krisp
      • php-pear-oops-key
      • procdump
      • python-chardet
      • python-krisp
      • remount
      • utf8-profile
      • whois
      • yum-annyung
    • [AN:base]
      • apr
      • authconfig
      • bash
      • bind
      • chrony
      • coreutils
      • ctags
      • cvs
      • ecj
      • filesystem
      • GeoIP
      • gperftools
      • httpd
      • initscrtips
      • iptables
      • java-1.8.0-openjdk
      • javapacakges-tools
      • linuxdoc-tools
      • mariadb
      • memcached
      • net-tools
      • ntp
      • openssh
      • openssl
      • pam
      • php
      • procmail
      • procps-ng
      • redhat-rpm-config
      • rootfiles
      • rsyslog
      • sendmail
      • setup
      • shadow-utils
      • sudo
      • systemd
      • sysvinit-tools
      • tomcat
      • traceroute
      • unzip
      • util-linux
      • vim
      • xinted
    • [AN:xless]
    • [AN:addon]
      • authbind
      • cronolog
      • google-authenticator
      • hping3
      • httpd-fcgid
      • imap
      • jfbterm
      • jlint
      • libevent14
      • libnet
      • libnetfilter_acct
      • lighttpd
      • mhash
      • mimetex
      • mm
      • netdata
      • netperf
      • nginx
      • openvpn
      • pdnsd
      • perl-CSS-DOM
      • php-pecl-apcu
      • php56-pecl-apcu
      • php71-pecl-apcu
      • php-pecl-memcache
      • php56-pecl-memcache
      • php71-pecl-memcache
      • php-pecl-oauth
      • php56-pecl-oauth
      • php71-pecl-oauth
      • php-pecl-xdebug
      • php56-pecl-xdebug
      • php71-pecl-xdebug
      • php56
      • php71
      • proftpd
      • python-Mako
      • python-MarkupSafe
      • python-mcrypt
      • python-openpyxl
      • python-xlrd
      • re2c
      • redis
      • rudiments
      • splint
      • sqlite32
      • sqlrelay
      • tomcat-native
    • [AN:plus]
  • 안녕 리눅스 Upgrade Guide
Powered by GitBook
On this page

Was this helpful?

  1. Chapter 2. Access Control

안녕 리눅스 방화벽 설정

목차 1. 기본 설정 2. Inbound 제어 3. Outbound 제어 4. brute force attack 제어 5. User defined rule 제어 6. 특정 국가에서의 접속 제어 7. oops-firewall 실행 방법

안녕 리눅스는 CentOS/RHEL 7이 기본으로 제공하는 firewalld를 사용하지 않고, 안녕 1.x 부터 제공해 오던 oops-firewall을 제공합니다.

oops-firewall이나 firewalld는 모두 iptables를 backend로 하는 즉, iptables rule을 대신 작성해 주는 utility라고 볼 수 있습니다. 즉, oops-firewall이나 firewalld에서 설정은 iptables rule을 작성한 것이고, 이 rule을 ipatbles로 deploy하여 netfilter에 반영을 하게 되는 것입니다.

한마디로, 어려운 iptables rule을 만들기 쉽게 도와주고, 정책을 생성/제거/반영을 쉽게 도와주는 도구라는 것이기 때문에 익숙한 것을 사용하시면 됩니다.

만약 CentOS/RHEL 7에서 제공하는 firewalld를 사용하기 원한다면, 다음의 절차를 따라 주십시오.

[root@an3 ~]$ yum remove oops-firewall
[root@an3 ~]$ yum install firewalld
[root@an3 ~]$ service firewalld enable

상기 작업을 완료 하였다면, oops-firewall 대신에 firewalld를 사용할 준비가 완료된 상태 입니다. 여기서 부터는 [RHEL 7 System Admin Guidel의 firewalld 설명]((https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html)을 참조 하십시오. 이 이하는 oops-firewall에 대한 기술을 진행 합니다.

이 문서에서는 oops-firewall에 대하여 바로 사용을 할 수 있는 대략적인 기법에 대해서만 기술을 합니다. oops-firewall의 전체적인 특징과 자세한 사용 방법은 oops-firewall 사용 설명서를 참조 하십시오.

안녕 리눅스에서 firewalld 대신 oops-firewall을 제공하는 이유는 iptables rule에 대해서 전혀 지식이 없어서 사용을 할 수 있는 간단함과 명료한 설정이 하나이고, iptables를 잘 다를 수 있는 경우, oops-firewall 이 만든 rule의 쉽게 customizing을 할 수 있다는 점 입니다.

안녕 리눅스의 구동은 다음과 같습니다.

기본적으로는 RHEL 시스템의 init service 구동 명령인 /sbin/service를 이용하면 됩니다.

** 참고!

다음 용어(표현)를 기억 하십시오.

Inbound  - 외부(remote) 에서 내부(local)로 들어오는 접근
Outbound - 내부(local) 에서 외부(remote)로 나가는 접근
TCP/22   - TCP 22번 포트
TCP/1.1.1.1:22 - TCP 1.1.1.1 IP의 22번 포트

Rule 표현식:
------------

* IP address 표현식

 - Anywhere(모든 IP) 표현식
   0.0.0.0/0 = 0/0 = ANYWHERE = anywhere

 - IP 범위 표현식
   1.1.1.1-255       => 1.1.1.1-1.1.1.255
   1.1.1.1-2.255     => 1.1.1.1-1.1.2.255
   1.1.1.1-2.3.255   => 1.1.1.1-1.2.3.255
   1.1.1.1-1.2.3.255 => 1.1.1.1-1.2.3.255

 - subnet
   10.10.10.0/24
   10.10.10.0/255.255.255.0

* Port 표현식
  port[:state] => state가 지정되지 않으면 기본으로 NEW를 사용

  53
  53-100 (53번 부터 100번 포트까지의 범위 지정)
  53:NEW
  20:ESTABLISHED,RELATED

  => STATE
     NEW          : 새로운 연결
     ESTABLISHED  : 연결이 성립되어 있는 상태
     RELATED      : FTP의 20번 포트나 passive port와 같은 연관 연결
     INVALID      : 이상 패킷

* 설정 표현식

  값의 구분자는 공백문자를 사용함.

    설정옵션 = 값1 값2 값3

  다음과 같이 값을 여러줄로 설정이 가능.
  마지막은 '\' 문자가 없어야 함. '\' 문자는 한줄로 연결한다는 의미를 뜻합니다.

    Directive = VALUE1 \
                VALUE2 \
                VALUE3
PreviousChapter 2. Access ControlNext기본 설정

Last updated 5 years ago

Was this helpful?