별의 공부 블로그 🧑🏻‍💻
728x90
728x170

70. IP 기반의 접근 통제

1. IP 기반의 접근 통제 TCP Wrapper

  • TCP Wrapper
    • 외부에서 접근하는 IP 주소를 차단하거나 허용할 수 있는 것
    • 유닉스 계열에서 사용되는 접근 제어 툴
    • 인터넷 슈퍼 데몬으로 구동되는 서비스에 대한 접근 제어와 로깅을 하는 보안 도구

(1) TCP Wrapper 동작 방식

  • 클라이언트가 inetd로 구동되는 서버의 애플리케이션을 요청함.
  • inetdtcpd에게 제어권을 넘김.
  • tcpd는 애플리케이션에 대한 접근 제어 목록(hosts.allowhosts.deny)을 검사함.
  • 사용자에게 애플리케이션 접근을 허용함.

(2) FTP 접근 통제 파일

  • /etc/hosts.deny : 특정 IP의 접근 제한
  • /etc/hosts.allow : 특정 IP 접근 허용

 

2. iptables

  • iptables 방화벽의 시작
    • 기본 정책 수립
  • iptables를 이용하여 방화벽을 구성할 경우, 2가지 정책 중 1가지를 선택하면 됨.
  • 일반적으로 모든 패킷에 대해서 무시하는 것이 방화벽의 기본 정책임.
    • 방화벽의 기본 정책
      • 모든 것을 허용한 후, 제한할 것을 거부함.
      • 모든 것을 거부한 후, 필요한 것만 허용함.
  • 대부분의 리눅스 배포판
    • 모든 것을 거부하는 것을 기본 정책으로 채택하고 있음.
    • 페도라코어 리눅스
      • 모든 것을 허용하는 정책을 기본으로 하고 있음.
  • 기본 정책으로 모든 것에 대해 거부하는 정책을 택하여 다음과 같이 실행하여 기본 보안 정책을 수립함.
# iptables -F
# iptables -X
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT DROP
  • iptables -L 명령
    • iptables의 테이블 상태를 점검할 수 있음.
    • INPUT, FORWARD, OUTPUT 체인의 정책을 확인할 수 있음.
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
KUBE-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes service portals */
KUBE-EXTERNAL-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes externally-visible service portals */
KUBE-FIREWALL  all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
KUBE-FORWARD  all  --  anywhere             anywhere             /* kubernetes forwarding rules */
KUBE-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes service portals */
ACCEPT     all  --  ip-10-1-0-0.ap-northeast-2.compute.internal/16  anywhere             /* generated for MicroK8s pods */
ACCEPT     all  --  anywhere             ip-10-1-0-0.ap-northeast-2.compute.internal/16  /* generated for MicroK8s pods */

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
KUBE-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes service portals */
KUBE-FIREWALL  all  --  anywhere             anywhere            

Chain KUBE-EXTERNAL-SERVICES (1 references)
target     prot opt source               destination         

Chain KUBE-FIREWALL (2 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere             /* kubernetes firewall for dropping marked packets */ mark match 0x8000/0x8000
DROP       all  -- !localhost/8          localhost/8          /* block incoming localnet connections */ ! ctstate RELATED,ESTABLISHED,DNAT

Chain KUBE-FORWARD (1 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere             ctstate INVALID
ACCEPT     all  --  anywhere             anywhere             /* kubernetes forwarding rules */ mark match 0x4000/0x4000
ACCEPT     all  --  anywhere             anywhere             /* kubernetes forwarding conntrack pod source rule */ ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere             /* kubernetes forwarding conntrack pod destination rule */ ctstate RELATED,ESTABLISHED

Chain KUBE-KUBELET-CANARY (0 references)
target     prot opt source               destination         

Chain KUBE-PROXY-CANARY (0 references)
target     prot opt source               destination         

Chain KUBE-SERVICES (3 references)
target     prot opt source               destination  
  • INPUT, FORWARD, OUTPUT 체인의 정책이 모두 DROP일 경우
    • 리눅스 서버로 어떠한 패킷이든 들어오고 나올 수 없는 상태를 의미함.
    • 로컬이든 외부이든 컴퓨터로는 네트워크가 차단된 것처럼 연결할 수 없게 됨.
    • ping 127.0.0.1 명령으로 루프백에 핑을 테스트해 보면 핑이 나가지 않는 것을 확인할 수 있음.
  • 루프백으로 모든 패킷이 자유롭게 들어오고 나갈 수 있도록 다음과 같이 명령을 수행할 수 있음.
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCPET
  • 루프백 주소로 핑을 날리면 핑이 나감을 확인할 수 있음.
    • 핑 뿐만 아니라 로컬에서 제공하는 모든 네트워크 서비스에 접근할 수 있게 됨.

 


 

내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)

728x90
그리드형(광고전용)

'Certificate > Network Manager' 카테고리의 다른 글

74. 스니핑(Sniffing)  (0) 2021.05.03
73. 침입 탐지 시스템(IDS)  (0) 2021.05.03
72. 침입 차단 시스템(Firewall)  (0) 2021.05.03
71. 파일 무결성 검사  (0) 2021.05.03
69. 전자 우편 보안  (0) 2021.05.03
68. 전자상거래 보안  (0) 2021.05.03
67. 웹 서버 보안  (0) 2021.05.03
66. 비대칭키(공개키) 암호화  (0) 2021.05.02
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖