강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

파일속성설정으로 리눅스파일 보안구현(chattr, lsattr) 4편

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

파일속성설정으로 리눅스파일 보안구현(chattr, lsattr) 4

 


파일의 삭제는 불가능하지만 내용추가는 가능하도록 하는 속성 설정하기

 

파일의 a속성이 설정되어있다면 파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능해진다.  

 

따라서 이번에는 a 속성을 이용하여 파일에 추가는 가능하나 삭제는 되지않도록 속성설정을 하는 예를 보이도록 하겠다.


, 이 설정은 리눅스의 로그파일에 설정하면 유용할 것이다.  

 

필자의 경우에는 a속성의 설정은 주로 /var/log 디렉토리에 존재하는 로그파일들, 예를 들어 messages, secure, maillog등의 파일들에 이 속성을 지정해 두고 사용한다.

 

, 그럼 /var/log/messages파일을 대상으로 a속성을 부여하여 로그는 계속 추가저장 되도록 설정하고 삭제는 불가능하도록 설정해 보도록 하겠다. 

 

앞서도 설명드렸지만 여기서 설명되는 내용을 그대로 따라 하실 것 같아서 필자는 imsi라는 디렉토리를 따로 만들어서 /var/log/messages파일을 복사한 다음 a속성을 부여한 것이므로 여러분들께서는 이론적인 무장과 충분한 설정연습을 하신 후에 실제업무에 적용하기 바란다.

 

먼저, messages파일을 확인 한 것이다.

 

[root@host3 log]# ls -l messages
-rw-------    1 root     root        65852 10
  7 21:43 messages
[root@host3 log]#

 

다음은 chattr을 이용하여 a속성을 messages 파일에 부여한 것이다.  

 

그리고 부여된 결과를 확인하기 위해 lsattr로 속성설정내용을 확인한 것이다.

 

[root@host3 log]# chattr +a messages
[root@host3 log]#
[root@host3 log]# lsattr messages
----a--------- messages
[root@host3 log]#

 

a 속성이 설정되어 있기 때문에 messages파일에 시스템로그는 계속 저장이 될 것이다.  


, messages의 기능상의 문제는 전혀 없기 때문에 서버에서 발생하는 문제는 전혀 없다.

 

아래의 예는 실제로 /var/log/messages 파일에 a속성이 설정되어 있는 것으로 시스템 로그는 그대로 실시간으로 추가저장이 되고 있음을 알 수 있다.

 

[root@host3 log]# tail -f messages
Oct  7 16:49:19 host3 atd: atd startup succeeded
Oct  7 16:49:19 host3 xfs: ignoring font path element /usr/X11R6/lib/X11/fonts/cyrillic (unreadable)
Oct  7 16:49:24 host3 modprobe: modprobe: Can't locate module char-major-226
Oct  7 16:49:24 host3 modprobe: modprobe: Can't locate module char-major-226
Oct  7 16:49:24 host3 kernel: Linux agpgart interface v0.99 (c) Jeff Hartmann
Oct  7 16:49:24 host3 kernel: agpgart: Maximum main memory to use for agp memory: 96M
Oct  7 16:49:24 host3 kernel: agpgart: Detected Intel 440BX chipset
Oct  7 16:49:24 host3 kernel: agpgart: AGP aperture is 128M @ 0xe0000000
Oct  7 16:49:24 host3 kernel: [drm] Initialized tdfx 1.0.0 20010216 on minor 0
Oct  7 21:43:39 host3 sshd(pam_unix)[892]: session opened for user root by (uid=0)

 

그리고 다음과 같이 삭제를 하려고 할 경우에 "명령이 허용되지 않음" 또는 영문으로 "Operation not permitted"라는 메시지와 함께 삭제는 되지않음을 확인하실 수 있을 것이다.

 

[root@host3 log]# rm -f messages
rm: cannot remove `messages': Operation not permitted
[root@host3 log]#

 

그리고 이번에는 a라는 속성을 제거하였다.  a속성을 제거한 후에 lsattr로 속성제거를 확인 하였다.

 

[root@host3 log]# chattr -a messages
[root@host3 log]#
[root@host3 log]# lsattr messages
-------------- messages
[root@host3 log]#

 

첨언하자면 i 속성의 설정대상은 리눅스 설치 후에 변경사항이 전혀없는 파일에 사용하시고 a 속성은 리눅스의 로그파일들에 사용하면 서버보안에 굉장한 효과를 보실 수 있을 것이다. 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,787 개
  • 현재 접속자 :  223 명