vi /etc/login.defs
(중략)
PASS_MAX_DAYS 180 # 패스워드를 사용할 수 있는 기간
PASS_MIN_DAYS 1 # 패스워드 변경후 최소 사용기간
PASS_MIN_LEN 8 # 패스워드 최소 길이
PASS_WARN_AGE 7 # 패스워드 만료 알림 발생일
(중략)
2. Root 계정 원격 접속 제한
- /etc/ssh/sshd_config에서 설정
vi /etc/ssh/sshd_config
(중략)
PermitRootLogin no
(중략)
3. 반복적인 로그인 실패시 계정 잠금 설정
- /etc/pam.d/system-auth 에서 설정한다.
(추가예정)
4. 패스워드 복잡도 설정하기
- /etc/security/pwquality.conf 내용을 편집한다.
- 기본적으로 pwquality.conf안에 모든 내용이 주석처리 되어 있어서 주석해제 & 필요한 값으로 설정해야한다.
(중략)
minlen = 8 << 암호 최소 8글자 이상 설정
(중략)
dcredit = -1 << 숫자 최소 1개 이상 요구
(중략)
ucredit = -1 << 영어 대문자 최소 1개 이상 요구
(중략)
lcredit = -1 << 영어 소문자 최소 1개 이상 요구
(중략)
ocredit = -1 << 특수문자 최소 1개 이상 요구
(중략)
[root@localhost yum.repos.d]# cat /etc/yum.repo.d/local.repo
#name: repo 이름
#baseurl: package, repodata 위치
#enabled: repo 활성, 비활성 설정
#gpgcheck: GPG 서명 사용
[BaseOS]
name=RHEL8_BaseOS
baseurl=file:///local_repo/BaseOS
enabled=1
gpgcheck=1
[AppStream]
name=RHEL8_AppStream
baseurl=file:///local_repo/AppStream
enabled=1
gpgcheck=1
4) 아래 명령어로 레포지토리 등록 확인
yum clean all
yum repolist all
[root@localhost yum.repos.d]# yum clean all
서브스크립션 관리 레포지터리를 업데이트하고 있습니다.
소비자 ID를 읽을 수 없습니다
이 시스템은 Red Hat 관리서버에 등록되어 있지 않습니다. subscription-manager를 사용하여 등록 할 수 있습니다.
13 파일이 삭제되었습니다
[root@localhost yum.repos.d]# yum repolist all
서브스크립션 관리 레포지터리를 업데이트하고 있습니다.
소비자 ID를 읽을 수 없습니다
이 시스템은 Red Hat 관리서버에 등록되어 있지 않습니다. subscription-manager를 사용하여 등록 할 수 있습니다.
레포지터리 ID 레포지터리 이름 상태
AppStream RHEL8_AppStream 사용
BaseOS RHEL8_BaseOS 사용
5) 패키지 설치 해보기
모든 과정이 잘 되었다면 아래와 같이 패키지를 받을 수 있다.
※ 추가적인 방법
- ISO파일을 서버에 업로드 한다.
1) 업로드한 ISO파일과 마운트 할 디렉토리를 생성하고, ISO파일과 마운트 한다.
ex) mount rhel-8.6-x86_64-dvd.iso /local_repo/
2) 마운트한 ISO파일 내용을 기반으로 repo파일을 생성한다.(BaseOS, AppStream에 대해서 repo 생성해야한다.)
yum clean all
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Cleaning repos: local-repo
yum repolist all
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
local-repo | 2.8 kB 00:00:00
(1/2): local-repo/group | 628 kB 00:00:00
(2/2): local-repo/primary | 2.1 MB 00:00:00
local-repo 5230/5230
repo id repo name status
local-repo Local Repository enabled: 5,230
repolist: 5,230
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled (enforcing에서 disabled로 변경한다.)
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
1) 레포지토리 설정
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum clean all
yum repolist all
2) 필요한 패키지 설치
yum install strace wget net-tools chrony vim-enhanced lsof mlocate rpm-build make
yum update
5. 시간동기화
1) chrony를 이용위한 설치 (minimal에는 기본설치 되어 있지 않아 yum설치 한다.)
2) /etc/chrony.conf 내용 편집
vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
###pool 2.rhel.pool.ntp.org iburst <<<<<<<<<<<<<< 이 부분 주석처리
(아래 2줄 추가)
server time.bora.net iburst
server send.mx.cdnetworks.com iburst
3) chrony 재시작 및 동기화 확인(timddatectl)
systemctl restart chronyd.service
timedatectl
Local time: 수 2023-10-11 13:54:49 KST
Universal time: 수 2023-10-11 04:54:49 UTC
RTC time: 수 2023-10-11 03:54:10
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
4) 하드웨어 시간을 OS시간에 맞춘다.
hwclock -w
6. /etc/profile 설정(프롬프트, alias 설정)
alias vi='vim'
PS1="\e[0m[\e[1;32m\t]\e[0m[\e[1;33m\u\e[0m@\e[1;36m\h\e[0m \w] \n\$ \[\033[00m\]"