CentOS 최소 설치, 왜 중요할까요?
CentOS를 최소 설치로 선택하는 것은 시스템 관리자에게 여러 가지 이점을 제공합니다. 불필요한 패키지를 제거하여 시스템의 보안 취약점을 줄이고, 리소스 사용량을 최적화하며, 원하는 환경을 구축하는 데 필요한 유연성을 확보할 수 있습니다. 이 가이드에서는 CentOS 최소 설치 후 필수적인 초기 설정 단계를 자세히 설명하여 안정적이고 효율적인 서버 환경을 구축하는 데 도움을 드립니다.
최소 설치 후 가장 먼저 해야 할 일 네트워크 설정
CentOS 최소 설치 후 가장 먼저 확인해야 할 사항은 네트워크 연결입니다. 서버에 접속하고 업데이트를 수행하려면 네트워크 설정이 필수적입니다.
네트워크 인터페이스 확인
먼저, 시스템에 활성화된 네트워크 인터페이스를 확인합니다. 다음 명령어를 사용합니다.
ip addr show
이 명령어를 통해 eth0, enp0s3 등과 같은 인터페이스 이름을 확인할 수 있습니다. 인터페이스 이름은 시스템에 따라 다를 수 있습니다.
고정 IP 주소 설정
DHCP 서버가 없는 환경이나 고정 IP 주소가 필요한 경우, 네트워크 설정을 수동으로 구성해야 합니다.
- 네트워크 설정 파일 편집:
/etc/sysconfig/network-scripts/ifcfg-<인터페이스_이름>
파일을 편집합니다. 예를 들어, 인터페이스 이름이 eth0인 경우/etc/sysconfig/network-scripts/ifcfg-eth0
파일을 편집합니다. - 파일 내용 수정: 다음과 같이 파일 내용을 수정합니다.
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100 # 원하는 IP 주소
NETMASK=255.255.255.0 # 서브넷 마스크
GATEWAY=192.168.1.1 # 게이트웨이 주소
DNS1=8.8.8.8 # DNS 서버 주소
DNS2=8.8.4.4 # 보조 DNS 서버 주소
BOOTPROTO=static
: 고정 IP 주소를 사용하도록 설정합니다.ONBOOT=yes
: 시스템 부팅 시 자동으로 네트워크 인터페이스를 활성화합니다.IPADDR
: 설정할 IP 주소를 입력합니다.NETMASK
: 서브넷 마스크를 입력합니다.GATEWAY
: 게이트웨이 주소를 입력합니다.DNS1
,DNS2
: DNS 서버 주소를 입력합니다.
- 네트워크 서비스 재시작: 변경 사항을 적용하기 위해 네트워크 서비스를 재시작합니다.
systemctl restart network
네트워크 연결 테스트
네트워크 설정이 완료되면, ping
명령어를 사용하여 외부 네트워크와의 연결을 테스트합니다. 예를 들어, Google 서버에 ping을 보내봅니다.
ping 8.8.8.8
정상적으로 응답이 오면 네트워크 설정이 성공적으로 완료된 것입니다.
시스템 업데이트 및 패키지 설치
네트워크 설정 후에는 시스템을 최신 상태로 유지하고 필요한 패키지를 설치해야 합니다.
Yum 패키지 관리자 업데이트
CentOS는 Yum 패키지 관리자를 사용합니다. 먼저, Yum 저장소를 업데이트합니다.
yum update
이 명령어는 사용 가능한 모든 패키지 업데이트를 다운로드하고 설치합니다. 업데이트 과정에서 필요한 경우, y
를 입력하여 확인합니다.
필수 패키지 설치
CentOS 최소 설치에는 기본적인 도구만 포함되어 있습니다. 다음과 같은 필수 패키지를 설치하는 것이 좋습니다.
- vim: 텍스트 편집기
- wget: 웹에서 파일을 다운로드하는 데 사용되는 도구
- net-tools: 네트워크 관련 도구 (ifconfig 등)
- epel-release: 추가 패키지 저장소
다음 명령어를 사용하여 패키지를 설치합니다.
yum install vim wget net-tools epel-release
EPEL 저장소를 활성화하면 더 많은 패키지를 사용할 수 있습니다.
보안 설정 강화
시스템 보안은 매우 중요합니다. 다음은 CentOS 시스템 보안을 강화하는 데 도움이 되는 몇 가지 방법입니다.
SSH 보안 강화
SSH는 서버에 원격으로 접속하는 데 사용되는 프로토콜입니다. SSH 보안을 강화하여 무단 접근을 방지해야 합니다.
- SSH 설정 파일 편집:
/etc/ssh/sshd_config
파일을 편집합니다. - 포트 변경: 기본 포트(22) 대신 다른 포트를 사용합니다.
Port 2222 # 예시
- root 로그인 금지: root 사용자로 직접 로그인하는 것을 금지합니다.
PermitRootLogin no
- 비밀번호 인증 비활성화 및 키 기반 인증 활성화: 비밀번호 대신 SSH 키를 사용하여 인증합니다.
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
SSH 키를 생성하고 서버에 복사하는 방법은 별도로 검색하여 확인하십시오.
- SSH 서비스 재시작: 변경 사항을 적용하기 위해 SSH 서비스를 재시작합니다.
systemctl restart sshd
방화벽 설정
Firewalld는 CentOS의 기본 방화벽입니다. 필요한 포트만 열어두고 나머지는 차단하여 보안을 강화합니다.
- Firewalld 활성화 및 상태 확인
systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld
- 필요한 포트 열기: 예를 들어, 80(HTTP) 및 443(HTTPS) 포트를 열려면 다음 명령어를 사용합니다.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
- 특정 포트 열기: 특정 포트(예: 2222)를 열려면 다음 명령어를 사용합니다.
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
- 방화벽 규칙 확인
firewall-cmd --list-all
SELinux 설정 확인
SELinux는 시스템의 보안을 강화하는 또 다른 메커니즘입니다. SELinux가 활성화되어 있는지 확인하고, 필요한 경우 설정을 조정합니다.
- SELinux 상태 확인
sestatus
SELinux가 활성화되어 있으면 SELinux status: enabled
와 같은 메시지가 표시됩니다. SELinux는 기본적으로 enforcing
모드로 설정되어 있으며, 필요에 따라 permissive
또는 disabled
모드로 변경할 수 있습니다. 그러나 보안상의 이유로 가능한 한 enforcing
모드를 유지하는 것이 좋습니다.
사용자 계정 관리
root 계정 대신 일반 사용자 계정을 사용하는 것이 보안상 더 안전합니다.
새 사용자 계정 생성
다음 명령어를 사용하여 새 사용자 계정을 생성합니다.
adduser <사용자_이름>
사용자 비밀번호 설정
생성한 사용자의 비밀번호를 설정합니다.
passwd <사용자_이름>
sudo 권한 부여
새 사용자에게 sudo 권한을 부여하여 관리자 권한이 필요한 작업을 수행할 수 있도록 합니다. /etc/sudoers
파일을 직접 편집하는 것은 위험하므로, visudo
명령어를 사용하는 것이 좋습니다.
visudo
파일에 다음 줄을 추가합니다.
<사용자_이름> ALL=(ALL) ALL
또는, wheel
그룹에 사용자를 추가하여 sudo 권한을 부여할 수도 있습니다.
usermod -aG wheel <사용자_이름>
시간대 설정
정확한 시간은 로그 분석 및 시스템 운영에 중요합니다. 시스템 시간대를 올바르게 설정합니다.
현재 시간대 확인
timedatectl status
시간대 설정
원하는 시간대로 설정합니다. 예를 들어, Asia/Seoul로 설정하려면 다음 명령어를 사용합니다.
timedatectl set-timezone Asia/Seoul
로그 설정
시스템 로그는 문제 해결 및 보안 감사에 필수적입니다. 로그 설정이 올바르게 구성되어 있는지 확인합니다.
rsyslog 설정 확인
CentOS는 rsyslog를 사용하여 시스템 로그를 관리합니다. /etc/rsyslog.conf
파일을 확인하여 로그 설정이 올바르게 구성되어 있는지 확인합니다. 필요한 경우, 로그 파일 위치, 로깅 수준 등을 조정할 수 있습니다.
자주 묻는 질문
CentOS 최소 설치 후 GUI 환경을 설치할 수 있나요?
네, 가능합니다. yum groupinstall "Server with GUI"
명령어를 사용하여 GUI 환경을 설치할 수 있습니다.
최소 설치 후 필요한 패키지를 잊어버렸을 경우 어떻게 해야 하나요?
필요한 기능을 검색하고 해당 기능을 제공하는 패키지를 Yum을 통해 설치할 수 있습니다. 예를 들어, yum search <기능>
명령어를 사용하여 패키지를 검색할 수 있습니다.
네트워크 설정 파일이 변경되지 않는 경우 어떻게 해야 하나요?
네트워크 설정 파일의 오타나 문법 오류를 확인하고, 네트워크 서비스를 재시작했는지 확인합니다. 또한, NetworkManager가 활성화되어 있는지 확인하고, 활성화되어 있다면 NetworkManager를 통해 네트워크 설정을 관리해야 합니다.