리눅스 hosts.allow 및 hosts.deny 설정

리눅스 서버에서 특정 IP만 허용 및 특정 IP에 대한 차단을 위해 리눅스 hosts.allow 및 hosts.deny 설정을 각각 진행할 수 있습니다. iptables 방화벽에서 특정 IP만 SSH 접속을 허용하는 방법을 사용할 수 있지만 1개 이상의 IP가 SSH에 접속해야 하는 경우 hosts.allow 설정을 진행할 수 있습니다.

  • hosts.allow
  • 서비스 허용 설정 파일
  • hosts.deny
  • 서비스 차단 파일

✅ 리눅스 hosts.allow 설정

~]# vi /etc/hosts.allow

sshd: 0.0.0.0 << 모두 허용 IP 대신 추가할 IP 설정
sshd : 201.381.191.001: ALLOW # 201.381.191.001 IP sshd 허용
# 모든 서비스(vsftpd, sshd, rsync, vsftpd, sendmaiil) 허용하기
ALL: ALL     
# 
rsync : 201.381.191.001: ALLOW
vsftpd : 201.381.191.001: ALLOW
sendmail : 201.381.191.001: ALLOW
in.telnetd : 201.381.191.001: ALLOW # 텔넷 서비스 허용

✅ 리눅스 hosts.deny 설정

~]# vi /etc/hosts.deny
# 모든 서비스 허용 상태
ALL: ALL     
# 
sshd : 186.189.193.112

설정 후 마지막으로 sshd를 재 시작 해 줍니다.

systemctl start xinetd | etc/init.d/xientd
service sshd restart
systemctl sshd restart 

✅ RHEL/CentOS 8 및 록키리눅스 8 버전 hosts.allow 사용 불가

RHEL/CentOS 8과 록키 리눅스 8 버전부터 hosts.allow와 hosts.deny 파일의 사용이 불가능해졌습니다. 파일 생성 후 룰을 입력해도 적용되지 않습니다.

레드헷 문서에서는 hosts.allow 설정을 하는 tcp_wrappers 패키지가 포함되어 있지 않다고 하며, ‘Firewalld’로 기능이 대체되었다고 합니다.

ldd /usr/sbin/sshd | grep wrap
# 조회 시 결과 없음으로 표시됩니다.
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f957f04a000) # 메시지가 나와야 tcp_wrappers 패키지가 설치되어 있는 것으로 확인할 수 있습니다.

결국 Firewalld이나 iptables 방화벽으로 설정을 해야 합니다.

리눅스(Linux)

Similar Posts

  • 셸 스크립트란? 셸과 셸 프롬프트&bash shell

    목차✅ 리눅스 hosts.allow 설정✅ 리눅스 hosts.deny 설정✅ RHEL/CentOS 8 및 록키리눅스 8 버전 hosts.allow 사용 불가 ▥ 셸 스크립트란(shell script)? 1. 셸이란? 키보드에 입력한 명령어를 운영체제에 전달해서 전달한 명령어를 실행하게 하는 프로그램이다. 2. 셸 프롬프트 셸 프롬프트는 셸이 입력 가능한 상태일 때에만 나타난다. 달러 ($)는 일반 유저일 때, 해쉬 표시(#)는 터미널 세션이 슈퍼…

  • 리눅스 시스템 로그 정의 및 분류

    리눅스 시스템 로그는 시스템에서 발생하는 다양한 이벤트를 기록하며, 시스템의 상태를 모니터링하고 문제를 진단하는 데 중요한 역할을 합니다. 로그 파일은 시스템의 동작, 오류, 보안 관련 이벤트 등을 기록하고, 관리자는 이를 통해 시스템의 상태를 점검하며 성능을 모니터링할 수 있습니다. 이를 통해 시스템의 원활한 운영을 보장하고, 트러블슈팅 시 중요한 정보를 제공합니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스…

  • 리눅스 host 명령어 | DNS 조회 명령어

    host 명령어는 DNS(Domain Name System) 조회를 할 때 사용하는 명령어입니다. 호스트 이름에 해당하는 IP 주소를 찾거나, 반대로 IP 주소를 호스트 이름으로 변환하는 데 사용됩니다. 네트워크 연결 문제를 해결하거나 호스트 이름과 IP 주소 간의 매핑을 확인하는 데 유용합니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스 hosts.deny 설정✅ RHEL/CentOS 8 및 록키리눅스 8 버전 hosts.allow 사용 불가✅…

  • [Linux] CentOS 7 yum repo 변경(EOS)

    CentOS 7의 공식 EOS 날짜는 2024년 6월 30일로 종료되면서 기본 저장소가 비활성화되었기 때문에, yum 명령어 실행 시 저장소를 찾지 못해 오류가 발생합니다. CentOS 7 yum repo 변경을 한 후에 문제 해결이 가능합니다. CentOS 7에서 EOS(End of Support)에 따라 CentOS 7을 처음 설치 시 설정 된 yum 명령어 실행 시 One of the configured…

  • [Linux] userdel 명령어: 사용자 계정 삭제 명령어

    리눅스에서 useradd로 계정 생성 후 삭제가 필요한 경우 userdel 명령어를 사용합니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스 hosts.deny 설정✅ RHEL/CentOS 8 및 록키리눅스 8 버전 hosts.allow 사용 불가✅ userdel 명령어 기본 사용은 아래와 같습니다. ✅ userdel 주로 사용하는 옵션 userlde만 입력해서 사용자를 삭제할 경우 보통 /home/[user]로 계정명이 폴더에 버전에 따라 남아있거나 삭제되는데 /var/spool/mail/[user] 파일은…

  • nslookup 명령어

    nslookup 명령어는 네임 서버 조회(Name Server Lookup)를 뜻하는 명령어로 네임 서버의 정보를 얻기 위한 명령어입니다. DNS(Domain Name System)에 질의 후 대상 도메인의 IP 주소나 DNS 레코드 등의 정보를 얻기 위한 네트워크 명령어입니다. DNS 서버의 정상적인 작동을 통해 정상적인 네트워크 설정이 되었는지 확인할 때 많이 사용하게 되는 명령어 중 하나입니다. 보통 맥 OS 및…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   4   =