Operating System/Solaris2007/07/12 13:39

1. System의 기본 Log File에 대하여

System에 접속을 하거나 하고 있는 정보를 기록하는 File이 있습니다. Hacker가 침입을 하고 난 후에는 자신의 접속 정보를 삭제하는 작업을 하게 되는데 아래의 File에서 자신의 접속 Log를 삭제하게 된다.

/var/run/utmp 또는 /var/adm/utmp
/var/log/wtmp 또는 /var/adm/wtmp
/var/log/lastlog 또는 /var/adm/lastlog

2. utmp File

먼저 utmp에 대해서 알아보겠습니다. 이 File은 현재System에 접속해 있는 사용자의 정보를 가지고 있습니다. System은 사용자가 remote로 접속을 하면 먼저 이 File에 기록을 하고 Logout을 할 때에 기록해둔 정보를 삭제합니다.

그리고 이 File의 구성요소를 결정하는 File은 /usr/include/utmp.h 에 정의되어 있습니다.

 

이 File은 보통 Binary 형태로 되어 있기 때문에 strings라는 명령어를 사용하여 다음과 같이 내용을 볼 수 있습니다.

 

이 File의 정보를 이용하는 명령어는 다음과 같습니다.

login(1), who(1), ac(8), init(8), last(8), lastcomm(8)

3. wtmp File

다음으로 wtmp에 대해서 알아보자. 이 File에는 처음부터 접속했던 모든 사용자의 Login 정보와 Logout 정보를 가지고 있습니다. 이 File은 삭제해주지 않으면 계속 누적이 되므로 정기적으로 Backup을 받아 두든지 아니면 불필요한 정보를 삭제하든지 해야 합니다.

이 File에 기록되는 정보는 utmp.h에 있는 내용에 ut_time이 추가되어 Logout시의 시간이 추가기록 됩니다. 물론 이 File의 정보를 보는 방법은 last라는 명령어로 볼 수 있으며 wtmp와 관련된 명령어에는 다음과 같은 것들이 있습니다.

login(1), who(1), ac(8), init(8), last(8), lastcomm(8)

4. lastlog File

다음으로 lastlog에 대해서 알아보겠습니다. 이 File에는 가장 최근에 Login한 정보를 저장하고 있습니다.

이 File또한 last라는 명령어로 조회를 해 볼 수 있으며 기록되는 정보를 정의하는 File은 /usr/include/lastlog.h에 다음과 같이 정의되어 있습니다.

 

5. Log File과 Log기록삭제

자, 그럼 이쯤에서 이 File들의 보안에 대해서 언급해 보도록 하겠습니다. 만약 자기가 다른 System에 불법으로 침입했다면 이들 File에 기록된 자신의 정보를 삭제하고자 할 것입니다. 그런데 이 File에서 일부 정보를 삭제하려면 write Permission이 있어야 합니다. 그래서 이들 File의 Permission이 또 문제가 되는 것이며, 대부분의 System에는 이들 File에 다음과 같은 Permission을 설정하고 있습니다.

 

위에서 보시는 바와 같이 utmp와 lastlog는 644로 되어 있기 때문에 root 외에는 File을 조작할 수 없으며 wtmp에는 755로 설정되어 있기 때문에 당연히 root 외에는 조작이 불가능합니다. 주의할 것은 이들 File의 Permission이 혹시 변경되지 않았나를 정기적으로 확인해 봐야 한다는 것입니다.

이들 File속에서 침입한 자신의 Log 기록을 삭제해주는 Utility가 있는데 zip2라는 Program입니다.

수작업으로 이들 File의 접속정보를 삭제할 수도 있으나 우린 좀더 편리한 것을 사용할 수 있는 방법을 사용해보겠습니다.

위에서 언급한 zap2.c에 대해서 설명을 하려 합니다. 이 File을 Compile하여 사용하도록 해야 합니다.

 

이 File의 처음에 나오는 부분을 해당 System에 맞게 수정하여야 합니다. 사용하는 방법은 간단합니다.. 다음과 같이....킥킥....

 

6. 또 다른 Log 기록 삭제 Program

cloak1.c, invisible, mme.c, sunwt.c, zip.c, lled.c, wted.c 등등...

Creative Commons License

'Operating System > Solaris' 카테고리의 다른 글

System 성능 측정  (0) 2007/07/16
Network 설정 (정적 Routing)  (0) 2007/07/15
Solaris에 gcc 설치하기  (0) 2007/07/14
ProFTPD 설치  (0) 2007/07/13
VI Editor 단축키  (0) 2007/07/13
System Log File과 Log 기록 삭제 방법  (0) 2007/07/12
Solaris FAQ (Network 관련 질문들)  (0) 2007/07/12
Solaris FAQ (System 관리에 관한 질문들)  (0) 2007/07/11
Solaris FAQ (일반적인 질문들)  (0) 2007/07/09
Solaris FAQ (Category)  (0) 2007/07/09
ufsdump를 이용한 Backup  (0) 2007/07/01
Posted by BLUEDAY™