2022.06.02
하루에 하나씩 블로그를 쓰기로 다짐하였는데 어쩌다보니 오늘 두번째 블로그를 쓰고있다.
정보보안산업기사 6.30 있는 시험에 접수하여 오늘 부터 공부에 들어간다.
SK 쉴더스는 합격은 했는데 9기로 기수가 밀려 8.22부터 교육을 수강한다.
그동안 밀린 자격증들을 취득하고 보안 및 클라우드 관련된 공부들을 해보려고한다.
1.리눅스 서버 보안
개요
리눅스는 운영체제의 한 종류로 시스템의 하드웨어를 효율적으로 관리하기위한 시스템 소프트웨어이다.
구성요소
#커널
주기억장치에 상주하면서 사용자 프로그램을 관리하는 운영체제의 핵심 역학
커널은 프로세스, 메모리 , 입출력, 파일 관리등을 수행
#셸
명령어 해석기/번역기로 사용자 명령의 입출력을 수행하며 프로그램을 실행
셸의 종류는 Bourne 셸, C셸, Korn 셸 등이 있고 리눅스 표준 셸인 bash 셸이 있음
#파일 시스템
여러가지 정보를 저장하는 기본적인 구조, 시스템 관리를 위한 기본환경 제공
bash shell
리눅스의 표준shell, 실행파일은 /bin 디렉터리에 있다
#셸기능
시그널을 처리
프로그램을 실행
파이프, 리다이렉션, 백그라운드 프로세스 설정
입력된 내용을 파악해서 명령 줄을 분석
와일드 카드, 히스토리 문자, 특수문자 분석
bash shell 이 실행될 때는 환경 파일을 읽어서 환경파일에 설정된 값으로 실행되게 된다.
.bash_profile
사용자 홈 디렉터리에 있는 파일
개별적인 shell 환경을 설정
.bashrc
사용자 정의 변수, 함수 alias를 정의
.bash_logout
사용자가 로그아웃할 때 실행되는 파일을 정의
#shell 환경변수
환경변수라는 것은 특정한 의미로 설정된 값을 의미한다.
env 명령어로 현재 환경에 설정되어 있는 모든 변수를 확인할 수 있다.
SHELL = 사용자의 로그인 셸의 절대경로
HOME = 홈 디렉터리에 대한 경로 이름
PATH = 실행할 명령어를 찾을 경로
USER = 사용자 이름
LOGNAME = 로그인할 때 사용할 이름
TERM = 사용 중인 단말기를 설명
MAIL = 전자메일 우편함
HOSTNAME = 호스트 명을 의미
TMOUT = 이 시간동안 명령 등의 입력이 없으면 연결이 종료됨
#Shell 종류
C shell - 사용자의 작업 환경을 편리하게 하기 위하여 .cshrc 파일에 필요한 환경 변수를 저장하여 사용자가 로그인햇을때 자동으로 명령 수행
Bourne shell - 사용자의 편의성을 위하여 .profile 파일에 환경변수저장
Korn shell - .kshrc 또는 .profile 파일에 환경변수 저장
bash shell - C shell 과 Korn shell 결합한거
TC shell - C shell 강화판
#리눅스 인증과 권한 관리
패스워드 파일
/etc/passwd , /etc/shadow
/etc/shadow에 패스워드를 저장하고 싶으면 pwconv 명령을 실행하면 된다.
다시 shadow에서 passwd로 이동하고 싶다면 pwunconv 명령을 실행하면 된다
#John the ripper를 사용한 패스워드 크래킹
John th ripper 라는 도구는 패스워드 파일을 지정해서 크랙을 할 수 있는 도구이고 format 옵션은 어떤 암호화 알고리즘을 사용했는지 지정하는 것이며 /root/passwd.txt는 평문인 입력 값과 암호문이 저장된 파일이다
john --format=raw-MD5 /root/passwd.txt --crack-status
보안상 가장 안전한 umask 설정값
umask 022 : 사용자는 rwx를 가지고 그룹과 다른 사용자는 r-w 권한이 부여된다.
#로그파일
w혹은 who 명령어로 현재 로그인한 사용자 정보 확인가능하다.
last 명령어를 통해 wtmp 파일을 읽을수있고 로그인과 로그아웃 정보가 나온다.
last reboot | more - 재부팅 사용확인
last console - console로 로그인 정보
lastb - 로그인 실패정보 확인