728x90
* 해당 실습에서 사용한 버전은 Rocky 8 임.
1. 계정관리
1 - 1. Root 계정 원격접속 제한 * KISA 다운로드 링크 포함
2. 파일 및 디렉토리 관리
2 - 1. root 홈, 패스 디렉터리 권한 및 패스 설정(현재글)
가. 환경변수 확인
필자의 경우 위에서 확인된 것처럼 VMware에 아무것도 설정하지 않은 순정 상태이기 때문에,
따로 설정해 줄 수 있는 것이 없다.
하지만 이러한 환경변수는 유저별로 설정을 해줘야한다.
$ cd /home - 해당 위치에서는 유저들 목록을 확인할 수 있다. 필자의 경우에는 user 계정만 존재한다. user 계정의 환경변수를 확인해보겠다. 위와 같은 취약점을 발견했다. 환경 변수내에 '::'(빈 값할당), 이나 '.'(현재위치를 의미)과 같은 내용은 보안에 취약한데, 환경 변수내에 빈 값을 할당하게 되면 해커에 의한 환경 변수 덮어쓰기 공격 등에 취약해지며 (누구나 예상할 수 있는 값이 되버린다.) '.'의 경우 아래에서 추가로 설명하겠다. |
환경변수 파일은 OS마다 다르나, 실습은 Rocky 8.9버전에서 진행하였다.
우선 현재 계정의 환경변수 설정을 위해 .bash_profile로 접근하겠다. 그러나 기본적으로 숨김 파일이기 때문에 일반적으로는 볼 수 없어 ls -al을 사용하여 확인해야한다. .bash_profile을 vi 편집기로 열어보자. 아니.. 이런.. 여기에서는 PATH값이 정의되지 않는듯 하다. 정답은 .bashrc 였다. 이처럼 절때라는건 없으니 다음과 같이 SHELL에 따라 참조되는 환경 설정파일들을 확인해보자. - /bin/sh : /etc/profile, $HOME/.profile - /bin/csh : $HOME/.cshrc, $HOME/.login, /etc/.login - /bin/ksh : /etc/profile, $HOME/.profile, $HOME/kshrc PATH에 '.', '::'이 보인다면 모두 제거해준후 저장하여 제대로 수정되었는지 확인해보자. 재부팅을 해야 적용된다. |
자 그러면 이제 환경변수 내에 '.' 과 같이 현재 위치를 참조하게 될 경우의 가정을 하나 들어보자.
위의 경로가
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 인데
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:./root/bin 다음과 같이 환경변수가 수정되었다고 하겠다.
해커가 본래 정상적으로 위치해야할 루트에 위치한 /bin외에
다른 곳에 /bin 폴더를 생성하여 그곳에 ls라는 악성파일을 숨겨두었다면
본래 사용하던 파일 목록을 조회하는 ls 대신 해커가 만들어둔 악성파일 ls로
대체되어 실행될것이다.
즉 평소에 관심을 가지고 점검하는 것이 좋겠다.
자세한 조치방법은 KISA 가이드에 나와있기때문에 생략하겠다.
728x90
'공부 > 리눅스' 카테고리의 다른 글
2-3 ~ 8. 리눅스 취약점 조치(파일 및 디렉토리 관리) - /etc 하위 디렉토리 파일 소유자 및 권한 설정 (2) | 2024.01.30 |
---|---|
2-2. 리눅스 취약점 조치(파일 및 디렉토리 관리) - 파일 및 디렉토리 소유자 설정 (0) | 2024.01.29 |
1-4. 리눅스 취약점 조치(계정관리) - PW 파일 보호 (0) | 2024.01.29 |
1-3. 리눅스 취약점 조치(계정관리) - 계정 잠금 임계값 설정 (0) | 2024.01.29 |
1-2. 리눅스 취약점 조치(계정관리) - PW 설정 (0) | 2024.01.25 |