root 계정 접속 비허용 설정 전, 사용할 다른 계정 생성sudo useradd -m nextcore(-m 플래그는 사용자의 홈 디렉토리를 자동으로 생성하도록 지시)사용자 "nextcore"에게 암호 설정:sudo passwd nextcore"wheel" 그룹이 존재
PAM(Pluggable Authentication Module)은 Linux 시스템에서 인증 및 사용자 접근 제어를 구성하는 데 사용되는 프레임워크입니다. /etc/pam.d/system-auth 파일은 시스템 인증 및 접근 관리에 사용되는 PAM 설정 파일 중 하나
리눅스의 경우 /etc/pam.d/system-auto 파일에 아래 설정을 권장함./etc/pam.d/system-auto : 그러나 pam_tally.so 라는 파일이 lib64/security/ 경로에 미존재.확인해본 결과 8버전부터는 /lib64/security/
/etc/shadow 파일 내에 계정 패스워드 암호화 되어있는지 확인./etc/passwd 파일 내 두 번째 필드가 “x” 표시되는지 확인모두 정상
PATH 변수에 . 혹은 ::가 맨 앞에 존재하는 경우 보안 문제가 발생할 수 있습니다. 이는 현재 디렉토리(.)를 맨 앞에 둠으로써 임의의 실행 파일이 현재 디렉토리에 위치하면 시스템의 기본 명령어보다 우선해서 실행될 수 있기 때문입니다.
소유자가 nouser, nogroup인 파일이나 디렉터리 검색find / -nouser -printfind / -nogroup -print아래와 같이 시스템의 어떤 사용자에게도 속하지 않는 파일 경로 확인.소유자 root로 변경:sudo chown root:root /
ㅏㅏ
다음 결과 시 양호 판단취약 판단될 경우 “/etc/shadow” 파일의 소유자 및 권한 변경(소유자 root, 권한 400)\`
“/etc/inetd.conf” 파일의 소유자 및 권한 확인ls –l /etc/inetd.conf rw------- root <inetd.conf 파일>/etc/xinetd.conf 파일 및 /etc/xinetd.d/ 하위 모든 파일의 소유자 및 권한 확인/etc
/etc/syslog.conf (CentOS 6 이상인 경우, rsyslog.conf)파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이 640 이하가 아닌 경우\`\`
etc/services 파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이 644 이하가 아닌 경우chown root /etc/serviceschmod 644 /etc/services
주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우를 확인find / -xdev -user root -type f \\( -perm -04000 -o -perm -02000 \\) -exec ls -al {} \\;이렇게 수정하면, root 사
ㅑ
시스템 중요 파일에 world writable 파일이 존재하나 해당 설정 이유를 확인하고 있지 않는 경우world writable 파일 존재 여부 확인find / -type f -perm -2 -exec ls -l {} \\;일반 사용자 쓰기 권한 제거 방법chmod
dev에 대한 파일 미점검 또는, 존재하지 않은 device 파일을 방치한 경우:dev에 존재하지 않는 device 파일 점검find /dev –type f –exec ls –l {} \\;위 명령어 입력 후 존재할 경우:major, minor number를 가지지 않
login, shell, exec 서비스를 사용하고, 위와 같은 설정이 적용되지 않은 경우 :파일 소유자 및 권한 확인ls –al /etc/hosts.equiv1\. /etc/hosts.equiv 및 $HOME/.rhosts 파일 소유자를 root 또는, 해당 계정으로
접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않 은 경우:/etc/hosts.deny 설정/etc/hosts.allow 설정
Finger 서비스가 활성화 되어 있는 경우:cat /etc/inetd.conf 파일 내에finger stream tcp nowait bin /usr/lbin/fingered fingerd 주석처리 확인위 파일이 없을 경우 /etc/xinetd.d/finger 파일 내
Anonymous FTP (익명 ftp) 접속을 차단하지 않은 경우:/etc/passwd 파일에 ftp 계정 존재 여부 확인cat /etc/passwd | grep "ftp" FTP 사용자 계정이 이미 로그인이 불가능한 상태(/sbin/nologin 셸을 사용)로 설정
불필요한 r 계열 서비스가 활성화 되어 있는 경우:rsh, rlogin, rexec (shell, login, exec) 서비스 구동 확인ls -alL /etc/xinetd.d/\* | egrep "rsh|rlogin|rexec" | egrep -v "grep|klog
kk
사용하지 않는 DoS 공격에 취약한 서비스가 활성화 된 경우:DoS 관련 서비스 파일 확인sudo ls -alL /etc/xinetd.d/\* | egrep ‘(echo|discard|daytime|charge)’
불필요한 NFS 서비스 관련 데몬이 활성화 되어 있는 경우:NFS 서비스 데몬 확인 (NFS 동작 SID 확인)ps -ef | egrep "nfs|statd|lockd"현재 시스템에서 nfs, statd, lockd와 관련된 서비스 또는 프로세스가 실행 중이지 않다는
불필요한 NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우:/etc/exports 파일과 /etc/exports.d 디렉토리는 NFS (Network File System) 서버에 대한 공유 설정을 저장하는 곳입니다. NFS 서버는 리눅스 파일
automountd 서비스가 활성화 되어 있는 경우:ps -ef | grep automount 또는 ps -ef | grep autofs만약 위 데몬을 사용 중이라면:automountd 서비스 데몬 중지kill -9 \[PID]시동 스크립트 삭제 또는, 스크립트 이름
불필요한 RPC 서비스가 활성화 되어 있는 경우:불필요한 RPC 서비스 비활성화 여부 확인cat /etc/inetd.conf“/etc/xinetd.d" 디렉터리 내 서비스별 파일 비활성화 여부 확인vi /etc/xinetd.d/\[서비스별 파일명]/etc/inetd.c
NIS 서비스가 활성화 되어 있는지 확인:ps -ef | egrep "ypserv|ypbind|ypxfrd|rpc.yppasswdd |rpc.ypupdated”systemctl status ypserv ypbind ypxfrd rpc.yppasswdd rpc.ypupd
tftp, talk, ntalk 서비스가 활성화 되어 있는지 확인:cat /etc/inetd.conf | grep "tftp|talk|ntalk"아래 경로 파일 존재 여부 확인/etc/xinetd.d/tftp/etc/xinetd.d/talk/etc/xinetd.d/nt
Sendmail 서비스 실행 여부 점검ps -ef | grep sendmailrpm 명령을 사용하여 Sendmail 패키지의 버전을 확인rpm -q sendmail
SMTP 서비스를 사용하며 릴레이 제한이 설정되어 있지 않은지 확인:SMTP 서비스 사용 여부 및 릴레이 제한 옵션 확인ps -ef | grep sendmail | grep -v "grep"cat /etc/mail/sendmail.cf | grep "R$\\\*" |
SMTP 서비스 사용 및 일반 사용자의 Sendmail 실행 방지가 설정되어 있지 않은 경우를 확인 :SMTP 서비스 사용 여부 및 restrictqrun 옵션 확인ps -ef | grep sendmail | grep -v "grep"\`grep -v '^ \*
DNS (Domain Name System)는 인터넷의 핵심 서비스 중 하나로, 도메인 이름을 IP 주소로, 또는 IP 주소를 도메인 이름으로 변환하는 시스템bind 설치 여부 확인dnf list installed bindrpm으로도 확인아래와 같이 named 명령어가
DNS 서비스 사용 시 /etc/named.conf 파일의 allow-transfer 및 xfrnets 확인ps -ef | grep named | grep -v "grep"cat /etc/named.conf | grep 'allow-transfer'cat /etc/na
Apache 웹서버에서 디렉토리 리스팅 제거하기:Indexes 옵션 사용 여부 확인sudo vi /etc/httpd/conf/httpd.conf 또는 /etc/apache2/apache2.confOptions 지시문을 찾아 Indexes 옵션을 제거 또는 비활성화원래
Apache 관련 해당 파일 미존재로 패스sudo vi /etc/httpd/conf/httpd.conf만약 존재하는 경우 조치 사항
Apache 사용 중인 경우에만 해당
Apache의 경우Nginx의 경우웹 서버에서 심볼릭 링크(symbolic links)를 통한 파일 접근을 허용하지 않는 설정에 대해 Apache와는 다른 접근이 필요./etc/nginx/nginx.confdisable_symlinks 디렉티브 사용:Nginx 설정에서
Apache의 경우Nginx의 경우Nginx에서는 이러한 제한을 설정하기 위해 여러 가지 디렉티브를 사용할 수 있습니다.파일 업로드 제한:client_max_body_size: 요청 본문의 최대 허용 크기를 제한합니다. 파일 업로드의 경우, 이 디렉티브는 업로드되는 파
Apache의 경우Nginx의 경우Document Root 분리:Nginx의 설정에서 root 디렉티브를 사용하여 웹 콘텐츠의 위치를 지정합니다. 일반적으로 /usr/share/nginx/html 또는 /var/www/html에 위치하지만, 보안을 강화하기 위해 다른