์ฝ์ค ์์ ์
AIDE๋ "Advanced Intrusion Protection Environment"์ ์ฝ์๋ก Linux ๊ธฐ๋ฐ ์ด์ ์ฒด์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์์คํ
์ค ํ๋์
๋๋ค. AIDE๋ ๋งฌ์จ์ด, ๋ฐ์ด๋ฌ์ค๋ก๋ถํฐ ๋ณดํธํ๊ณ ๋ฌด๋จ ํ๋์ ํ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ผ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ๊ณ ์นจ์
์ ํ์งํ๊ธฐ ์ํด AIDE๋ ํ์ผ ์ ๋ณด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ ์์คํ
์ ํ์ฌ ์ํ๋ฅผ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋น๊ตํฉ๋๋ค. AIDE๋ ์์ ๋ ํ์ผ์ ์ง์คํ์ฌ ์ฌ๊ฑด ์กฐ์ฌ ์๊ฐ์ ์ค์ด๋ ๋ฐ ๋์์ ์ค๋๋ค.
๋ณด์ข๊ด ๊ธฐ๋ฅ:
- ํ์ผ ์ ํ, inode, uid, gid, ๊ถํ, ๋งํฌ ์, mtime, ctime ๋ฐ atime์ ํฌํจํ ๋ค์ํ ํ์ผ ์์ฑ์ ์ง์ํฉ๋๋ค.
- Gzip ์์ถ, SELinux, XAttrs, Posix ACL ๋ฐ ํ์ผ ์์คํ ์์ฑ์ ์ง์ํฉ๋๋ค.
- md5, sha1, sha256, sha512, rmd160, crc32 ๋ฑ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํฉ๋๋ค.
- ์ด๋ฉ์ผ๋ก ์๋ฆผ ๋ณด๋ด๊ธฐ.
์ด๋ฒ ๊ธ์์๋ CentOS 8์์ ์นจ์
ํ์ง์ฉ AIDE๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ ์ ์กฐ๊ฑด
- ์ต์ 8GB RAM์ ๊ฐ์ถ CentOS 2์ ์คํํ๋ ์๋ฒ์ ๋๋ค.
- ๋ฃจํธ ์ก์ธ์ค
ะะฐัะธะฝะฐะตะผ
๋จผ์ ์์คํ ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํ์ธ์.
dnf update -y
์ ๋ฐ์ดํธ ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๋ ค๋ฉด ์์คํ ์ ๋ค์ ์์ํ์ธ์.
๋ณด์ข๊ด ์ค์น
AIDE๋ ๊ธฐ๋ณธ CentOS 8 ์ ์ฅ์์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค.
dnf install aide -y
์ค์น๊ฐ ์๋ฃ๋๋ฉด ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ AIDE ๋ฒ์ ์ ๋ณผ ์ ์์ต๋๋ค.
aide --version
๋ค์์ด ํ์๋์ด์ผ ํฉ๋๋ค.
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"
์ฌ์ฉ ๊ฐ๋ฅํ ์ต์
aide
๋ค์๊ณผ ๊ฐ์ด ๋ณผ ์ ์์ต๋๋ค:
aide --help
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ ์ด๊ธฐํ
AIDE๋ฅผ ์ค์นํ ํ ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ์ผ์ ์ด๊ธฐํ์ ๋๋ค. ์ด๊ธฐํ๋ ์๋ฒ์ ๋ชจ๋ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์ค๋ ์ท) ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํ์ญ์์ค.
aide --init
๋ค์์ด ํ์๋์ด์ผ ํฉ๋๋ค.
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)
์์ ๋ช
๋ น์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค aide.db.new.gz
์นดํ๋ก๊ทธ์ /var/lib/aide
. ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
ls -l /var/lib/aide
๊ฒฐ๊ณผ :
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE๋ ์ด๋ฆ์ด ๋ฐ๋ ๋๊น์ง ์ด ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. aide.db.gz
. ์ด ์์
์ ๋ค์๊ณผ ๊ฐ์ด ์ํํ ์ ์์ต๋๋ค.
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
๋ณ๊ฒฝ ์ฌํญ์ด ์ ๋๋ก ๋ชจ๋ํฐ๋ง๋๋๋ก ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์น๋ฅผ โโ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. DBDIR
ํ์ผ์ /etc/aide.conf
.
ํ์ธ ์คํ
์ด์ AIDE๊ฐ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ต๋๋ค. ๋ณ๊ฒฝํ์ง ์๊ณ ์ฒซ ๋ฒ์งธ AIDE ๊ฒ์ฌ๋ฅผ ์คํํฉ๋๋ค.
aide --check
์ด ๋ช ๋ น์ ํ์ผ ์์คํ ์ ํฌ๊ธฐ์ ์๋ฒ์ RAM ์ฉ๋์ ๋ฐ๋ผ ์๋ฃํ๋ ๋ฐ ๋ค์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ์ค์บ์ด ์๋ฃ๋๋ฉด ๋ค์์ด ํ์๋ฉ๋๋ค.
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
์ ์ถ๋ ฅ์ ๋ชจ๋ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ๊ฐ AIDE ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ์นํจ์ ๋ํ๋ ๋๋ค.
ํ ์คํธ ๋ณด์ข๊ด
๊ธฐ๋ณธ์ ์ผ๋ก AIDE๋ ๊ธฐ๋ณธ Apache ๋ฃจํธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ถ์ ํ์ง ์์ต๋๋ค. /var/www/html.
์ด๋ฅผ ๋ณผ ์ ์๋๋ก AIDE๋ฅผ ๊ตฌ์ฑํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํ์ผ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. /etc/aide.conf
.
nano /etc/aide.conf
์ ์ค ์ถ๊ฐ "/root/CONTENT_EX"
๋ค์ :
/var/www/html/ CONTENT_EX
๋ค์์ผ๋ก ํ์ผ์ ๋ง๋ญ๋๋ค. aide.txt
์นดํ๋ก๊ทธ์ /var/www/html/
๋ค์ ๋ช
๋ น์ ์ฌ์ฉํฉ๋๋ค.
echo "Test AIDE" > /var/www/html/aide.txt
์ด์ AIDE ๊ฒ์ฌ๋ฅผ ์คํํ์ฌ ์์ฑ๋ ํ์ผ์ด ๊ฐ์ง๋๋์ง ํ์ธํ์ธ์.
aide --check
๋ค์์ด ํ์๋์ด์ผ ํฉ๋๋ค.
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
์์ฑ๋ ํ์ผ์ด ๊ฐ์ง๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. aide.txt
.
๊ฐ์ง๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ถ์ํ ํ AIDE ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
aide --update
์ ๋ฐ์ดํธ ํ์๋ ๋ค์์ด ํ์๋ฉ๋๋ค.
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
์์ ๋ช
๋ น์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค aide.db.new.gz
์นดํ๋ก๊ทธ์
/var/lib/aide/
๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
ls -l /var/lib/aide/
๊ฒฐ๊ณผ :
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz
์ด์ AIDE๊ฐ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ ์ ์๋๋ก ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ์ ๋ค์ ๋ฐ๊พธ์ญ์์ค. ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฆ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
๊ฒ์ฌ๋ฅผ ๋ค์ ์คํํ์ฌ AIDE๊ฐ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ธ์.
aide --check
๋ค์์ด ํ์๋์ด์ผ ํฉ๋๋ค.
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
์ฐ๋ฆฌ๋ ๊ฒ์ฌ๋ฅผ ์๋ํํฉ๋๋ค
๋งค์ผ AIDE ์ ๊ฒ์ ์ค์ํ๊ณ ๋ณด๊ณ ์๋ฅผ ์ฐํธ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ cron์ ์ฌ์ฉํ์ฌ ์๋ํํ ์ ์์ต๋๋ค.
nano /etc/crontab
๋งค์ผ 10์ 15๋ถ์ AIDE ํ์ธ์ ์คํํ๋ ค๋ฉด ํ์ผ ๋์ ๋ค์ ์ค์ ์ถ๊ฐํ์ธ์.
15 10 * * * root /usr/sbin/aide --check
์ด์ AIDE์์ ์ฐํธ์ผ๋ก ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ฉ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.
tail -f /var/mail/root
AIDE ๋ก๊ทธ๋ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
tail -f /var/log/aide/aide.log
๊ฒฐ๋ก
์ด ๊ธฐ์ฌ์์๋ AIDE๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ๊ณ ๋ฌด๋จ ์๋ฒ ์ก์ธ์ค๋ฅผ ์๋ณํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ์ถ๊ฐ ์ค์ ์ ์ํด /etc/aide.conf ๊ตฌ์ฑ ํ์ผ์ ํธ์งํ ์ ์์ต๋๋ค. ๋ณด์์์ ์ด์ ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๊ตฌ์ฑ ํ์ผ์ ์ฝ๊ธฐ ์ ์ฉ ๋ฏธ๋์ด์ ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ช
์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com