2022. 10. 15. 08:00ㆍLinux
제가 근무하고 있는 회사는 CentOS 7을 대체하기 위한 Next OS로 상용 OS인 RHEL(Red Hat Enterprise Linux) 9를 준비하고 있습니다. 아래 내용은 RHEL9 도입을 위한 사전 체크 중 기존 CentOS 7 기반 설정에서 변경이 되는 부분에 대한 내용을 정리하였습니다.
1. 문제점
1) RHEL8 이상 tcp_wrappers 기능 미지원
RHEL8 이상부터 여러 가지 서비스의 접근 제어가 가능했던 tcp_wrappers 기능을 지원하지 않으며 firewalld로 대체되었습니다. 기본 패키지에서 tcp_wrappers가 제외되어 /etc/hosts.allow, /etc/hosts.deny를 통한 보안 설정이 불가능합니다.
2) RHEL8/9에서는 firewalld 사용
RHEL8/9에서는 firewalld를 사용해야 합니다. 기존에 firewalld를 사용하지 않았기 때문에 사용법도 파악해야 되고 기존 설정에 대한 수정도 필요합니다. 제 경우는 SSH 접근제어 설정을 취약점 조치 스크립트에 포함하여 사용하고 있었는데 이 부분을 수정하면 될 것 같습니다.
2. tcp_wrappers 사용 예
CentOS 7에서 tcp_wrappers 기능을 사용한 접근제어는 /etc/hosts.deny 파일에 모든 접근을 차단하고 /etc/hosts.allow 파일에 허용한 프로토콜과 접근 IP를 설정하여 사용을 했습니다. 192.168.196 대역 네트워크만 SSH 접속을 허용하려면 아래와 같이 설정합니다. RHEL9에서는 더 이상 이러한 설정을 할 수 없습니다.
1) /etc/hosts.deny 설정
/etc/hosts.deny 은 서비스 차단 설정 파일입니다. 해당 파일에 아래와 같이 설정합니다.
- ALL : ALL → 모든 프로세스의 모든 IP 접속 거부
2) /etc/hosts.allow 설정
/etc/hosts.allow 는 서비스 허용 설정 파일입니다. 해당 파일에 아래와 같이 설정합니다.
- sshd: 192.168.196. → 192.168.196 대역의 SSH 접속을 허용
3. firewalld 사용 예
RHEL9에서 192.168.196 대역 네트워크에 SSH를 허용하고 다른 모든 네트워크를 차단하려면 아래와 같이 설정합니다.
- ssh 서비스를 기본 방화벽에서 제거
- # firewall-cmd --permanent --remove-service=ssh
- sexyguyzone 이름으로 새로운 zone을 추가
- # firewall-cmd --permanent --new-zone=sexyguyzone
- 생성한 새로운 zone에 IP 대역(192.168.196.0/24) 추가
- # firewall-cmd --permanent --zone=sexyguyzone --add-source=192.168.196.0/24
- 추가된 newsshzone에 ssh 서비스를 추가
- # firewall-cmd --permanent --zone=sexyguyzone --add-service=ssh
- 방화벽을 다시 로드하여 새 구성을 활성화
- # firewall-cmd --reload
4. 마무리
지금까지 제가 RHEL9 도입을 준비하면서, SSH 접근제어 설정에는 기존에 사용하던 OS와 어떠한 차이가 있는지 정리한 내용을 포스팅했습니다.
'Linux' 카테고리의 다른 글
[CentOS7] MariaDB 10.6 설치 (0) | 2022.10.26 |
---|---|
[RHEL9] SELinux 비활성화 (0) | 2022.10.14 |
[RHEL9] 계정 잠금(pam_faillock) 설정 (0) | 2022.10.13 |
[RHEL9] 시간 동기화 (0) | 2022.10.12 |
[RHEL9] 네트워크 설정 (0) | 2022.10.11 |