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

공정위 광고 문구 Ver 2.0

리눅스 서버에서 특정 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

  • 리눅스 top 명령어(CPU, 메모리 점유율 확인)

    리눅스 top 명령어는 구동 중인 OS의 상태를 보여주는 명령어이며 table of processes의 뜻을 가지고 있습니다. 총 메모리 사용량, CPU 사용량 등을 보여주며 각 프로세스의 구체적인 메모리와 CPU 사용량을 개별적으로 확인할 수 있습니다. Ⅰ. 리눅스 top 명령어 기본 사용 top 명령어는 대부분 옵션 없이 사용하지만 일반적인 명령어와 동일하게 기본 사용은 옵션과 명령 인자로 이루어져…

  • Nginx SSL 인증서 설치[CentOS 7]

    Nginx SSL 인증서 설치를 진행합니다. 1. 인증서 신청하기 SSL 인증서는 30일 무료 SSL을 https://zerossl.com/ 사이트에서 신청했습니다. DCV 인증은 DNS 인증 방식으로 진행했습니다. 네임서버에서 CNAME 레코드를 설정합니다. 설정 후 인증 신청을 한 후 대기 시간이 소요됩니다. 인증이 완료되면 인증서 파일을 다운로드 받은 후 서버에 인증서 설치 작업을 진행합니다. 2. 방화벽 설정 윈도우 처음 설치…

  • 리눅스 디스크 마운트 | /etc/fstab으로 자동 마운트 설정

    리눅스에 추가 HDD 또는 SSD 등의 스토리지를 추가 후 사용하려면 먼저 포맷이 진행되어야 합니다. 리눅스 디스크 마운트 작업까지 진행해서 사용하기 전에 먼저 스토리지 포맷과 파일 시스템 구축을 진행하는 과정부터 진행 해 보겠습니다. ✅ 리눅스 디스크 마운트 하기 1. 파일 시스템 포맷 AWS 클라우드에서 EBS 볼륨을 연결했으며 장치 파일을 확인 후 mkfs 명령어로 파일…

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

    리눅스에서 useradd로 계정 생성 후 삭제가 필요한 경우 userdel 명령어를 사용합니다. ✅ userdel 명령어 기본 사용은 아래와 같습니다. ✅ userdel 주로 사용하는 옵션 userlde만 입력해서 사용자를 삭제할 경우 보통 /home/[user]로 계정명이 폴더에 버전에 따라 남아있거나 삭제되는데 /var/spool/mail/[user] 파일은 대부분의 리눅스에서 남게 됩니다. ✅ 사용자 계정 강제 삭제 제거할 사용자 계정이 로그인 되어 있거나…

  • 리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션

    ‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다. 리눅스에서 “매개변수(Parameters)”는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 “매개변수(Parameters)”는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에…

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

    리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다. ✅ 쉘(Shell)이란? Shell은 껍데기, 주변이라는 뜻을 가지고 있으며, 키보드로 입력한 리눅스 명령어를 운영…

답글 남기기

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

Prove your humanity: 3   +   5   =