CentOS 접근 제어 설정

CentOS는 많은 기능과 보안을 제공하는 운영 체제입니다. 이는 접근 제어 설정을 통해 시스템 보안을 더욱 강화할 수 있습니다. 접근 제어 설정은 외부에서 시스템에 접속하거나 특정 서비스에 접근하는 데 필요한 권한을 제어합니다. 이를 통해 불필요한 접근을 차단하고 시스템을 안전하게 유지할 수 있습니다.

1. 방화벽 구성하기

CentOS에서 가장 기본적이고 일반적인 접근 제어 방법은 방화벽(Firewall)을 구성하는 것입니다. 방화벽은 네트워크 트래픽을 모니터링하고, 허용되지 않은 접근을 차단하여 시스템을 보호합니다.

CentOS에서는 firewalld 또는 iptables을 사용하여 방화벽을 구성할 수 있습니다. 다음은 firewalld를 사용하여 방화벽을 구성하는 예제입니다:

# firewalld 서비스 시작
sudo systemctl start firewalld

# 특정 포트(예: 80번 포트) 허용
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

# 변경 사항 적용
sudo firewall-cmd --reload

위 예제에서는 firewalld를 시작하고, 80번 포트를 허용하는 방화벽 규칙을 추가했습니다. 이렇게 하면 웹 서버와 같이 특정 포트를 개방하여 해당 서비스에 접근할 수 있습니다.

2. SSH 액세스 제어하기

서버에 대한 원격 액세스는 보안 상 중요한 부분입니다. CentOS에서는 SSH를 통해 원격으로 서버에 접속할 수 있습니다. SSH 액세스를 제어하여 불필요한 접근을 막고, 안전한 원격 액세스를 보장할 수 있습니다.

SSH 액세스를 제어하기 위해서는 sshd_config 파일을 수정해야 합니다. 다음은 SSH 액세스를 제한하는 예제입니다:

# sshd_config 파일 열기
sudo vi /etc/ssh/sshd_config

# 파일 내에서 다음 옵션 수정:
# PermitRootLogin no  --> root 계정의 SSH 액세스 제한
# PasswordAuthentication no  --> 암호 기반 인증 제한

# 변경 사항 저장 후 sshd 서비스 재시작
sudo systemctl restart sshd

위 예제에서는 SSH 서버 설정 파일인 sshd_config를 열고, root 계정의 SSH 액세스와 암호 기반 인증을 모두 제한하도록 수정했습니다. 이렇게 하면 관리자 외에는 root로의 SSH 액세스가 차단되며, 인증은 공개키 등의 안전한 방법으로 제한됩니다.

3. SELinux 설정하기

SELinux(Security-Enhanced Linux)은 CentOS에서 디폴트로 제공되는 보안 기능입니다. SELinux는 시스템의 접근 제어 및 정책 강화를 담당하여 악의적인 활동으로부터 시스템을 보호합니다.

SELinux 설정을 변경하기 위해서는 selinux_config 파일을 수정해야 합니다. 다음은 SELinux 설정을 변경하는 예제입니다:

# selinux_config 파일 열기
sudo vi /etc/selinux/config

# 파일 내에서 다음 옵션 수정:
# SELINUX=enforcing  --> SELinux를 활성화하고 모든 액세스 확인

# 변경 사항 저장 후 재부팅
sudo reboot

위 예제에서는 SELinux를 활성화하도록 설정 파일을 수정했습니다. 이렇게 하면 모든 액세스가 확인되고, 시스템 보안이 강화됩니다.

결론

CentOS에서 접근 제어 설정은 시스템 보안을 강화하는 중요한 단계입니다. 위에서 소개한 방화벽 구성, SSH 액세스 제어, SELinux 설정은 CentOS 시스템의 안전성을 향상시키고 외부로부터의 불필요한 접근을 대비할 수 있도록 도와줍니다. 이러한 접근 제어 설정을 통해 CentOS 서버를 안전하게 운영할 수 있습니다.