728x90
반응형
Linux에서 ssh 보안 설정 방법
SSH(보안 셸)는 원격 서버에 안전하게 접속할 수 있는 프로토콜입니다. Linux 시스템에서 SSH 접근을 제어하는 방법은 여러 가지가 있으며, 주로 사용되는 방법은 다음과 같습니다.
1. SSH 설정 파일 수정
SSH 서버의 설정 파일인 /etc/ssh/sshd_config를 수정하여 특정 사용자나 IP의 접근을 제어할 수 있습니다.
- Root 계정 접근 제한:이 설정은 root 계정의 SSH 접근을 차단합니다. 대신 일반 사용자 계정을 생성하여 sudo 권한을 부여하는 것이 좋습니다.
- PermitRootLogin no
- 특정 사용자 허용:특정 사용자만 SSH 접속을 허용합니다.
- AllowUsers username
- 특정 포트 변경:기본 포트인 22를 다른 포트로 변경하여 보안을 강화할 수 있습니다.
- Port 2222
2. IP 주소 기반 접근 제어
2.1. hosts.allow 및 hosts.deny 파일 사용
Linux에서는 /etc/hosts.allow와 /etc/hosts.deny 파일을 사용하여 IP 주소 기반의 접근 제어를 설정할 수 있습니다.
- 허용할 IP 설정 (/etc/hosts.allow):특정 IP만 SSH 접근을 허용합니다.
- sshd: 192.168.1.100
- 차단할 IP 설정 (/etc/hosts.deny):기본적으로 모든 IP의 접근을 차단합니다. 허용된 IP는 hosts.allow에서 정의된 IP만 접근할 수 있습니다.
- sshd: ALL
2.2. firewalld 사용
RHEL 8 이상 및 CentOS 8, Rocky Linux에서는 firewalld를 사용하여 SSH 접근을 제어할 수 있습니다.
- 특정 IP 허용:
- firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
- 특정 IP 차단:
- firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.101" reject'
- 변경 사항 적용:
- firewall-cmd --reload
3. TCP Wrapper 사용
TCP Wrapper는 SSH 접근을 제어하는 또 다른 방법으로, /etc/hosts.allow와 /etc/hosts.deny 파일을 사용하여 접근을 허용하거나 차단합니다. 그러나 RHEL 8 이상에서는 firewalld 사용이 권장됩니다.
4. SSH 접속 시도 제한
SSH 접속 시도 횟수를 제한하여 보안을 강화할 수 있습니다. sshd_config 파일에서 다음과 같은 설정을 추가합니다.
MaxAuthTries 3
이 설정은 최대 3회 로그인 시도 후 연결을 차단합니다.
5. SSH 서비스 재시작
설정을 변경한 후에는 SSH 서비스를 재시작하여 변경 사항을 적용해야 합니다.
sudo systemctl restart sshd
결론
Linux에서 SSH 접근 제어는 보안의 중요한 요소입니다. 위의 방법들을 통해 특정 사용자 및 IP에 대한 접근을 효과적으로 관리할 수 있습니다. 각 방법의 장단점을 고려하여 환경에 맞는 접근 제어 방식을 선택하는 것이 중요합니다.
728x90
반응형
'2025' 카테고리의 다른 글
미코 (1) | 2025.01.22 |
---|---|
비트코인 $100,000 다시 돌파 후 건강한 조정? MVRV Z-Score Index 2.83 (0) | 2025.01.16 |
리눅스 ssh 사용자계정과 IP로 접근 제어 (ACL) 방법 - AllowUsers, usePAM (0) | 2025.01.16 |
프럼파스트 LK삼양 클로봇 (0) | 2025.01.15 |