본문 바로가기
취약점 진단/UNIX 취약점 진단

[UNIX] U-11 /etc/syslog.conf 파일 소유자 및 권한 설정

by 게으른 피글렛 2024. 10. 6.
반응형

U-11 /etc/syslog.conf 파일 소유자 및 권한 설정

항목중요도 : 상

1. 취약점 개요

▶ 점검내용 : /etc/syslog.conf 파일 권한 적절성 점검

 점검목적 : /etc/syslog.conf 파일의 권한 적절성을 점검하여, 관리자 외 비인가자의 임의적인 syslog.conf 파일 변조를 방지하기 위함 

 보안위협

 · syslog.conf 파일의 설정내용을 참조하여 로그의 저장위치가 노출되며 로그을 기록하지 않도록 설정하거나 대량의 로그를 기록하게 하여 시스템 과부하를 유도할 수 있음 

 참고

※ /etc/syslog.conf : syslogd 데몬 실행시 참조되는 설정파일로 시스템 로그 기록의 종류, 위치 및 Level을 설정할 수 있음

2. 점검대상 및 판단 기준

  대상 : SOLARIS, LINUX, AIX, HP-UX 등

  판단기준

 · 양호 : /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)이고, 권한이 640 이하인 경우

 · 취약 : /etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이 640 이하가 아닌 경우

  조치방법 : “/etc/syslog.conf” 파일의 소유자 및 권한 변경 (소유자 root(또는 bin, sys), 권한 644 이하)

 

3. LINUX 초기 설정값

※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.

 

확인방법

/etc/syslog.conf 파일의 소유자가 root(또는 bin, sys)이고, 권한이 640 이하인 경우 양호입니다.

#CentOS 6 미만일 경우
$ ls -l /etc/syslog.conf

#CentOS 6 이상일 경우
$ ls -l /etc/rsyslog.conf

 

 

명령어로 확인해보겠습니다.

저의 리눅스는 CentOS 9이므로 rsyslog.conf를 확인했습니다.

[ec2-user@localhost etc]$ ls -l /etc/rsyslog.conf
-rw-r--r--. 1 root root 3380 Jan  8  2024 /etc/rsyslog.conf

 소유자는 root이나 644 권한으로 취약입니다.

 

 

4. 조치

조치에 앞서 rsyslog.conf 파일 내용에는 무엇이 들어있는지 확인해보겠습니다.

rsyslog.conf는 어떤 로그를 기록하는지에 대한 설명이 있습니다.

(아래 더보기를 눌러주세요)

더보기
[ec2-user@localhost etc]$ sudo cat /etc/rsyslog.conf
# rsyslog configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### GLOBAL DIRECTIVES ####

# Where to place auxiliary files
global(workDirectory="/var/lib/rsyslog")

# Use default timestamp format
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")

#### MODULES ####

module(load="imuxsock"    # provides support for local system logging (e.g. via                                                                                                              logger command)
       SysSock.Use="off") # Turn off message reception via local log socket;
                          # local messages are retrieved through imjournal now.
module(load="imjournal"             # provides access to the systemd journal
       UsePid="system" # PID nummber is retrieved as the ID of the process the j                                                                                                             ournal entry originates from
       FileCreateMode="0644" # Set the access permissions for the state file
       StateFile="imjournal.state") # File to store the position in the journal
#module(load="imklog") # reads kernel messages (the same are read from journald)
#module(load="immark") # provides --MARK-- message capability

# Include all config files in /etc/rsyslog.d/
include(file="/etc/rsyslog.d/*.conf" mode="optional")

# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
#module(load="imudp") # needs to be done just once
#input(type="imudp" port="514")

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
#module(load="imtcp") # needs to be done just once
#input(type="imtcp" port="514")

#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log


# ### sample forwarding rule ###
#action(type="omfwd"
# # An on-disk queue is created for this action. If the remote host is
# # down, messages are spooled to disk and sent when it is up again.
#queue.filename="fwdRule1"       # unique name prefix for spool files
#queue.maxdiskspace="1g"         # 1gb space limit (use as much as possible)
#queue.saveonshutdown="on"       # save messages to disk on shutdown
#queue.type="LinkedList"         # run asynchronously
#action.resumeRetryCount="-1"    # infinite retries if host is down
# # Remote Logging (we use TCP for reliable delivery)
# # remote_host is: name/ip, e.g. 192.168.0.1, port optional e.g. 10514
#Target="remote_host" Port="XXX" Protocol="tcp")

 

조치를 해보겠습니다.

[ec2-user@localhost ~]$ sudo chmod 640 /etc/rsyslog.conf

 

5. 결과

권한을 변경하였습니다!

양호입니다.

[ec2-user@localhost ~]$ ls -l /etc/rsyslog.conf
-rw-r-----. 1 root root 3380 Jan  8  2024 /etc/rsyslog.conf

 

 

Linux를 마스터하는 그날까지

화이팅!

 

반응형