본문 바로가기

공부/정보보안기사69

리눅스 작업 스케줄 관리 (cron, at) 리눅스 작업 스케줄 관리 cron cron 은 일정한 날짜와 시간에 지정된 작업을 실행하는 프로세스로 반복적인 작업을 수행할 때 사용한다. corn 프로세스는 /etc/crontab 파일에 설정된 것을 읽어서 작업을 수행한다. 보안 취약점 검사를 수행할 때 매일 반복적으로 점검하거나, 공격자가 악성코드 실행하는 명령을 crontab에 설정하여 반복적으로 악성코드를 실행하는 등의 활용을 할 수 있다. cron 예시 30 * * * * root (명령) : 30분에 명령 실행 */10 * * * * root (명령) : 10분마다 명령 실행 20 1 * * * root (명령) : 매일 1시 20분마다 명령 실행 */20 2-5 * * * root (명령) : 2시부터 5시까지 20분마다 명령 실행 30 3.. 2020. 3. 31.
리눅스 로그파일 리눅스 로그파일 리눅스는 사용자의 접속 기록, 로그인 기록, 명령어 사용 등, 모든 정보를 로그파일에 기록한다. 로그파일은 공격자가 임의적으로 시스템에 접근하여 어떤 작업을 수행했는지 알 수 있는 것으로 침해사고 발생 시 누가 무엇을 수행했는지 증명하는 책임 추적성 역할을 수행한다. 로그파일은 공격자의 정보 확인에 있어서 매우 중요한 역할을 하지만 로그파일 자체도 공격자에 의해 조작될 수 있다. 즉, 하나의 로그 파일로 침해사고를 분석하는 것이 아니라 여러 로그파일을 종합적으로 분석해야 한다. 현재 로그인 사용자 정보 (utmp) 현재 로그인 사용자 파일 /var/run/utmp 현재 로그인 사용자 확인(utmp파일을 읽어서 터미널에 출력하는 역할) #w / #who 리눅스의 로그파일 /var/log u.. 2020. 3. 30.
리눅스 권한관리 리눅스 권한 리눅스의 권한은 소유자, 그룹, 다른 사용자로 이루어지며, 각각은 읽기, 쓰기, 실행 권한을 가질 수 있다. 읽기는 r, 쓰기는 w, 실행은 x로 표기한다. (-rw-r--r-- : 소유자 읽기, 쓰기 가능, 그룹 읽기 가능, 다른 사용자 읽기 가능) 특수 권한으로 setuid, setgid, sticky bit가 있다 default 권한 파일을 생성할 때 기본적으로 주어지는 권한으로, default 권한 값을 가지고 있는 것은 unmask 값이다. unmask의 값이 0022일 때 666에서 이 값을 빼 644 값을 가지게 된다. (r = 4, w = 2, x = 1 / setuid = 4000, setgid = 2000, sticky bit = 1000) mkdir 명령을 통해 디렉터리를.. 2020. 3. 30.
리눅스 패스워드 파일 (/etc/passwd, /etc/shadow) 리눅스 패스워드 파일 /etc/passwd에는 사용자의 패스워드를 해시로 암호화한 값이 저장되어 있다. 사용자가 패스워드를 입력하면 리눅스는 /etc/passwd에 있는 해시값을 비교하여 로그인한다. /etc/passwd가 아닌 /etc/shadow에 패스워드를 저장할 수도 있다. /etc/passwd /etc/passwd 두 번째 필드에 x가 되어 있으면 사용자의 패스워드는 /etc/shadow 에 저장되어 있는 것이다. 보통의 리눅스 패스워드는 shadow에 별도로 기록된다. /etc/passwd에 패스워드를 저장하지 않고 /etc/shadow 파일에 패스워드를 저장하기 위해서는 powconv 명령어를 사용해야 한다. 셸 부분에 /bin/false로 설정 되어 있다면 로그인할 때 셸을 실행하지 않는다.. 2020. 3. 29.
리눅스 부팅 리눅스 부팅 부트 로더 시스템에 전원이 들어왔을 때 가장 처음 하는 작업은 보조기억장치에 있는 운영체제의 커널을 주기억장치에 올리는 것이다. 이 작업은 부트 로더(Boot Loader)가 수행한다. 대표적인 부트로더로 LILO(Linux Loader), GRUB(Grand Unfied Bootloader)가 있으며 현재는 GRUB가 사용된다. LILO는 실행 시 /etc/lilo.conf 설정 파일을 읽어 실행되고, GRUB은 /boot/grub/grub.conf 설정 파일을 읽어 실행된다. GRUB은 부트 정보를 사용자가 임의로 변경할 수 있으며, 여러 운영체제를 사용할 수 있는 멀티 부팅을 지원한다. 리눅스 부팅 순서 1) 전원을 키고 ROM BIOS를 읽어 MBR(Master Boot Record).. 2020. 3. 29.
리눅스 구성 요소 (커널, 셸, 파일 시스템) 리눅스 구성 요소 리눅스 운영체제 핵심 구성요소 커널(Kernel) 메모리에 상주하면서 시스템을 리하는 운영체제의 핵심 운영체제 응용프로그램 수행에 필요한 여러 서비스를 제공한다. 프로세스, 메모리, 입출력, 파일 관리 등 셸(Shell) 사용자가 입력한 문장을 읽어 요청을 실행하는 명령어 해석기/번역기 커널과 직접적으로 연결돼 있어 명령어를 해석한 결과를 다른 프로그램 또는 커널로 전송 Bourne 셸, C셸, Korn셸, bash셸 등 리눅스의 표준 셸은 bash 셸이다. 다른 셸을 사용해도 상관은 없다. 파일 시스템(File System) 파일 저장의 기본적인 구조, 시스템 관리를 위한 기본 환경을 제공 계층적인 트리 구조 형태(디렉터리, 서브 디렉터리, 파일 등) 리눅스 표준 파일 시스템은 ext.. 2020. 3. 29.