- 로그 관리 (로그 유형, 로그 설정 방법)
- 유닉스(리눅스) 로그 관리 개요
- 리눅스에서는 시스템로그, 보안로그, 메일로그, 부팅로그 등 시스템의 다양한 로그들을 생성/저장하기 위해서 syslogd 프로세스를 실행하며, 기본적으로 로그 파일은 종류별로 /var/log 디렉토리의 아래에 생성된다. 또한 보안을 위해 파일들의 저장위치나 저장 파일명을 변경할 경우에는 /etc/syslog.conf 파일을 수정한다.
- 유닉스 로그 종류
- utmp: 현재 시스템에 로그인한 사용자 상태 출력 (w, who, users, finger)
- w는 사용자계정, 접속터미널타입, 접속한 클라이언트 ip, 로그인시각, idle 시간, 수행중인 프로세스 이름 확인
- 접속 터미널타입 (tty: 콘솔에서 직접 접속, pts: 원격 접속)
- who는 제한된 정보만 확인 가능(사용자 계정, 접속터미널 타입, 로그인시각, 클라이언트 ip)
- w는 사용자계정, 접속터미널타입, 접속한 클라이언트 ip, 로그인시각, idle 시간, 수행중인 프로세스 이름 확인
- wtmp: 사용자의 로그인, 로그아웃, 시스템 재부팅 정보 출력 (Last)
- btmp: 5번 이상 로그인 실패시 로그인 실패 정보 기록 (Lastb, loginlog)
- 다만, 리눅스의 경우는 실패할때 마다 기록
- pacct: 시스템에 로그인한 모든 사용자가 시간대별로 수행한 프로그램(명령어)에 대한 정보 기록 (Acctcom, lastcomm)
- su(Switch User): 권한 변경(성공, 실패 여부) 로그 (/var/adm/sulog)
- history: 명령어 수행 기록 (history)
- lastlog: 각 사용자의 최근 로그인 시각, 접근한 소스 호스트 정보 기록 (lastlog)
- lastlog -u {사용자명} : 가장 최근 사용자가 로그인한 기록
- last {사용자명}: wtmp 파일에 저장된 사용자가 로그인한 기록
- last reboot: wtmp 파일에 저장된 정보 중 시스템 재부팅 기록
- lastb: btmp 파일에 저장된 로그인 실패 기록
- xferlog: ftp 서비스를 이용하여 파일 업/다운로드 이력 기록(일시, ip, 파일명) (/var/log/Xferlog)
- secure: 사용자 원격로그인 정보 기록 (/var/log/secure)
- 리눅스 시스템에서 텔넷을 통해 접속한 사용자의 계정과 PID, 접속 시간, 로그인한 터미널 등을 분석하고자 한다. 이 때 꼭 살펴봐야할 로그 파일 2개 절대 경로
- /var/log/secure
- /var/log/messages
- utmp: 현재 시스템에 로그인한 사용자 상태 출력 (w, who, users, finger)
- syslog 포맷
- facility(서비스종류).priority(우선순위) action(logfile 위치)
- 서비스 종류
- *: 모든 서비스에 의하여 발생되는 메시지
- Auth: 로그인 및 su 처럼 사용자 인증에 관련된 메시지
- Authpriv: 선택된 사용자만 읽을 수 있는 파일에 로그를 남김(그 외 auth와 동일)
- Console: 콘솔에 일방적으로 나타나는 메시지
- Cron: 시스템 스케줄러에서 보내는 메시지
- Daemon: 별도의 핸들러가 없는 모든 시스템 데몬의 로그
- ftp: ftp 데몬의 전송을 로그로 남기도록 설정 가능
- Kern: 커널 메시지
- Lpr: 프린터 데몬인 lpd에 의해 발생되는 메시지
- Mail: Sendmail, pop 등 메일 시스템에서 오는 메시지
- News: lnnd와 같은 인터넷 뉴스 데몬에서 보내는 메시지
- Ntp: Network Time Protocol이 보내는 메시지
- Security: 각종 보안 시스템이 보내는 메시지
- User: 사용자 프로그램에 대한 로깅
- uucp: Unix to Unix Copy 프로토콜이 보내는 로그
- 우선순위 종류
- 0.none: 어떤 메시지도 남기지 않음
- 1.Emerg: 시스템이 비정상적인 상태(멈췄거나 매우 불안정)로 매우 위험한 상황의 메시지
- 2.Alert: 시스템을 계속 가동시킬 수는 있으나 즉각적인 조치가 필요한 상황의 메시지
- 3.Crit: 급한 상황은 아니지만 치명적인 HW, SW 문제 발생 메시지(HDD bad 블록)
- 4.Err: 고쳐야하지만 시스템을 망가뜨릴 정도는 아닌 수준의 에러로 인한 메시지
- 5.Warning: 주위를 요하는 경고성 메시지
- 6.Notice: 에러가 아닌 알림성 메시지
- 7.Info: 단순한 정보성 메시지
- 8.Debug: 프로그래머가 디버그 용도로 남기는 메시지(사용자 프라이버시 침해 정보 포함될 수 있음(
- 9.*: 모든 상황의 메시지
- 유닉스(리눅스) 로그 관리 개요
- 시스템 보안
- 시스템 시작/종료
- Run Level: 시스템 운영상태 표시, init 프로세스 /etc/inittab 파일에 정의된 run level에 따라 /etc/rc.d/rc[run.level].d에 나열된 스크립트를 실행해 운영 상태 구성
- init X 명령을 사용해서 Run Level 변경
- Run Level 0: PROM mode(Programmable Read-Only Memory)
- Run Level S,s: 시스템 싱글 유저 모드(로컬 File system 마운트 x)
- Run Level 1: 시스템 싱글 유저 모드(로컬 File system 마운트o)
- Run Level 2: 멀티 유저 모드(nfs 클라이언트 모드)
- Run Level 3: 멀티 유저 모드(nfs 서버 모드, 유닉스 디폴트)
- Run Level 4: 사용 x
- Run Level 5: 시스템 power off 모드
- Run Level 6: 시스템 리부팅
- 사용자 관리
- 계정 추가
- Useradd 명령어 사용(root만 사용 가능)
- /etc/passwd에 사용자 정보 추가됨
- /etc/group에 그룹 정보 추가
- 홈디렉토리, 쉘 설정
- 계정 삭제
- Userdel 명령어 사용(root만 사용 가능)
- option: -r
- 계정 + 홈 디렉터리 삭제
- 그룹 추가
- groupadd 명령어 사용
- option: -g, gid
- 명시한 gid로 그룹 생성
- 그룹 삭제
- groupdel 명령어 사용
- 계정 추가
- 파일시스템 관리
- mount
- 보조기억장치에 설치된 파일시스템을 유닉스 시스템이 인식하도록 특정 디렉토리에 논리적으로 연결하는 것
- mount src dest(src를 dest에 연결)
- option -a: /etc/fstab 파일을 기반으로 mount
- /etc/mtab에 마운트 정보 기록
- umount
- mount된 파일시스템의 연결을 해제함
- 사용중이거나 사용자가 파일시스템에 있는 디렉토리에 있는 경우 메시지 출력과 함께 실패
- /etc/mtab에 있는 마운트 정보 삭제
- umount X (X에 연결된 파일시스템 연결 해제)
- option
- -a: 모든 파일시스템을 unmount함
- -f: 해당 파일시스템을 사용하는 프로세스를 강제 종료하고 파일시스템을 umount
- du
- 하드디스크 사용량 확인 가능
- option
- -a: 하위 파일에 대한 정보도 보여줌
- -s: 현재 디렉토리가 차지하는 총 용량만 출력
- -k: kilobyte 단위로 출력
- df
- 파일시스템의 전체 공간, 사용 가능 공간을 확인하기 위해 사용하는 명령어
- df [file/filesystem]
- option
- -k: 통계 데이터를 1024바이트 블록 단위로 출력
- -i: 사용 가능한, 사용중인 i-node 정보를 출력
- 프로세스 스케줄 관리
- 정기적 스케줄 관리(cron)
- cron 데몬 프로세스는 정기적인 작업을 지정시간에 처리하기 위해 사용
- 필요 구성요소
- crontab 파일: 작업목록
- crontab 명령: crontab 파일 제어
- 정기적 스케줄 관리(cron)
- mount
- 시스템 시작/종료
'ETC' 카테고리의 다른 글
정보보안기사 실기 키워드 (0) | 2021.05.09 |
---|---|
리눅스마스터 1급 필기 정리 (0) | 2021.01.31 |
[Python] Database 조작 간략히 (0) | 2020.06.03 |