
- U-09 /etc/hosts 파일 소유자 및 권한 설정
- 1) 평가 기준
- 2) 목적
- 3) 적용
- U-13 SUID, SGID, 설정 파일점검
- 1) 평가 기준
- 2) 목적
- 3) 적용
- U-14 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
- 1) 평가 기준
- 2) 목적
- 3) 적용
- U-18 접속 IP 및 포트 제한
- 1) 평가 기준
- 2) 목적
- 3) 적용
- U-20 Anonymous FTP 비활성화
- 1) 평가 기준
- 2) 목적
- 3) 적용
- U-22 crond 파일 소유자 및 권한 설정
- 1) 평가 기준
- 2) 목적
- 3) 조치
- 기타 보안 설정
- 1) /etc/motd 경고 문구 추가
- 2) /etc/issue 경고 문구 추가
주통기 서버가이드 기반으로 작성하였고, Locky Linux 기반이며 서버 조치 중 애매하거나 확인 필요했던 부분에 대해 나중에 다시 보기 위해 정리하였습니다.
U-09 /etc/hosts 파일 소유자 및 권한 설정
1) 평가 기준
양호 : /etc/hosts 파일의 소유자가 root이고, 권한이 600 이하인 경우
취약 : /etc/hosts 파일의 소유자가 root가 아니거나, 권한이 600 이상인 경우
2) 목적
악의적인 사용자가 hosts파일을 읽거나 변조를 통해 DNS를 우회하여 파밍 공격 등에 악용될 수 있기 때문에 root를 제외한 다른 사용자는 해당 파일을 접근할 수 없도록 설정하기 위함이다.
hosts 파일을 600으로 설정하면 보안상 가장 좋겠지만, 리눅스에서 root가 아닌 일반 사용자가 프로세스를 동작할 때 /etc/hosts 정보를 읽는 경우가 존재한다. 예를 들면 user1이라는 계정이 /etc/hosts를 통해 메일 서버 주소를 알아내어 메일을 보낸다고 가정하면 600으로 설정되어 있다면 메일 서버 주소를 알 수 없기 때문에 메일을 발송할 수 없게 된다.
그러므로 실제 운영 환경에서는 644로 사용하는 경우가 다수 존재한다.
3) 적용
- /etc/hosts 사용 권한 600 확인
U-13 SUID, SGID, 설정 파일점검
1) 평가 기준
양호 : 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있지 않은 경우
취약 : 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
2) 목적
SUID와 SGID를 통해 일반 사용자가 root 권한을 획득하여 프로세스를 실행하기 때문에 사용하지 않는 파일 또는 악의적인 파일에 해당 권한을 제거한다.
3) 적용
불필요한 Set UID, Set GID 확인
# find / -user root -type f \( -perm -4000 -o -perm -2000 \) -xdev -exec ls -al {} \;
불필요한 Set UID, Set GID 권한 제거
# chomd -s [파일 명]
rwsr-xr-x. 1 root root 41744 4월 16 2023 /usr/bin/newgrp
rwsr-xr-x. 1 root root 57976 10월 25 2022 /usr/bin/at
rwsr-xr-x. 1 root root 23832 4월 12 2023 /usr/sbin/unix_chkpwd
U-14 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
1) 평가 기준
양호 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되어 있고, 홈 디렉터리 환경변수 파일에 root와 소유자만 쓰기 권한이 부여된 경우
취약 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되지 않고, 홈 디렉터리 환경변수 파일에 root와 소유자 외에 쓰기 권한이 부여된 경우
2) 목적
root 및 각 사용자 홈 디렉터리 내의 환경변수 파일에 대한 소유자 및 접근권한(write) 이 관리자 또는 해당 계정으로 설정되어 있는지 점검한다.
3) 적용
환경 변수 파일 종류
/etc/profile , .profile, .kshrc, .bashrc, .bash_profile, .login, .exrc, netrc
환경변수 확인
# ls -al /etc/profile /root/.profile /root/.kshrc /root/.bash* /root/.login /root/.exrc /root/netrc

U-18 접속 IP 및 포트 제한
1) 평가 기준
양호: 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우
취약: 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우
2) 목적
인가되지 않은 사용자가 서버에 접근할 수 없도록 IP 접근 제어를 통해 인가된 사용자만 접근 가능하도록 설정한다.
CentOS 까지는 TCP Wrapper(host.allow, host.deny), iptables를 통해 IP 접근 제어를 설정했지만, rocky Linux의 경우 firewalld를 통해 접근제어를 설정한다.
3) 적용
- 192.168.1.0/24 대역만 SSH 접근 가능하도록 설정
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' service name='ssh' accept"
- 방화벽 정책 적용 및 시작
# firewall-cmd --reload
# systemctl start firewalld.service
# systemctl status firewalld.service
- 방화벽 적용 상태 보기
# firewall-cmd --list-all

U-20 Anonymous FTP 비활성화
1) 평가 기준
양호: Anonymous FTP (익명 FTP) 접속을 차단한 경우
취약: Anonymous FTP (익명 FTP) 접속을 차단하지 않을 경우
2) 목적
anonymous 계정으로 FTP 접근 후 디렉터리에 쓰기 권한이 있을 경우 local exploit을 사용하여 시스템 공격이 가능하므로 익명 사용자의 FTP 접근을 차단해야 한다.
3) 적용
- /etc/passwd에 Anonymous 계정 존재 여부 확인
# cat /etc/passwd | grep ^ftp

- FTP conf 파일에 anonymous 관련 설정이 되어 있는지 확인
vsFTP
경로: /etc/vsftpd/vsftpd.conf, /etc/vsftpd.conf
anonymous_enable=YES
proFTP
경로: /etc/proftpd.conf
Define Anonymous
U-22 crond 파일 소유자 및 권한 설정
1) 평가 기준
양호 : crontab 명령어 일반사용자 금지 및 cron 관련 파일 640 이하인 경우
취약 : crontab 명령어 일반사용자 사용가능하거나, crond 관련 파일 640
이상인 경우
2) 목적
root 이외 일반 사용자가 cron 서비스를 사용할 수 없도록 설정한다.
일반 사용자가 cron 서비스를 이용하고 있는 경우 권한을 변경하게 되면 cron을 실행시킬 수 없기 때문에 주의해서 설정해야 한다.
3) 조치
- /var/spool/cron 실행 권한이 600인지 확인

- /var/spool/cron/crontabs 파일의 실행 권한이 600인지 확인

- /usr/bin/crontab 서비스 실행권한이 750인지 확인

- /etc 폴더 및 cron.d, cron.daily, cron.deny, cron.hourly, cron.monthly. cron.weekly 실행권한 640인지 확인

기타 보안 설정
1) /etc/motd 경고 문구 추가
#vim /etc/motd
************************************************************************** - 경 고 - 해당 시스템에 비 인가자의 접근은 불법이며, 접근 시 민형사상의 처벌을 받을 수 있습니다. - W A R N I N G - A notice that any unauthorized use of the system is unlawful and may be subject to civil and / or criminal penaltries. * Any of your attempt to connect to the system is logged. ************************************************************************** |
2) /etc/issue 경고 문구 추가
- W A R N I N G - A notice that any unauthorized use of the system is unlawful and may be subject to civil and / or criminal penaltries. |
'Hacking & Security' 카테고리의 다른 글
Fortigate IPSEC VPN 연결 방법 (0) | 2022.10.05 |
---|
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊