반응형
sysctl 로 설정하는 net.ip4.conf.all.accept_redirects 값이 이상하게 계속 1로 변경이되어 원인이 뭔지 찾아보고 싶었는데
여러가지 방법이 있었다.
알아보겠습니다.
1. auditd를 이용한 변경 기록 추적
Linux의 auditd 데몬을 사용하여 sysctl 값 변경 기록을 추적할 수 있습니다.
1-1. auditd 설치 및 활성화
sudo yum install audit
sudo systemctl enable auditd
sudo systemctl start auditd
1-2. 변경 감시 규칙 추가
/etc/audit/audit.rules 또는 /etc/audit/rules.d/audit.rules 파일에 다음 규칙을 추가하여 sysctl 설정 변경을 추적합니다:
-w /proc/sys/net/ipv4/conf/all/accept_redirects -p wa -k sysctl_change
- -w: 감시 대상 파일
- -p wa: 쓰기(w) 및 속성 변경(a)을 감시
- -k sysctl_change: 태그 이름(키워드) 지정
1-3. 규칙 적용
sudo auditctl -l
규칙이 적용되었는지 확인한 후, 시스템에서 관련 설정을 변경해 로그를 생성합니다.
1-4. 변경 로그 확인
로그를 확인하려면 다음 명령을 사용합니다:
sudo ausearch -k sysctl_change
출력 예시:
type=CONFIG_CHANGE msg=audit(1692023456.123:123): op=set sysctl net.ipv4.conf.all.accept_redirects res=0
- op=set은 값이 설정되었음을 의미하며, res=0은 성공적으로 적용된 것을 나타냅니다.
이때 no rules가 나올때가 있다. (데몬 active에 파일 제대로 설정시)
바로 적용하는 다음 명령어를 입력하면 된다.
sudo auditctl -R /etc/audit/rules.d/audit.rules
2. audit.log 수동 검색
변경 기록이 audit.log에 기록될 수도 있습니다:
sudo grep 'net.ipv4.conf.all.accept_redirects' /var/log/audit/audit.log
3. journalctl로 변경 시점 추적
sysctl 변경이 시스템 서비스, 스크립트, 또는 명령어 실행에 의해 발생했다면 journalctl에서 관련 로그를 검색할 수 있습니다:
sudo journalctl | grep "accept_redirects"
출력 예시:
Dec 31 10:00:00 hostname systemd-sysctl[1234]: Overwriting net.ipv4.conf.all.accept_redirects=0
4. /etc/sysctl.d 및 관련 스크립트 확인
4-1. 설정 파일 추적
/etc/sysctl.d/ 또는 /usr/lib/sysctl.d/ 디렉토리에 중복 설정 파일이 있는지 확인합니다:
grep -r 'net.ipv4.conf.all.accept_redirects' /etc/sysctl.d/ /usr/lib/sysctl.d/
4-2. 스크립트 추적
시스템 부팅 시 적용되는 초기화 스크립트를 확인합니다:
grep -r 'net.ipv4.conf.all.accept_redirects' /etc/init.d/ /etc/systemd/
5. cron 및 사용자 작업 확인
5-1. cron 작업 확인
변경이 주기적으로 발생한다면 cron에 설정된 작업을 확인합니다:
crontab -l sudo cat /etc/crontab sudo ls /etc/cron.d/
5-2. 사용자 기록 확인
다른 사용자가 직접 변경했다면 사용자 명령어 이력을 확인합니다:
sudo grep 'sysctl' /home/*/.bash_history
6. 지속적인 변경 추적
6-1. inotify로 실시간 파일 변경 모니터링
inotify를 사용하여 설정 파일 또는 프로세스에서 변경 사항을 실시간으로 감시합니다:
inotifywait -m /proc/sys/net/ipv4/conf/all/accept_redirects
요약약
- auditd: 설정 변경의 상세 내역 추적.
- journalctl 및 로그 분석: 변경이 발생한 시점 및 서비스 추적.
- 파일 검색: 관련 스크립트나 설정 파일 충돌 확인.
- 실시간 모니터링: 변경 원인을 즉각 탐지.
반응형
'LINUX' 카테고리의 다른 글
sudo su 와 su의 차이점 (0) | 2025.01.03 |
---|---|
auditd 를통해 이벤트 발생의 원인 파악 (0) | 2024.12.31 |
Sticky bit를 사용하는 이유가 뭘까? (0) | 2024.12.21 |
[linux] Strace 에 대해 알아보자! (0) | 2024.12.16 |
[Ubuntu] sudo 권한을 관리하는 파일 /etc/sudoers (0) | 2024.12.07 |
댓글