728x90

[1,2교시 - 데이터베이스 보안 구축]

평가 문제 대비 풀이 진행

 


[3,4,5교시 - 시스템 보안 운영]

/ rsyslog
- rsyslog 는 systemd
- 로컬 로그 + 리모트 로그 수집
- /etc/rsyslog.conf : 어디에 저장할지
- /etc/logrotate.conf : 로그를 용량이 너무 커지지 않게, 매일매일 로그를 백업하는 설정

/ syslog
- syslog 는 initd. /etc/inittab

/ swatch
- 실시간 로그내용 검출, 분석 패키지

/ watch
# watch -n 10 tail /var/log/httpd/access_log : 해당 위치의 로그를 10초마다 갱신해서 봐라

/ DNS
- 설치 : bind bind-chroot
- named
- dns
- NS

/ SNMP
- 설치 : net-snmp net-snmp-utils
- snmpwalk

/ 방화벽
- 지금 firewalld를 쓰고 있는데 사용안함으로 처리하고 iptables를 사용할것임
- 리눅스를 딥하게 쓰는 사람들은 iptables를 더 많이 사용한다.

 


복습

 

/ rsyslog.conf 수정
- /etc/rsyslog.conf 편집
- fromhost-ip부분을 hostname으로 변경한다.


- 아래 이미지의 auth는 로그인과 관련된 부분이다.

- 수정 후 systemctl restart rsyslog를 해준다.

/ 삭제
# rm -rf /var/log/rsyslog/*.*
- rf옵션 : 폴더안의 내용을 지우기

/ 수정된 내용 확인

 

[클라이언트]
/ rsyslog 재시작
# systemctl restart rsyslog

/ rsyslog 설정파일 확인
# vi + /etc/rsyslog.conf

/ 시큐어 이슈를 만들어주기
# systemctl restart sshd



[서버]
/ 로그 확인
# ls -al /var/log/rsyslog/

- 템플릿 부분을
# $template TmplMsg,"/var/log/rsyslog/%hostname%_%fromhost-ip%__messages_%$YEAR%-%$MONTH%-%$DAY%.log"
- 로 하게되면 호스트네임과 from아이피가 같이 나오게 된다.

 


 

 

swatch

/ swatch
- 로그를 분석해주는 솔루션
- 원격서버 로그분석도 가능(rsyslog)
- Simple Log Watcher
- 로컬 로그도 볼 수 있고 원격 로그도 볼 수 있다.
- swatch를 실행한 다음부터 설정한 내용들을 검출할 수 있다. (이전것은 검출이 안된다.)

 

/ 설치 확인
# rpm -qa swatch
# rpm -qa | grep swatch

/ 설치
# yum list swatch
- 위의 명령어를 날리면 못 불러온다.
- 레포지토리 확인
# yum repolist


- 레포를 더 추가해줘야 한다.
# yum -y install epel-release

- 여담 : noarch -> 설치할때 32bit/64bit 상관 안한다.

# yum repolist
- 하면 에러난다.

 

- yum 관련된 파일이 있는 곳으로 이동
# cd /etc/yum.repos.d/

/ 수정
# vi epel.repo

- 위의 내용을
- baseurl앞의 #을 지우고, metalink에 #을 추가한다.

- 이후 다시 yum repolist를 해본다.
- 증설된것을 확인할 수 있다.

- 이제 yum에서 확인할 수 있다.

 

- 설치
# yum -y install swatch perl-File-Tail

 

/ swatch는 설정파일을 만들어야 줘야 한다.
# cd ~
# touch ./.swatchrc : '.swatchrc'파일 만들기
# ls -al

# vi ./.swatchrc
- 아래 내용으로 작성한다.

watchfor /Accepted password/
echo

watchfor /Accepted password | session opened/
echo

watchfor /password check failed| failed password/
echo

- /root/.swatchrc파일을 바라보고 설정파일을 적용한다.
- 바라보는 로그위치는 /var/log/secure이다.
# swatch -c /root/.swatchrc -t /var/log/secure



/ 테스트
- 새 터미널 탭을 연다.

- 서버에서 ssh 접근 실패를 해본다.

- 실시간으로 확인이 가능하다.

- ssh 성공했을때도 실시간으로 나오는지 확인해보자.

 

- cat으로  /var/log/secure을 좀 더 자세히 들여다보자
# cat  /var/log/secure
- 연결이 끊어진것도 추적하도록 해보자.

# vi ./.swatchrc
- 아래의 내용을 제일 밑에 추가해준다.
- 한줄로 쭉 적어도 상관은 없다. (지금 한줄로 쭉 적으면 너무 보기 힘들어서 여러줄에 걸쳐서 표시한다.)


- 이제 다음 터미널 탭에서 ssh를 나가면 closed된 로그를 확인할 수 있다.

 

/ 이제 클라이언트의 로그를 바라보도록 한번 해보자
- /var/log/rsyslog에 있는 클라이언트의 secure로그를 바라보도록 한다.

# swatch -c ./.swatchrc -t /var/log/rsyslog/192.168.111.132_secure_2022-06-21.log

- 이제 클라이언트에서 ssh 실패도 해보고 성공도 해보고 ssh 나가기도 해보자.



- 내용 또 추가
# vi ./.swatchrc
- 일반적이지 않지만 한번 넣어본다.

 

# swatch -c ./.swatchrc -t /var/log/secure

- 새 터미널에서 한번 로그파일에 내용을 추가해보자.

- 근데 이게 로컬에서는 되는데 원격에서는 안된다.

 

/ 확인해보기
# swatch -c ./.swatchrc -t /var/log/rsyslog/192.168.111.132_messages_2022-06-21.log
- 이후 클라이언트에서 'echo "haha" > /var/log/messages'를 해도 서버에서 확인이 안된다.

- 서버에서 확인 안됨

 

- 클라이언트에서 logger를 쓰면 서버에서 확인이 되도록 할 수 있다.

 

 

728x90

+ Recent posts