안녕리눅스 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
  2. 안녕 리눅스 방화벽 설정

Inbound 제어

Inbound 제어를 한다는 것은 여러가지 의미가 있습니다.

  1. 외부의 사용자가 이 서버로 ssh 접속을 한다.

  2. 외부의 사용자가 이 서버로 http 접속을 한다.

이해하기 쉽게 표현하자면 위의 기술과 같이 외부의 사용자 또는 프로그램이 이 서버로 접근을 하는 것을 의미하며, 좀더 정확하게는 외부에서 들어오는 syn packet을 제어하는 것으로 이해를 하면 됩니다. (syn packet이 무엇인지 꼭!! 알야야 하는 것은 아닙니다)

oops-firewall의 Inbound 설정은 다음과 같습니다.

  [root@an3 ~]$ cat /etc/oops-firewall/filter.conf

  .. 상략..
  ##########################################################################
  # TCP configuration
  ##########################################################################
  #
  # 모두 열여줄 포트를 설정
  #
  # RULE:
  #       DESTINATION_PORT[:STATE]
  #
  TCP_ALLOWPORT = 22

  # 특정 호스트에 특정 포트를 열어 줄때
  #
  # RULE:
  #       SOURCE_IP[:DESTINATION_PORT[:STATE]]
  #
  TCP_HOSTPERPORT =

  ##########################################################################
  # UDP configuration
  ##########################################################################
  #
  # 모두 열여줄 포트를 설정
  # RULE:
  #       DESTINATION_PORT[:STATE]
  #
  UDP_ALLOWPORT =

  # 특정 호스트에 특정 포트를 열어 줄때
  #
  # RULE:
  #       SOURCE_IP[:DESTINATION_PORT[:STATE]]
  #
  UDP_HOSTPERPORT =

  ##########################################################################
  # ICMP configuration
  ##########################################################################
  #
  # 특정 호스트에 ping 을 열어 줄때
  # RULE:
  #       SOURCE_IP
  #
  ICMP_HOSTPERPING =

  # 특정 호스트에 traceroute 를 열여줄 때
  #
  # RULE:
  #       SOURCE_IP
  #
  ICMP_HOSTPERTRACE = anywhere
  .. 하략 ..

  [root@an3 ~]$

Inbound 설정은 filter.conf에서 하며, TCP/UDP/ICMP 이렇게 3개의 section으로 나뉘어져 있습니다. 각 섹션은 포트로만 제어를 하는 옵션과 호스트별 포트로 제어를 하는 경우로 나뉘어져 있습니다.

예를 들어 내 서버에서 web service를 하겠다고 한다면 아래와 같이 TCP_ALLOWPORT에 80번을 추가 합니다.

  TCP_ALLOWPORT = 22 80

하지만, 만약 모든 사람이 다 봐야 되는 경우가 아닐 수도 있습니다. 예를 들어 특정 업체와 연계를 하여, 그 업체의 특정 IP(또는 IP대역)에서 이 서버의 80번 포트로 접근을 허가해 주여야 하는 경우는 위의 설정 대신 아래와 같이TCP_HOSTPERPORT 에 설정을 해 줍니다.

  TCP_HOSTPERPORT = 10.0.48.2:80 15.4.2.128/25:80

위의 설정은 다음을 의미합니다.

  1. 10.0.0.48.2 에서 이 서버의 80번으로 들어오는 접근 허가

  2. 15.4.2.128-15.4.2.255 IP 대역에서 이 서버의 80번으로 들어오는 접근 허가

주의 할 것은, IP는 '외부에서 접근할 IP'이고, 포트는 '외부에서 접근할 이 서버의 포트' 입니다.

이런 형식으로 서비스에 맞게 protocol을 지정해 주실 수 있습니다.

Previous기본 설정NextOutbound 제어

Last updated 5 years ago

Was this helpful?