접근통제모델 - 강제적 접근 통제(MAC, Mandatory Access Control)
• 벨 라팔다(Bell-LaPadula) 모델
- 군대의 보안 레벨처럼 그 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
- 기밀성 유지에 초점을 둔 모델
- 상위 레벨 읽기 금지 정책(No-read-up Policy)
낮은 보안 레벨의 권한을 가진 이가 높은 보안 레벨의 문서를 읽을 수 없고 자신의 권한보다 낮은 수준의 문서만 읽기 가능
- 하위 레벨 쓰기 금지 정책(No-write-down Policy)
* 자신보다 높은 보안 레벨의 문서에 쓰기는 가능하나 보안 레벨이 낮은 문서에는 쓰기 권한이 없음
* 보안 레벨 2의 정보를 보안 레벨 1에 기록 → 기밀성 손상 X
* 보안 레벨 2의 정보를 보안 레벨 3에 기록 → 기밀성 손상 O
• 비바(Biba) 모델
- 무결성을 높이는 데 목적이 있음
- 읽기에 대한 권한이 벨-라팔다 모델과 조금 다름
- 하위 레벨 읽기 금지 정책(No-read-down Policy)
낮은 보안 레벨의 권한을 가진 이가 높은 보안 레벨의 문서를 읽을 수 있고 자신의 권한보다 낮은 수준의 문서만 읽기 불가
상대적으로 신뢰도가 높은 레벨 1의 정보를 가져와 신뢰도가 낮은 레벨2의 정보를 보완하여 신뢰도를 높이는 것은 허용하지만, 신뢰도가 낮은 레벨 3의 정보를 참조하여 신뢰도를 떨어드리는 것을 방지
- 상위 레벨 쓰기 금지 정책(No-write-up Policy)
* 레벨 2의 문서를 더 높은 신뢰도를 가진 무결성 레벨 1의 정보에 쓸 수 없음
* 읽기와 마찬가지로 낮은 신뢰도를 가진 정보를 높은 신뢰도를 가진 정보에 더해, 결과적으로 높은 신뢰도를 가진 정보의 신뢰도를 떨어뜨리지 않는 것이며 반대로 높은 신뢰도를 가진 레벨 2의 정보를 신뢰도가 더 낮은 레벨 3의 문서에 쓰는 것은 가능
LOG
- 감사 서비스를 통해 남겨지는 시스템의 동작 흔적
- 시스템의 오류 및 동작 상태에 대한 정보를 남김
- 차후 침투가 발생했을 때 공격자의 흔적을 추적하기 위한 필수 정보
• rsyslog
- 시스템에 로그 메시지를 남기고 처리하는 프로그램과 설정파일을 모두 합쳐서 부르는 말로 logging
Message Program 의 표준
- Kernel 이나 System Util 에서 발생한 메시지를 rsyslogd Daemon이 전송
* /etc/rsyslog.conf 파일에 정의된 정보에 의해 Message를 기록
* /etc/rsyslog.conf 을 수정하여 로그의 저장 위치 및 파일 이름을 수정할 수 있음
- UDP 514 Port 사용
★ Crontab
- 주기적인 실행
- scheduling daemon
- 지정된 시각에 명령어가 수행되도록 (반복수행)
- 패키지명 : cronie
- 데몬명 : crond
- log : /var/log/cron ( 이걸로 확인. )
* | * | * | * | * |
분 | 시 | 일 | 월 | 요일 |
0-59 | 0-23 | 1-31 | 1-12 | 0-6 (일-토) |
- ex)
* * * * * /root/1min.sh ==> 1min.sh (echo "crontab test")
15,45 * * * * /root/30min.sh ==>
*/10 * * * * /root/10min.sh ==>
0 2 * * * 2:00(매일)
30 */6 * * * 6시간마다(0:30,06:30,12:30,18:30)
30 1-23/6 * ** 1시부터 매 6시간 마다
# vi /root/1min.sh
echo "crontab test!!!"
# chmod 755 /root/1min.sh
[root@localhost ~]# ./1min.sh
crontab test!!!
Crontab List 확인
[root@localhost ~]# crontab -l
no crontab for root
Crontab 편집
[root@localhost ~]# crontab -e
* * * * * /root/1min.sh
[root@localhost ~]# crontab -l
* * * * * /root/1min.sh
작업내역
스냅샷 (메일서버 설정X)
# cat /var/spool/mail/root
스냅샷 (메일서버 설정)
[root@localhost new]# pwd
/root/Maildir/new
로그확인
tail -f /var/log/cron
Sep 20 11:45:01 localhost CROND[3900]: (root) CMD (/root/1min.sh)
실습(클라이언트에서 생성된 로그를 서버로 전송하기)
> rsyslog 클라이언트 (minimal centOS) 설정
* vi /etc/rsyslog.conf
파일의
45행 복사 후 자기파일 추가
* service rsyslog restart
* service sshd restart
하고나면
* cat /var/log/jina 확인했을 때, 로그가 기록됨.
* vi /etc/rsyslog.conf
로그파일을 전송할 서버 주소를 작성.
> rsyslog 서버 (200.200.200.149) 설정
UDP 514번 포트를 사용함.
* vi /etc/rsyslog.conf
13, 14행에있는 주석 해제. (= UDP 514번 포트를 쓰겠다. )
전송될 위치를 지정해주는 문장 추가
클라이언트에서
service sshd restart
service rsyslog restart
서버에서
방화벽 내려줘야함
service iptables stop
서버에서 로그 파일 전송된 것을 알 수 있다.
'INFOSEC > NETWORK' 카테고리의 다른 글
DHCP (0) | 2019.09.27 |
---|---|
IDS - Port Mirroring - SPAN 실습 (0) | 2019.09.26 |
시스템보안솔루션 종류 (0) | 2019.09.20 |
FTP ( File Transfer Protocol ) (0) | 2019.09.18 |
SMTP, POP3 (0) | 2019.09.18 |