Linux 명령어와 시스템보안
1. ls (디렉터리, 파일 정보 출력)
-> 1) 파일종류, 접근권한 2) 하드링크수 3) 소유주 4) 소유그룹 5) 크기 6) 최종 변경일 7) 최종 변경시간 8) 이름
2. stat (i-node 속성정보 출력)
-> 1) i-node number 2) 파일타입 3) 접근권한 4) link count 5) 소유자 6) 소유그룹 7) 크기 8) MAC Time
9) Block Index
ln source_file target_file : 하드링크
ln -s source_file target_file : 심볼릭링크 (소프트 링크)
3. find (파일 검색)
-> find path [expression] [action]
1) find . -name "*.c" : 현재 디렉터리에서 파일명이 .c로 끝나는 파일 검색
2) find . -size +56 : 현재 디렉터리에서 파일 크기가 56블록보다 큰 것을 검색
3) find . -perm -664 : 현재 디렉터리에서 user와 group에 읽기 및 쓰기 권한, other에 읽기 권한이 있는 파일 검색
4) find . -mtime +3 : 현재 디렉터리에서 파일을 수정한지 3일이 지난 것을 검색
4. touch : 0byte 파일을 생성 또는 파일의 시간을 변경
5. umask : 파일 생성 시 접근권한에 영향을 미침 (/etc/profile 에 적용, 개인은 .profile에 적용)
6. diff : 파일이 동일한지 여부를 검사
7. comm : 파일을 비교할 때 사용 (한쪽에만 있거나 양쪽 모두에 있는 행 출력)
8. grep : 파일 내 특정 패턴이나 문자열을 검색
9. ps : 시스템에 상주중인 프로세스 정보 출력
-> UID, PID, PPID, STIME(프로세스 시작 시간), TTY(프로세스가 연결된 터미널), TIME(CPU 사용시간), CMD(프로세스명)
10. 시그널 : UNIX 시스템에서 지원하는 소프트웨어 인터럽트, 프로세스간 통신수단
-> 1) 외부에 의해서 : 키보드 입력 (ctrl + c)
2) (커널)에러에 의해서 : divde zero 오류, 메모리 참조 오류
3) 이벤트에 의해서 : alarm() 함수, 프로세스 종료
4) 인위적으로 : kill() 함수, kill 명령어 (kill -시그널번호 PID)
* 주요시그널 : SIGKILL(9), SIGSTOP(23) 이 2가지는 무시나 핸들링이 불가능하므로 관리자가 해커를 막기위한 강력권한
* 좀비프로세스 : 프로세스 수행을 종료했지만 부모 프로세스가 종료상태정보를 확인하지 않아서 소멸하지 않고
남아있는 프로세스
* 고아프로세스 : 자식프로세스가 살아있는 상태에서 부모 프로세스가 종료하게 되면 자식프로세스는 고아프로세스 됨.
11. mount : 보조기억장치에 설치된 파일시스템을 UNIX시스템이 인식하도록 특정 디렉토리에 논리적으로 연결시킴
12. cron : 정기적 처리할 작업을 crontab명령으로 crontab파일에 저장, cron데몬 프로세스가 관리
해커가 주기적으로 정보를 빼돌리는 데에 사용도 가능하다. -> crobtab 파일 관리 필요
13. /etc/passwd : account / password(x로표시) / user_ID / group_ID / comment / home_directory / login_shell
/etc/shadow : account / encrypted_password / last_change / minlife / maxlife / warn / inactive / expires
** chage 명령어로 패스워드 Aging관련 설정을 할 수 있다. -> /var/log/secure파일에 로그가 남는다.
14. setuid, setgid (chmod ug+s)
1) setuid, setgid 설정된 경우 -> RUID == EUID, RGID == EGID
2) setuid, setgid 설정되지 않은 경우
-> RUID, RGID = 실행시킨 사용자의 ID
EUID, EGID = 실행파일 소유자의 ID (프로세스가 실행중인 동안에 접근권한을 판단하기 위한 ID)
* root소유의 실행파일에 setuid를 설정하면, ruid는 실행자의 id, euid는 root id로 설정이 된다.
따라서, 실행 프로그램 내에 euid 설정에 따라 root권한으로 접근하게 된다.
* sticky bit (chmod o+t)
-> 디렉토리에 설정이 되면, 파일의 생성은 자유롭게 할 수 있지만
파일 삭제 및 파일명 변경은 파일소유자 또는 root만이 가능하다.
'컴퓨터공학 > Security' 카테고리의 다른 글
블록체인의 간단 개념 (0) | 2018.01.11 |
---|---|
비트코인의 숨은 핵심기술 - 블록체인!! (0) | 2018.01.07 |
Secure 코딩과 기본해킹 3가지 기법 (0) | 2017.03.27 |
웹보안 관련과 OWASP 2013 그리고 2017 (0) | 2017.03.27 |
네트워크 보안 관련 (0) | 2017.03.23 |
암호화의 진화 (0) | 2017.02.17 |
인터넷 쿠키 (0) | 2017.02.17 |
정보보안관련 좋은 레퍼런스 사이트 (0) | 2016.03.03 |
악성코드를 이용한 해킹의 종류 및 대처법 (0) | 2016.02.15 |
Key Derivation Functions (PBKDF2) (1) | 2015.06.24 |