보안 기초 (ssh 강화·SELinux·감사 로그)
4. 응용 변형 예제
4.1 월간 점검 cron
0 6 1 * * root bash /opt/tools/01_security_check.sh > /var/log/security-check.$(date +\%Y\%m).log 2>&1매월 1일 결과를 파일로 남깁니다. 운영 묶음 06 의 cron 규칙대로 % 를 이스케이프했습니다.
4.2 ssh 포트 변경과 방화벽
sudo sed -i 's/^#\?Port .*/Port 2222/' /etc/ssh/sshd_config
sudo semanage port -a -t ssh_port_t -p tcp 2222
sudo firewall-cmd --add-port=2222/tcp --permanent && sudo firewall-cmd --reload
sudo sshd -t && sudo systemctl reload sshdSELinux 포트 허용을 빼먹으면 sshd 가 뜨지 않습니다. 기존 세션을 유지한 채 새 포트로 접속을 확인한 뒤 22 를 닫습니다.
4.3 앱 계정의 접근 범위 확인
sudo -u myapp ls /etc/shadow 2>&1 # Permission denied 가 정상
sudo -u myapp cat /opt/myapp/conf/env # 앱 계정은 읽어야
ls -l /opt/myapp/conf/env # 600 myapp앱이 뚫렸을 때 공격자가 얻는 것이 myapp 계정 범위라는 것을 직접 확인합니다.
4.4 반입 파일 검사
sha256sum -c app.jar.sha256
unzip -l app.jar | grep -iE '\.(sh|so|exe)