이 가이드에서는 CentOS 서버의 기본 보안 설정에 대해 안내합니다.
CentOS는 많은 기업과 개인이 사용하는 인기있는 Linux 배포판입니다. 그러나 보안 취약점이 존재할 수 있다는 점을 고려해야 합니다. 이 가이드는 기초적인 CentOS 보안 설정을 제공하여 서버를 보호하는 데 도움을 줄 것입니다.
1. 업데이트 유지
CentOS 보안을 유지하기 위해 매우 중요한 단계는 시스템 패키지를 업데이트하는 것입니다. 아래 명령어를 사용하여 시스템을 최신 상태로 유지하세요:
sudo yum update
2. 방화벽 설정하기
CentOS에는 기본적으로 firewalld 방화벽이 내장되어 있습니다. 방화벽을 사용하여 네트워크 트래픽을 제어할 수 있습니다. 다음 명령어로 방화벽을 설정하세요:
sudo systemctl enable firewalld
sudo systemctl start firewalld
기본적으로 SSH(22번 포트)가 허용되지만 필요에 따라 다른 포트를 허용하고 다른 보안 규칙을 설정할 수 있습니다.
3. 강력한 암호 사용
약한 암호는 해킹이나 불법적인 접근을 촉진할 수 있습니다. 다음 규칙을 따라 강력한 암호 정책을 설정하세요:
- 암호 길이: 암호의 최소 길이를 8자 이상으로 설정하세요.
- 복잡한 암호: 암호에는 숫자, 특수 문자, 대문자와 소문자를 혼합하여 사용하세요.
- 주기적인 암호 변경: 사용자에게 주기적으로 암호를 변경하도록 요청하세요.
4. SSH 액세스 제한
SSH는 원격으로 시스템에 액세스하기 위한 표준 프로토콜입니다. 보안을 강화하기 위해 다음 설정을 적용하세요:
- Root 로그인 비활성화: sshd_config 파일에서 PermitRootLogin 옵션을 변경하여 root 계정으로의 직접 로그인을 비활성화하세요.
- 키 기반 인증 사용: SSH 키를 사용하여 인증을 수행하도록 설정하세요.
5. SELinux 활성화
CentOS에는 SELinux(Security-Enhanced Linux)가 내장되어 있습니다. SELinux는 취약점을 이용한 공격을 막는 데 도움이 되는 추가적인 보안층을 제공합니다. 다음 명령어로 SELinux를 활성화하세요:
sudo setenforce 1
sudo vi /etc/selinux/config
# SELINUX=enforcing으로 수정하세요
위 설정을 적용하면 SELinux가 부팅할 때 자동으로 활성화됩니다.
6. 정기적인 로그 모니터링
로그 파일을 정기적으로 모니터링하여 시스템에 대한 이상한 행위를 탐지할 수 있습니다. 적절한 로그 관리 정책을 설정하여 로그 파일을 보호하고 중요 정보를 추출하세요.
7. 보안 패키지 설치
CentOS에는 시스템 보안을 향상시키기 위한 다양한 패키지가 있습니다. 예를 들어 다음과 같은 패키지를 설치하는 것이 좋습니다:
- fail2ban: 반복해서 실패한 로그인을 차단하는 도구입니다.
- rkhunter: 파일 시스템을 검사하여 악성 코드 감지를 위한 도구입니다.
이러한 패키지를 설치하여 서버의 보안 강화를 할 수 있습니다.
CentOS 서버를 운영하면서 보안 설정은 매우 중요합니다. 이 가이드를 사용하여 기본적인 보안 설정을 수행하고 서버를 안전하게 유지하세요. CentOS의 보안을 강화하면 시스템을 안정적으로 운영할 수 있으며 해킹과 같은 위협으로부터 보호될 수 있습니다.