FREEDOM. FRIENDS. FEATURES. FIRST. 페도라 한국 사용자 모임

RHEL/CentOS 8에서 hosts.deny 기능 사용불가(비활성화)

게시판 Tech/Tip RHEL/CentOS 8에서 hosts.deny 기능 사용불가(비활성화)

  • This topic has 0개 답변, 1명 참여, and was last updated 4 years, 2 months 전에 by 태랑. This post has been viewed 5744 times
  • #22285
    태랑
    키 마스터
      게시글304 댓글1077 총합1381
    @admin
     

    안녕하세요 운영자 태랑(정현호) 입니다.

     

    이번에는 RHEL/CentOS 8에서 hosts.allow 와 hosts.deny 기능 사용 불가에 관하여 공유 드립니다

    얼마전에 다른 리눅스 커뮤니티에서 관련된 질문글을 보고 찾아보게 되다 보니 확인 된 내용으로 페도리 리눅스에서는 이전에 적용(반영) 된 상태이고 RHEL, CentOS에서는 8 버전부터 해당 내용이 적용된 상태 입니다.

     

    1. hosts.allow, hosts.deny

    /etc/hosts.allow 에서는 기록되어있는 IP와 프로세스등의 접속을 허용이 되고, /etc/hosts.deny에서는 기록되어있는 IP와 프로세스등의 접속을 차단하는 기능을 하게 됩니다 이 기능은 tcp_wrappers 패키지를 통해서 실행 되게 됩니다.

     

    blog.naver.com/hymne/220959758635

     

    2. RHEL/CentOS 8 - hosts.allow/deny 사용 불가

    RHEL/CentOS 8 버전에서는 /etc/hosts.allow 나 /etc/hosts.deny 파일이 확인 되지 않으며 파일을 생성 후 기존 과 같이 허용이나 차단에 대한 룰을 입력 하여도 적용이 되지 않습니다

    /etc/hosts.deny 에서의 적용 예시
    ALL: 123.123.123.123

    레드햇 문서에 따르면 tcp_wrappers 패키지가 RHEL8 에서 포함되어 있지 않으며 tcp_wrappers 의 기능을 firewalld 로 대체 하였다고 합니다.
    - Does /etc/hosts.allow and /etc/hosts.deny have any use whatsoever in RHEL 8?[Link]

    tcp_wrappers 패키지 자체는 EPEL 레파지토리에서 설치는 할수 있으나 sshd에서 libwrap.so.0 라이브러리 참조하고 있지 않기 때문에 사용이 불가하며 7버전과 8버전에서의 차이는 아래와 같이 확인 해볼 수 있습니다.

    RHEL/CentOS8
    [root]# ldd /usr/sbin/sshd | grep wrap
    (결과 없음)
    
    RHEL/CentOS7
    [root]# ldd /usr/sbin/sshd | grep wrap
    libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f957f04a000)

    [참고] 코드 하이라이트 기능은 사이트 안내 글[링크] 에 설명 되어 있습니다.

     

    즉, 8 버전에서는 sshd 패키지에 libwrap라이브러리 참조를 제거 한 것이라고 볼 수 있으며 그래서 8 버전 부터는 /etc/hosts.deny 등을 통해 차단이 아닌 OS 방화벽인 firewalls 를 통해 차단을 수행 해야 합니다.

     

    3. 제외 된 배경

    보통 Fedora Linux 에서 부터 변경에 대한 정책이 결정이 되고 적용이 되게 됩니다. 그리고 이후 RHEL 이 적용(DownStream) 을 하게 되게 됩니다. 그래서 이러한 변경에 대한 내용은 Fedora Linux 의 문서에서 많이 확인이 가능 합니다.

    fedoraproject.org/Deprecate_TCP_wrappers[L]에 내용이 잘 정리되어 있으며 사유로는 아래와 같은 내용이 기술되어 있습니다.

    tcp_wrappers 마지막 버전은 20 년 전에 출시되었습니다(IPv6 지원은 나중에 추가되었지만) 당시에는 "모든 트래픽을 차단" 하는 매우 강력한 도구 였지만, 요즘에는 네트워크 수준의 모든 트래픽에 대해 firewalls/iptables/nftables 를 사용하여 동일한 작업을 수행하거나 애플리케이션 수준에서 유사한 필터링을 사용할 수 있습니다.
    fedora devel list 의 스레드를 기반으로 2014 년에 systemd 및 OpenSSH에서 TCP 래퍼 지원을 제거한 것입니다 (중략..) 네트워킹 통신에 대한 위협이 지속적으로 증가하고 있지만이 패키지의 위협 범위는 지난 20 년 동안 동일하게 유지되어 새로운 위협이 현재 다른 구성 요소에 의해 처리되고 있다는 추론을 이끌어 냈습니다.

    이전에 scp 관련한 포스팅과 유사하게 개발이 된지 오래된 라이브러리 패키지로 추가적인 기능 개선이 없었거나 더 좋은 도구(패키지)의 등장으로 인하여 대체 가능한 시점으로 판단되어 더 이상 지원을 하지 않기로 결정 된것 같습니다.

     

    4. 의존성에 의해 라이브러리 제외된 패키지

    389-ds-base
    aeskulap
    apcupsd
    apt-cacher-ng
    audit
    bacula
    bacula2
    conserver
    ctk
    cyrus-imapd
    dcmtk
    dovecot
    exim
    flow-tools
    gsi-openssh
    net-snmp
    nfs-utils
    ngircd
    nrpe
    openldap
    openssh
    pptpd
    prelude-manager
    proftpd
    pulseaudio
    quota
    redir
    rpcbind
    rwhoisd
    sendmail
    slapi-nis
    socat
    sslh
    stunnel
    syslog-ng
    tftp
    up-imapproxy
    uwsgi
    vsftpd
    xinetd
    yaz

     

    5. conclusion

    RHEL/CentOS 8 에서 부터는 /etc/hosts.allow,deny 를 사용할 수 없음으로 firewalld 를 사용하거나 firewalld/ iptables 기반으로 자동 차단과 수동 차단을 지원하는 fail2ban 의 사용을 고려해보면 어느정도 대안이 될 것 같습니다.

    페도라 리눅스의 경우 28 버전에서 부터 제외 된 것으로 wiki 에서 확인 됩니다(link)
    Current status
    Targeted release: Fedora 28
    Last updated: 2018-03-19
    Tracker bug: #1495181

     

    감사합니다.

    ref link
    https://hoing.io/archives/14925

    참고 : fail2ban 포스팅 글[링크-link]

    글의 최상위로 이동[클릭]

    오픈소스를 응원합니다 Blog https://hoing.io
    Senior Database Administrator(MySQL, Oracle)

    사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

  • 답변은 로그인 후 가능합니다.

지금 이 순간


오늘, Fedora 12 설치 합니다.
새해 복 많이 받으시고 올 한해에도 화이팅하세요
케냐에 계신 피터강님 서버지원에 대해서.
fedora 14 에서 fragrouter-1.6 설치 문제 도움요청
번역 퀵스타트 가이드
리눅스 끼리 멀티 가능한가요?
centos 5.X에서 git 1.7.0 최신버젼 설치방법
explore2fs 와 ext2fsd
리눅스용 웹서버 "Lighttpd" v1.2.0
가입인사