Run The Bridge
2020. 07. 07시스템보안 본문
시스템 로그 설정과 관리
리눅스: /var/log디렉토리에 저장
유닉스/리눅스 주요 로그 파일
utmp(x)
위치 - Linux: /var/run/utmp
현재 로그인한 사용자의 상태정보를 담고 있다.
'w', 'who', 'finger' 등의 명령어로 확인가능
wtmp(x)
위치 - Linux: /var/log/wtmp
사용자의 성공한 로그인/로그아웃 정보, 시스템의 boot/shutdown 정보에 대한 히스토리를 담고 있다.
'last' 명령으로 확인가능
ex) last kiwi99 | head -5, still logged in(아직 로그인 중, 사용중)
lastlog
위치 - Linux: /var/log/lastlog
가장 마지막으로 성공한 로그인 기록을 담고 있다.
lastlog, finger 명령으로 확인 가능
btmp
위치 - Linux: /var/log/btmp
실패한 로그인 시도에 대한 기록을 담고 있다.
'lastb'명령으로 확인 가능
sulog
위치 - Linux: /var/log/secure
su 명령을 사용한 결과를 저장한 파일
※ 텍스트 로그이므로 editer로 볼 수 있다.
acct/pacct
위치 - Linux: /var/account/pacct
사용자가 사용한 명령어를 저장하고 있다.
'lastcomm'명령으로 확인 가능
syslog설정 및 관리
설정파일: /etc/syslog.conf
selector-field(facility.level) destination
- facility의 종류
*: 모든 서비스
auth: 사용자 인증과 관련된 메시지
cron
daemon
lpr
news
uucp
user
syslog
local0 ~ local7
- syslogd의 level(eacewnid)
Emergency(emerg) |
Alert(alert) |
Critical(crit) |
Error(err) |
Warning(warning) |
Notice(notice) |
Information(info) |
Debug(debug) |
- action
원격 로그 서버: @호스트 주소를 통해 지정한 호스트로 로그를 보낸다.
user: 지정된 사용자의 스크린으로 메시지를 보낸다.
*: 현재 로그인되어 있는 모든 사용자의 스크린으로 메시지를 보낸다.
로그파일 순환(rotate)관리
#rotate log files weekly
weekly - 주기
# keep 4 weeks worth of backlogs
rotate 4 - 순환 갯수
# create nwe (empty) log files after rotating old ones
create - 생성
# user data as a suffix of the rotated file
dateext - 확장자
# uncomment this if you want your log files compressed
#compress - 압축
# RPM packages drop log rotation information info this directory
include /etc/logrotate.d
시스템 해킹
1. 버퍼 오버플로우 공격
- strcpy --> strncpy //문자열의 길이를 체크하지 않으므로 dst 버퍼를 초과한다.
대응기술
1. 스택 가드: 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 프로그램 실행을 중단
2. 스택 쉴드: 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장해 두었다가 함수 종료 시 저장된 값과 스택을 비교해 프로그램 실행 중단
3. ASLR: 주소 공간 배치를 난수화하는 기법
2. 레이스 컨디션
둘 이상의 프로세스나 스레드가 공유자원에 동시에 접근할 때 접근하는 순서에 따라 비정상적인 결과가 발생하는 조건/상황을 말한다.
Setuid 설정이 되어 root권한으로 실행을 악용
3. 포맷 스트링 공격(Format String Attack)
외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생할 수 있는 취약점
- printf
- fprintf
- sprintf
대응기술
printf(argv[1]); --> printf("%s", argv[1]);
'정보보안산업기사 > 시스템보안' 카테고리의 다른 글
2020. 07. 08시스템보안 (0) | 2020.07.09 |
---|---|
2020. 07. 06시스템보안 (0) | 2020.07.07 |