SharedIT | 묻고 답하기(AMP)

서버 취약점 점검 U-14 사용자 shell 점검


점검 스크립트를 돌이면 위의 3개 계정하고 root 계정이 nologin이 아니라고 취약으로 떨어지는데

root하고 sync, shutdown, halt도 nologin으로 변경해야 하나요?

root를 nologin으로 변경하는 것은 안맞는 거 같고..

웹서핑 아무리해도 100이하 60000 이상의 계정에 해당된다고 하고..

바꿔야할까요?

Tags : 태그가 없습니다.

3개의 답변이 있습니다.

Genghis Khan
  0 추천 | 약 2년 전

서버취약점 수행을 분기때마다 했는데요

취약점 조치를 100% 다 하는건 불가능합니다

조치 후 문제가 되는건 서비스에 영향이

크기 때문에 스킵 해야 되는 부분은 넘어가야 합니다

만약 필요조치시 표준 값으로 설정하세요

topkslee
  0 추천 | 약 2년 전

서버 보안 점검에서 linux 설치시 default로 설치된 계정을 삭제하거나 비활성화

권고를 하더군요.


(제한된 워딩이 있는지 저장하는데 오류가 발생해서 캡쳐하여 올립니다.)


그리고 root 대체 계정을 생성해놓지 않으셨다면 root는 살려두셔야 되구요.

빨간신발 | 약 2년 전

감사합니다.

명령어까지 알려주셔서 검색하는 수고를 덜었습니다.

wansoo
  0 추천 | 약 2년 전

sync로 로긴했을때 /bin/sync program 이 실행되게 하기 위해서

passwd file에다 실행 shell (program)을 저렇게 지정해 둔것이 되겠고요.


shutdown 도 마찬가지로 shutdown으로 로긴했을때 /sbin/shutdown program이 실행되게 하기 위해서

로긴시 기본 실행되는 프로그램을 /sbin/shutdown으로 설정해 둔것이 되겠고요.


halt도 마찬가지로 halt로 로긴했을 때 /sbin/halt 프로그램이 자동으로 실행되게 하기 위해서 실행되는 프로그램을 /sbin/halt로 지정해 둔것이 되겠고요.


/sbin/nologin 이라는 프로그램은 이 계정은 현제 사용할 수 없다는 메시지만 보여주고 아무 일도 하지 않는 프로그램이고요.

bin, daemon, adm, lp, mail 등의 계정은 계정은 만들어져 있어 사용해야 하지만...

shell login을 하지 못하게 하기 위해서 이들 계정으로 로긴 시도할때 사용할 수 없는 계정이라는 걸 보여주고 아무것도 하지 못하게 하려고 로긴시 자동 실행 프로그램을 /sbin/nologin으로 지정해 둔것이 되겠고요.


root 계정도 로긴 시도할때 로긴 자체를 하지 못하게 하고 싶다면... /sbin/nologin으로 지정해 두면 되겠지만...

root 계정은 일반적으로 컴퓨터와 직접 연결된 콘솔 장치로 로긴할와 su 명령으로 계정 변경할때만 허용하는 형태로해서 원격 등의 계정으로 로긴하지 못하게 설정해 두고 사용하기 때문에 로긴 자체를 차단하지는 않는 방식으로 사용하는게 일반적이고요.

 보안도 중요하지만 그에 따른 필요성도 있고, 편리성도 추구해야 하기 때문에...

너무 보안만 생각하면서 완전히 차단하는 건 맞지 않은 것 같아 보이네요.


wansoo | 약 2년 전

도움될만한 정말 긴 글을 추가로 적었는데... 

답변 작성을 올리는 순간 블락킹 오류가 생기면서 다~ 날라 가버렸네요. OTL

명령어들과 스크립트 등등이 들어 가 있는 내용이다 보니... 글이 올라가면서 필터링으로 막아 버린것 같네요

필터링에 걸리더라도... 오류 메시지는 알려주더라도 작성한 글만이라도 보존해 주었으면 좋을텐데... 그냥 모조리 없애 버리네요~ ㅠㅠ

취약성 점검 스크립트에 대한 내용과 조치를 취할수 있는 다양한 방법들, 취약성 점검 스크립트에 대한 의견 등등에 대한 많은 내용을 정성스럽게 아~~주 길게 적었는데...

모두 날라가 버려서 좌절감에 다시 적기 의지가 완전히 꺽여 버렸습니다~ㅠㅠ

wansoo | 약 2년 전

적은 내용중에... 기억을 더듬어... 몇가지만 다시 적어 보면... ㅠ

sync, halt, shutdown은 원격 백업, 원격 시스템 종료 등의 경우에 로긴이 필요할 수 있지만 일반적인 경우에 로긴하지는 않기 때문에 /sbin/nologin으로 지정해 둬도 특별히 문제가 생기지는 않을 것 같고요.

어짜피 일반 계정으로 로긴해서 root 권한을 얻은 후에 sync, halt, shutdown 명령을 실행 시키면 될거니깐요.

해당 계정의 suid 를 100 이상 60000 이하로 변경해 둬도 취약점 점검 스크립트 실행 결과 높은 점수를 받을 수 있어 마음의 위안을 삼을 수 있겠고요.

어짜피 sync, halt, shutdown 계정으로 로긴하지 않고, 일반 계정으로 로긴해서 root 권한을 얻어서 실행 시킨다면 해당 계정의 레벨을 중요하지 않을테니깐요.

취약점 검검 스크립트를 살짝 수정해서 sync, halt, shutdown에 대해서는 예외 처리해 둬도 취약점 점검 점수가 높게 나오기 때문에 마음의 위안을 삼을 수 있을 것 같네요.

인터넷에 올라와 있는 점검용 스크립트는 보조하는 수단, 참고하는 수단으로 사용하는 것이라 생각되지 신봉할 것 까지는 아니라 생각합니다.

판단과 행동은 자신이 선택하는 것이고, 그에 따라 결과도 자신 떠 안으면 되는 것이지...

남이 만들어 놓은 스크립트에 신봉해서 억지로 끼워 맞출 필요는 없다라고 생각합니다. 

topkslee | 약 2년 전

저도 2번 블락 당하고 그냥 명령어 내용은 메모장에 적어 캡쳐 했습니다.

오류 메시지만 줘도 될텐데 ㅠㅜ

빨간신발 | 약 2년 전

저도 가끔 그런적이 있어서 이해합니다.

글이라도 살았으면 좋겠어요.. 

ktit | 약 2년 전

좋은 정보 얻어갑니다.