CentOS 보안 강화 기법

CentOS는 많은 기업과 개인에게 인기 있는 Linux 배포판 중 하나입니다. 그러나 시스템의 보안은 계속해서 강화되어야 합니다. 이 글에서는 CentOS 시스템의 보안을 강화하기 위한 몇 가지 기법을 소개하고 설명하겠습니다.

1. 패키지 업데이트

시스템의 보안을 강화하기 위해 첫 번째로 해야 할 일은 패키지 업데이트입니다. CentOS는 항상 새로운 보안 패치와 업데이트를 제공합니다. yum 패키지 관리자를 사용하여 시스템의 모든 패키지를 최신 버전으로 업데이트합니다.

sudo yum update

2. 방화벽 설정

CentOS는 firewalld라는 방화벽 설정 도구를 제공합니다. 방화벽은 외부로부터의 공격을 막고 시스템을 보호하는 데 중요한 역할을 합니다. 필요한 포트와 서비스만 개방되도록 설정해야 합니다.

아래의 명령어를 사용하여 현재 활성화된 서비스를 확인할 수 있습니다.

sudo firewall-cmd --list-services

필요한 추가 서비스가 있다면 다음과 같이 추가할 수 있습니다.

sudo firewall-cmd --add-service=<service_name> --permanent
sudo firewall-cmd --reload

3. 암호 정책 강화

사용자 계정의 암호 정책을 강화하는 것은 시스템 보안을 높이는 데에 매우 중요합니다. PAM(Pluggable Authentication Modules)을 사용하여 암호 정책을 구성할 수 있습니다.

우선, cracklib 패키지를 설치합니다.

sudo yum install cracklib

그런 다음, /etc/pam.d/system-auth 파일을 편집합니다.

sudo vi /etc/pam.d/system-auth

아래의 줄을 찾아 수정합니다.

password    required    pam_cracklib.so retry=3 type=

위 줄을 아래와 같이 수정하여 암호의 강도를 높입니다.

password    required    pam_cracklib.so retry=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

마지막으로, /etc/security/pwquality.conf 파일을 수정하여 암호 정책을 설정합니다.

sudo vi /etc/security/pwquality.conf

적절한 값을 설정하여 암호의 강도를 조정합니다.

4. SSH 보안 설정

SSH는 리모트로 시스템에 접속하기 위해 널리 사용되는 프로토콜입니다. 시스템 보안을 강화하기 위해 기본적인 SSH 설정을 변경해야 합니다.

먼저, /etc/ssh/sshd_config 파일을 편집합니다.

sudo vi /etc/ssh/sshd_config

다음 줄을 찾아 수정합니다.

#Port 22
#PermitRootLogin yes

위 주석을 제거하고 포트 번호와 루트 로그인을 설정합니다.

Port <port_number>
PermitRootLogin no

마지막으로, SSH 서비스를 재시작합니다.

sudo systemctl restart sshd

5. SELinux 활성화

SELinux(Security-Enhanced Linux)는 먼저 다른 리눅스 배포판에서 주로 사용되는 모델입니다. CentOS에서 SELinux를 활성화하면 시스템의 보안을 향상시킬 수 있습니다.

SELinux를 활성화하려면 다음 명령어를 실행합니다.

sudo setenforce 1

변경 내용이 영구적으로 유지되도록 /etc/selinux/config 파일을 수정합니다.

sudo vi /etc/selinux/config

SELINUX 부분을 enforcing으로 변경합니다.

SELINUX=enforcing

정리

이 글에서는 CentOS 시스템의 보안을 강화하기 위한 간단한 기법을 소개했습니다. 패키지 업데이트, 방화벽 설정, 암호 정책 강화, SSH 보안 설정, SELinux 활성화 등을 실시하는 것은 시스템 보안을 강화하는 데 큰 도움이 됩니다. CentOS를 사용하는 경우 이러한 기법을 사용하여 시스템의 보안을 강화하세요.