보안 기초 (ssh 강화·SELinux·감사 로그)
6. 연습 문제
문제 1. ssh 설정 확인
현재 sshd 에 실제 적용된 root 로그인·비밀번호 인증 값을 확인하는 명령을 쓰세요.
sudo sshd -T | grep -iE 'permitrootlogin|passwordauthentication'파일 grep 이 아니라 -T 를 쓰는 이유는 중복 설정과 include 파일까지 반영된 최종 값을 보기 위해서입니다.
문제 2. SELinux 포트
자바 앱을 8081 포트로 띄웠더니 Permission denied 가 납니다. 원인 확인과 허용 명령을 쓰세요.
sudo ausearch -m avc -ts recent | audit2why
sudo semanage port -a -t http_port_t -p tcp 8081audit2why 출력에 name_bind 와 포트가 보이면 확정입니다.
문제 3. setuid 점검
/opt 아래에서 setuid 가 붙은 파일을 찾고, 있으면 제거하는 명령을 쓰세요.
find /opt -xdev -type f -perm -4000
sudo chmod u-s /opt/경로/파일/opt 의 앱 파일에 setuid 가 있을 이유는 없습니다.
문제 4. 실패 IP 상위
/var/log/secure 에서 로그인 실패가 많은 IP 5개를 세는 명령을 쓰세요.
grep 'Failed password' /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -n 5$(NF-3) 은 뒤에서 네 번째 열로, 이 로그 형식에서 IP 위치입니다.
문제 5. 기준선 비교
/etc/sudoers 와 /etc/ssh/sshd_config 의 해시 기준선을 만들고 다음 달 비교하는 명령을 쓰세요.
sudo sha256sum /etc/sudoers /etc/ssh/sshd_config > /var/lib/baseline.sha256
sudo sha256sum -c /var/lib/baseline.sha256FAILED 가 나오면 그 파일의 변경 이력을 sudo 로그에서 찾습니다.