본문으로 바로가기

대상 서버 : Sun 5.10

주요정보통신기반시설 U-54(하)

1.계정관리 > 1.15 Session Timeout 설정

  • 점검내용 : 사용자 쉘에 대한 환경설정 파일에서 session timeout 설정 여부 점검
  • 판단기준 : Session Timeout이 600초(10분) 이하로 설정되어 있는 경우
  • 조치 방법 : 600초(10분) 동안 입력이 없을 경우 접속된 Session을 끊도록 설정

sh, ksh, bash 쉘 사용 시, 해당 항목의 경우 대부분 /etc/profile 파일 내

TMOUT=600
export TMOUT 

구문을 넣어주면 적용된다.

2021년도 가이드가 나오기 전 17년도 가이드에는 SunOS의 경우 TIMEOUT=600을 설정하도록 되어있지만, TIMEOUT 값은 텔넷 등 로그인 창에서 해당 시간만큼 대기하는 경우 로그인 창이 닫히게 되는 시간을 설정하는 것으로 일반적인 세션 타임아웃 값과는 다르므로, TMOUT으로 설정해주어야 한다.

위의 쉘들의 경우 저렇게 설정해주면 되는데, csh의 경우는 가이드에 별도로 나와있다.

/etc/csh.login 또는 /etc/csh.cshrc 파일을 생성하고
set autologout=10

으로 설정하도록 되어있으나, 적용이 되지 않는다.

/etc/csh.login, /etc/csh.cshrc, /etc/.login 파일에 전부 set autologout 값을 넣고, csh을 부여한 계정으로 로그인하여 확인해보았다.

각 파일별 autologout값을 1,2,3 을 넣어봄
변수값 확인

결과적으로 변수값이 설정되는 파일은 /etc/.login 파일이었다.

하지만 3분이 지나고, 아무리 놔둬도 로그아웃이 되지 않았다, 기본 sh의 경우 TMOUT 값을 600으로 설정해서 10분마다 로그아웃이 되지만, csh의 경우는 로그아웃이 되지 않는다. 

man csh 로 매뉴얼 확인 후 autologout 값을 확인해보았다.

autologout (+)
The first word is the number of minutes of inactivity before automatic logout. The optional second word is the number of minutes of inactivity before automatic locking. When the shell automatically logs out, it prints 'auto-logout', sets the variable logout to 'automatic' and exits. When the shell automatically locks, the user is required to enter his password to continue working. Five incorrect attempts result in automatic logout. Set to '60' (automatic logout after 60 minutes, and no locking) by default in login and superuser shells, but not if the shell thinks it is running under a window system (i.e., the DISPLAY environment variable is set), the tty is a pseudo-tty (pty) or the shell was not so compiled (see the version shell variable). See also the afsuser and logout shell variables. 

autologout은 로그인 및 슈퍼유저 쉘에서 기본값은 60분으로 설정되어 있으며, 윈도우 시스템(DISPLAY변수가 설정되어있는), pty, 컴파일되지 않는 쉘에서는 적용이 되지 않는다고 써있다. 

DISPLAY 변수값 확인

Display 환경변수가 localhost:10.0으로 설정되어 있어서 적용이 이렇게 되는 것인지, 확실하진 않으나, putty, mobaxterm등으로 접속하였을 때, 다른 서버에 붙어서 다른서버에서 telnet으로 접속했을때도 타임아웃 값이 적용되지 않으므로, 실제 현장에서의 환경 및 변수, 설정 값등을 확인 후 조치가 필요할 듯 싶다.

 

 전체 테스트 총평

 - csh의 경우 가이드에 나와있는 설정을 해도 실제 원격 접속에 대한 세션은 끊어지지 않으며, 매뉴얼 상 나와있는 항목들을 제외하면 콘솔 접속 밖에 남지 않는데, 설정하는 것이 다른 쉘과 형평성이 맞지 않는다고 밖에 보여지지 않는다.

 - 중간에 테스트가 잘못되었거나, 환경이 잘못되었을 수 있으니, 잘못된 점이 있다면 댓글로 공유해주시면 감사하겠습니다.