리눅스 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

  • 리눅스 셸 환경(Shell Environment) 정의 및 이해와 쉘 환경변수 | Shell 시작 파일 2가지

    셸 세션을 이용해서 서버와 상호 작용을 할 때 해당 동작과 리소스에 대한 연결을 결정하기 위해 컴파일 하는 많은 정보가 있습니다. 이러한 서정 중 일부는 구성 설정에 포함되어 있으며, 다른 설정은 사용자 입력에 의해 결정됩니다. 리눅스 셸 환경은 셸의 구성 설정과 사용자 입력에 의해 결정된 설정을 유지관리 영역을 이용해 관리하는 가장 일반적인 방법을 이용하게…

  • 리눅스 FirewallD 설치 및 데몬 설정

    리눅스 FirewallD는 iptables의 체인과 정책이라는 규칙 대신 Zone과 Service를 대신 사용합니다. Firewalld를 사용하는 이유는 iptables의 규칙이 복잡하기 때문에 iptables 대신 사용할 수 있도록 하기 위함입니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스 hosts.deny 설정✅ RHEL/CentOS 8 및 록키리눅스 8 버전 hosts.allow 사용 불가✅ 리눅스 FirewallD 설치하기 리눅스 서버에 설치 여부를 먼저 확인합니다. 설치되어 있지 않다면…

  • [Linux] 쉘(Shell)과 커널&쉘 스크립트 및 프롬프트

    리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스 hosts.deny 설정✅ RHEL/CentOS 8 및 록키리눅스 8 버전…

  • 리눅스 서버 시간 동기화: timedatectl(CentOS7 이상)

    리눅스에서 날짜 및 시간 설정이 필요한 이유는 서버 운영 중 시간이 잘못되면, 입력되는 DB데이터, 로그 데이터, 웹 서버에 접속한 기록 등의 시간이 맞지 않는 경우가 발생할 수 있기 때문입니다. 리눅스 서버 시간 동기화를 사용하는데 있어 OS는 두 개의 시계를 가지고 있습니다.시스템 시계(소프트웨어 시계), 하드웨어 시계(실시간 시계, BIOS 시계)입니다. 목차✅ 리눅스 hosts.allow 설정✅ 리눅스…

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • 리눅스 명령어 13가지 카테고리 분류&시스템의 이해

    리눅스의 명령줄 인터페이스(Command Line Interface, CLI)는 컴퓨터 프로그램 및 운영체제와 상호 작용하기 위한 텍스트 기반의 사용자 인터페이스입니다. 리눅스 명령어는 유닉스 계열 운영체제어서 거의 동일하게 작동하며, 명령어를 입력해서 파일의 생성, 수정, 복사 이동 및 서버 전반에 걸친 관리를 하게 됩니다. 명령어를 카테고리로 분류하지만 틀릴 수 있는 점을 참고하여 주시기 바랍니다. 목차✅ 리눅스 hosts.allow 설정✅…

답글 남기기

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

Prove your humanity: 10   +   6   =