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를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-13 SUID, SGID, 설정 파일점검 (0) | 2024.10.13 |
---|---|
[UNIX] U-12 /etc/services 파일 소유자 및 권한 설정 (2) | 2024.10.06 |
[UNIX] U-10 /etc/(x)inetd.conf 파일 소유자 및 권한 설정 (0) | 2024.10.06 |
[UNIX] U-09 /etc/hosts 파일 소유자 및 권한 설정 (0) | 2024.10.05 |
[UNIX] U-08 /etc/shadow 파일 소유자 및 권한 설정 (0) | 2024.10.05 |