CentOS 7 설치 후 할 일
실제로 서비스를 제공하는 서버라면 몇 가지 기본적인 설정, 패키지, 보안에 신경을 써줘야 한다.
파티셔닝 및 설정, 필수 및 권장 패키지 설치, 서버 운영을 위한 보안 설정(하드닝) 세가지로 분류해 작성한다.
파티셔닝
LVM : Default로 설정되어 있으며 스토리지 확장 시 유연하게 변경 가능, 관리 난이도가 높아 일반적으로 표준 파티션 사용 권장
표준 파티션 : 디스크 성능이 좋아짐에 따라 속도 면에서 LVM과 크게 차이가 없음, xfs 형식 사용하여 이전보다 파티션 조절 수월함
1. 네트워크 설정
(OS 설치 과정에서 네트워크 기설정되어 있는 경우 해당 내용 생략)
# ip addr
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
. . .
BOOTPROTO=none
. . .
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
. . .
ONBOOT=yes # 부팅/네트워크 재시작 시 자동으로 인터페이스 활성화를 위해 yes 설정
IPV6_PRIVACY=no
IPADDR=192.168.122.243
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=8.8.8.8
DNS2=8.8.4.4
# systemctl restart network
# ip addr
eth0 영역 IP 확인
# ping -c 4 google.com # 네트워크 상태 확인
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3094ms
rtt min/avg/max/mdev = 82.692/83.010/83.554/0.492 ms
2. 바이오스 타이머 조정
CentOS 7 부터 timedatectl 명령어로 시간, 타임존 설정을 할 수 있다.
# timedatectl
RTC time : 하드웨어 시간
NTP enabled : NTP 활성화 여부
NTP synchronized : NTP 동기화 여부
RTC in local TZ : RTC 와 Time zone 시간 동기화 여부
# timedatectl list-timezones | grep -i Asia*
# timedatectl set-timezone Asia/Seoul
# timedatectl
3. Hostname 설정
CentOS 7 설치 후 기본적으로 hostname이 localhost.localdomain 으로 설정되어있으므로 변경해주어야 함
# hostnamectl
Static hostname: localhost.localdomain
# hostnamectl set-hostname newhostname
# hostnamectl
Static hostname: newhostname
4. SELinux 비활성화
SELinux는 기본적으로 활성화 되어있으나, 해당 메뉴얼에서는 disabled(=미사용) 설정한다.
# vi /etc/sysconfig/selinux
. . .
SELINUX=disabled . . .
# shutdown -r now
# getenforce
Disabled
5. root 계정 원격 접근 불가 설정
보안을 위해 root로의 원격 접속은 거부하고 타 계정을 사용하여 su 명령어를 통해 사용하도록 한다.
# ps -ef | grep sshd
# systemctl enable sshd
# vi /etc/ssh/sshd_config
. . .
PermitRootLogin=no
. . .
# systemctl restart sshd
6. 자동 로그아웃 설정
보안을 위해 일정 시간 응답이 없으면 자동으로 로그아웃 하도록 설정한다.
# vi /etc/profile.d/timeout.sh
TMOUT=600
export TMOUT
chmod +x /etc/profile.d/timeout.sh
# source /etc/profile
# echo $TMOUT
600
7. 히스토리 포맷 설정
명령어의 내역을 출력하는 명령어인 history의 날짜 및 시간을 확인하기 위해 설정한다.
# vi /etc/profile.d/history.sh
HISTTIMEFORMAT="%F %T -- "
export HISTTIMEFORMAT
# chmod 644 /etc/profile.d/history.sh
# source /etc/profile.d/history.sh
# hisotry
999 2022-04-06 14:50:10 -- vi /etc/profile.d/history.sh
1000 2022-04-06 14:50:19 -- chmod 644 /etc/profile.d/history.sh
1001 2022-04-06 14:50:28 -- source /etc/profile.d/history.sh
1002 2022-04-06 14:50:30 -- history
8. 문자셋 설정
설치시 언어와 문자셋을 잘못 선택했을 경우에 설정한다.
# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
# localectl list-locales | grep -i kr
ko_KR
ko_KR.euckr
ko_KR.utf8
# localectl set-locale LANG=ko_KR.UTF-8
# localectl set-keymap kr
# localectl set-x11-keymap kr
# localectl
System Locale: LANG=ko_KR.UTF-8
VC Keymap: kr
X11 Layout: kr
다음 장에선 필수적으로 설치해야할 패키지 및 권장 패키지들에 대해서 설명한다.