6.8 KiB
중단파 서버 보안 취약점 종합
- 불필요한 SMTP 서비스 실행 여부
- root 계정 원격 접속 제한
- 비밀번호 관리정책 점검
- 관리자 그룹에 최소한의 사용자 포함
- C 컴파일러 존재 및 권한 설정 오류
- /etc/(x)inetd.conf 파일 소유자 및 권한 설정
- SUID, SGID, Sticky bit 설정 파일 점검
- 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
- at 접근제한 파일 소유자 및 권한 설정
- 과도한 시스템 로그파일 권한 설정
- 계정 잠금 임계값 설정
- SU 명령 사용가능 그룹 제한 미비
- 원격 접속 세션 타임아웃 미설정
- 이벤트 로그에 대한 접근 권한 설정 미비
- 시스템 사용 주의사항 미출력
- 사용자 shell 점검(관리자 그룹에 최소한의 사용자 포함에서 삭제)
- 유추가능한 비밀번호 사용 여부
불필요한 SMTP 서비스 실행 여부
- sendmail이 없는경우 postfix 프로세스 검색
- 특정 포트 사용하는 프로세스 찾기 # netstat -ntlp | grep :[포트번호]
- 프로세스번호 (Pid)로 프로그램명 검색 # ps -ef|grep [PID]
- 해당 프로그램(서비스) 사용중지 및 재실행 방지 프로세스 상태& 프로세서 그룹 최상위 프로세스 확인 # systemctl status postfix # systemctl stop postfix.service 프로세스 재시작 방지 # systemctl disable postfix.service 해당 포트 주석처리 vi /etc/services
root 계정 원격 접속 제한
Not Setting: auth required pam_securetty.so cat /etc/pam.d/login | grep 'pam_secure' 주석처리되어 있다면 주석 해제
PermitRootLogin not exist # cat /etc/ssh/sshd_config | grep -in 'PermitRootLogin' vi /etc/ssh/sshd_config PermitRootLogin yes -> no로 변경
비밀번호 관리정책 점검
# vi /etc/login.defs 맨 하단에 추가 PASS_MAX_DAYS 90 # 비밀번호 최대 사용 가능 기간 PASS_MIN_DAYS 1 # 비밀번호 최소 사용 가능 기간 PASS_MIN_LEN 8 # 최소 비밀번호 길이 PASS_WARN_AGE 15 # 비밀번호 사용불가 경고일
관리자 그룹에 최소한의 사용자 포함
# userdel 로 제거
- 불필요한 계정 삭제
vi /etc/group root❌0:root,test -> root❌0:root
C 컴파일러 존재 및 권한 설정 오류
- cc, gcc 권한&Symbolic여부 확인 ls -l | grep cc
- 권한제거 chmod 700 /usr/bin/cc chmod 700 /usr/bin/gcc
/etc/(x)inetd.conf 파일 소유자 및 권한 설정
소유자 및 권한 확인 ls -l /etc/xinetd.d/*
소유자 및 권한 변경 (소유자 root, 권한 600) chown root /etc/xinetd.d/* chmod 600 /etc/xinetd.d/*
SUID, SGID, Sticky bit 설정 파일 점검
chmod -s /sbin/unix_chkpwd chmod -s /usr/bin/at chmod -s /usr/bin/newgrp
사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
-
111, 113 chmod 640 /home/dell/.bash_profile chmod 640 /home/dell/.bashrc chmod 640 /root/.bash_profile chmod 640 /root/.bashrc chmod 640 /root/.cshrc
-
114, chmod 640 /home/oracle/.bash_profile chmod 640 /home/oracle/.bashrc chmod 640 /home/oracle/.kshrc chmod 640 /root/.bash_profile chmod 640 /root/.bashrc chmod 640 /root/.cshrc chmod 640 /home/test/.bash_profile chmod 640 /home/test/.bashrc
-
115 chmod 640 /home/oracle/.bash_profile chmod 640 /home/oracle/.bashrc chmod 640 /root/.bash_profile chmod 640 /root/.bashrc chmod 640 /root/.cshrc chmod 640 /home/test/.bash_profile chmod 640 /home/test/.bashrc
at 접근제한 파일 소유자 및 권한 설정
chown root /etc/at.deny chmod 640 /etc/at.deny
과도한 시스템 로그파일 권한 설정
chmod 640 /var/log/libasm.log chmod 640 /var/log/libatamptl.log chmod 640 /var/log/xferlog
- 111번
chmod 640 /var/log/lsi_1119.log
※ ls -l /var/log/* 재확인 필요 함.
계정 잠금 임계값 설정
- vi /etc/pam.d/system-auth 추가
auth required pam_tally2.so deny=5 unlock_time=60 account required pam_tally2.so
- vi /etc/pam.d/password-auth 추가
auth required pam_tally2.so deny=5 unlock_time=60 account required pam_tally2.so
SU 명령 사용가능 그룹 제한 미비
- wheel 그룹 있는지 확인
cat /etc/group
- 없으면 생성 : groupadd wheel
- su 명령어 그룹 변경 chgrp wheel /usr/bin/su
- su 명령어 사용권한 변경 chmod 4750 /bin/su
- wheel 그룹에 su 명령 허용 계정 등록 usermod -G wheel <user_name> ※ su 권한 유저 확인 : ls -l /bin/su
- /etc/pam.d/su 설정 vi /etc/pam.d/su
auth required pam_wheel.so use_uid
원격 접속 세션 타임아웃 미설정
-
111, 113 : dell, root
-
114, 115 : oracle, root, test
-
home에서 각 계정리스트 확인
cd /home/ ll
- 계정 디렉터리 접근해서 profile 찾기
cd /home/[계정명] ll - a
- 편집기로 파일 열기
vi .bash_profile
- 내용 편집
# 맨하단에 추가 (Spell 주의) TMOUT=300 export TMOUT
이벤트 로그에 대한 접근 권한 설정 미비
vi /etc/pam.d/su -> auth sufficient pam_rootok.so debug
시스템 사용 주의사항 미출력
vi /etc/motd
----------------------------------------------------------------------------------
* *
* Authorized access only! *
* If you are not authorized to access or use this system, disconnect now. *
* *
----------------------------------------------------------------------------------
사용자 shell 점검
vi /etc/passwd halt❌1:1::/:/sbin/nologin shutdown❌1:1::/:/sbin/nologin sync❌1:1::/:/sbin/nologin
유추가능한 비밀번호 사용 여부
- 114, 115
- Oracle 유저 패스워드 설정 확인 /etc/passwd /etc/shadow
- 비밀번호 설정 passwd [계정 명]
서버 시각 동기화
timedatectl set-ntp yes
vi /etc/ntp.conf
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server 194.0.5.123
server 36.91.114.86
server 95.216.144.226
server 140.112.2.188
firewall-cmd --add-service=ntp --permanent firewall-cmd --reload
systemctl start ntpd systemctl enable ntpd
ntpq -p
※ ntpq -p 오류나는 경우
cd /var/lib/ntp mkdir drift cd /var/lib/ntp/drift vi ntp.drift chown -R ntp /var/lib/ntp/drift