Thứ Bảy, 21 tháng 9, 2024

Cheklist Fix An toàn thông tin cho máy chủ Linux

Mục đích: Cheklist Fix Aan toàn thông tin cho máy chủ Linux

Nội dung công việc

OK/NOK

Chi tiết lỗi

Thủ tục thực hiện

1. Sử dụng kernel phiên bản không có lỗi

 

uname –r

2. Thiết lập chính sách tài khoản *

 

 

 

2.1. Xóa tất cả các tài khoản không sử dụng trên hệ thống

None

root
cyrus
postgres
amanda
pvm

Ktra User:
cat /etc/passwd | grep /*sh$ | awk -F: '{print $1}'
------
Kiểm tra tài khoản không sử dụng, thực hiện khóa account:
Lock:
#usermod -L username
Unlock:
#usermod -U username

2.2. Tất cả tài khoản đăng nhập phải có mật khẩu

None

 

Để tìm tài khoản có mật khẩu trống, ta thực thi lệnh sau :
awk -F: '($2 == "") {print $1}' /etc/shadow;

2.3. Chỉ duy nhất tài khoản root có UID = 0

None

root:x:0:0:root:/root:/bin/bash

Để tìm tất cả các tài khoản có UID = 0, ta thực thi lệnh sau:
awk  -F: '( $3 == "0") {print}' /etc/passwd;

2.4. Mật khẩu có độ dài tối thiếu 08 ký tự gồm chữ thường, chữ hoa, số và ký tự đặc biệt

None

Cấu hình chưa đúng

Linux,RetHat:
vi /etc/pam.d/system-auth;

password     required     pam_cracklib.so  try_first_pass  retry=3  minlen=8  dcredit=-1  ucredit=-1 ocredit=-1 lcredit=-1
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

2.5. Mật khẩu lưu dưới dạng mã hóa sử dụng thuật toán băm SHA-512

None

Mật khẩu mã hóa: md5

Bước 1:
vi /etc/login.defs;

PASS_MAX_DAYS   90
MD5_CRYPT_ENAB no
ENCRYPT_METHOD SHA512
Bước 2:
vi /etc/libuser.conf;

crypt_style = sha512
Bước 3: Yêu cầu người sử dụng thay đổi lại mật khẩu để có hiệu lực.

2.6. Thời gian tối đa bắt buộc phải đổi mật khẩu là 90 (hoặc 180) ngày

None

PASS_MAX_DAYS 99999

Mở file /etc/login.defs,  thay đổi tuy chọn PASS_MAX_DAYS, ví dụ (đã thực hiện tại mục 2.5):
vi /etc/login.defs;
        PASS_MAX_DAYS  90
Với tài khoản đã tồn tại, có thể thay đổi thời gian hết hạn mật khẩu bằng lệnh sau:
# chage  -M 90   username

2.7. Giới hạn mật khẩu mới không được trùng với 05 mật khẩu gần nhất

None

Không tìm thấy cấu hình.

đã thực hiện thao tác tại mục 2.4

3. Thiết lập cấu hình log cho hệ điều hành *

None

 

 

3.1. Thiết lập log cho hệ điều hành

None

Thời gian lưu log tối thiểu 3 tháng

Trường hợp 1 : ###rsyslog######
Bước 1:

mv /etc/logrotate.conf /root/    
echo "weekly" >> /etc/logrotate.conf  
echo "rotate 12" >> /etc/logrotate.conf
echo "create" >> /etc/logrotate.conf
echo "dateext" >> /etc/logrotate.conf
echo "include /etc/logrotate.d" >> /etc/logrotate.conf
echo "/var/log/wtmp {" >> /etc/logrotate.conf
echo "    create 0664 root utmp" >> /etc/logrotate.conf
echo "}" >> /etc/logrotate.conf
echo "/var/log/btmp {" >> /etc/logrotate.conf
echo "    create 0600 root utmp" >> /etc/logrotate.conf
echo "}" >> /etc/logrotate.conf
Bước 2:
vi /etc/rsyslog.conf

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit          /var/log/spooler
local7.*       /var/log/boot.log


###thêm vao###
# Log cmdlog
local6.*  /var/log/cmdlog.log
#Log invalid access
kern.warning         /var/log/iptables/iptables.log
kern.debug        /var/log/iptables/iptables.log

vi /etc/logrotate.d/rsyslog

/var/log/syslog
{
        compress
        postrotate
                reload rsyslog >/dev/null 2>&1 || true
        endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
        compress
        delaycompress
        postrotate
                reload rsyslog >/dev/null 2>&1 || true
        endscript
}

vi /etc/logrotate.d/cmdlog

/var/log/cmdlog.log
{
   compress
   weekly
   rotate 12
   sharedscripts
   postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Bước 3:
/etc/init.d/rsyslog restart

Trường hợp 2 : ###syslog######
Bước 1:

mv /etc/logrotate.conf /root/    
echo "weekly" >> /etc/logrotate.conf  
echo "rotate 12" >> /etc/logrotate.conf
echo "create" >> /etc/logrotate.conf
echo "dateext" >> /etc/logrotate.conf
echo "include /etc/logrotate.d" >> /etc/logrotate.conf
echo "/var/log/wtmp {" >> /etc/logrotate.conf
echo "    create 0664 root utmp" >> /etc/logrotate.conf
echo "}" >> /etc/logrotate.conf
echo "/var/log/btmp {" >> /etc/logrotate.conf
echo "    create 0600 root utmp" >> /etc/logrotate.conf
echo "}" >> /etc/logrotate.conf
Bước 2:
vi /etc/logrotate.d/syslog

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    compress
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

vi /etc/syslog.conf

# Log cmdlog
local6.*  /var/log/cmdlog.log
#Log invalid access
kern.warning                                           /var/log/iptables/iptables.log
kern.debug                                               /var/log/iptables/iptables.log

vi /etc/logrotate.d/cmdlog


/var/log/cmdlog.log
{
   compress
   weekly
   rotate 12
   sharedscripts
   postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Bước 3:
/etc/init.d/syslog restart

3.2. Các file log hệ thống chỉ được đọc ghi bởi quyền root

None

-rw-r--r--  1 root    root      29768 Jul 31 15:00 dmesg
-rw-r--r--  1 root    root     147460 Dec 25 18:33 lastlog
-rw-r--r--  1 root    root        398 Oct 16 16:33 yum.log

Bước 1:  Giả sử toàn bộ file log của hệ thống được lưu trong thư mục /var/log. Ta thiết lập như sau:
# chown  -R root:root /var/log/*
Bước 2:
# chmod  -R 600 /var/log/*

4. Cấu hình tường lửa mềm

None

Chưa cấu hình tường lửa khởi động cùng hệ thống.

Bước 1: bật tường lửa
#/sbin/chkconfig iptables on
Bước 2 : cấu hình iptables
Backup
mkdir /root/FixATTT_201
61230
iptables -nL > /root/FixATTT_201
61230/iptables-nL.txt
iptables-save  >  /root/FixATTT_201
61230/iptables-save.txt
service iptables status > /root/FixATTT_201
61230/service_iptables_status.txt
cp /etc/sysconfig/iptables /root/FixATTT_201
61230/iptables-sysconfig.txt
INPUT:

#iptables -I INPUT -s 10.50.11.109/32 -m state --state NEW -m tcp -p tcp --dport 8000:10000 -j ACCEPT
#iptables -I INPUT -s
10.151.197.68/32 -m state --state NEW -m tcp -p tcp -m multiport --dports 22,3306,8000:10000 -j ACCEPT
OUTPUT:
#iptables -I OUTPUT -d 10.50.11.109/32 -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
#iptables -I OUTPUT -d 10.50.11.1
11/32 -m state --state NEW -m tcp -p tcp -m multiport --dports 22,3306,8000:10000 -j ACCEPT
SAVE:
#iptables-save > /etc/sysconfig/iptables
DELETE:
#iptables -L INPUT -n --line-numbers
#iptables -D INPUT 3
ROLLBACK:
iptables-restore < /root/FixATTT_201
61230/iptables-save.txt
Bước 3 : Thiết lập ghi log Iptables
-Tạo thư mục lưu log iptables
  #mkdir /var/log/iptables


-T
hiết lập log cho iptables:
  #vi /etc/logrotate.d/iptables

/var/log/iptables/iptables.log
{
daily
rotate 30
copytruncate
compress
notifempty
missingok
}
chkconfig iptables on
 
#chkconfig iptables on
-Show log iptables:
tail -f /var/log/iptables/iptables.log

5. Hệ thống chỉ chạy phần mềm tối thiểu

None

netstat: 0.0.0.0:111 4639/portmap
chkconfig: anacron: on
chkconfig: autofs: on
chkconfig: avahi-daemon: on
chkconfig: bluetooth: on
chkconfig: cups: on
chkconfig: firstboot: on
chkconfig: gpm: on
chkconfig: haldaemon: on
chkconfig: hidd: on
chkconfig: hplip: on
chkconfig: kudzu: on
chkconfig: isdn: on
chkconfig: mcstrans: on
chkconfig: mdmonitor: on
chkconfig: microcode_ctl: on
chkconfig: netfs: on
chkconfig: nfslock: on
chkconfig: pcscd: on
chkconfig: portmap: on
chkconfig: readahead_early: on
chkconfig: rpcgssd: on
chkconfig: rpcidmapd: on
chkconfig: setroubleshoot: on
chkconfig: xfs: on
chkconfig: yum-updatesd: on

Kiểm tra các gói:
rpm -qa  | grep "telnet\|rlogin\|rsh\|rcp\|nis\|tftp"
ps -ef | grep -i "telnet\|vnc"
ps -ef | grep -i "rlogin\|vnc"
ps -ef | grep -i "rsh\|vnc"
ps -ef | grep -i "rcp\|vnc"
ps -ef | grep -i "nis\|vnc"
ps -ef | grep -i "tftp\|vnc"

######################Nếu có chạy các dịch vụ trên thì dùng lệnh kill -9 để tắt dịch vụ######################
Nếu có gói phần mềm không an toàn thì gỡ bỏ:
# rpm -e  package

6. Quản trị từ xa qua kênh truyền mã hóa (SSH)

None

Không tìm thấy cấu hình AllowUser
Không tìm thấy cấu hình ClientAliveInterval
Không tìm thấy cấu hình PermitRootLogin

Ktra User:
cat /etc/passwd | grep /*sh$ | awk -F: '{print $1}'
- Thiết lập ATTT cho ssh:
vi /etc/ssh/sshd_config
Protocol 2
PermitRootLogin no
AllowUsers monitor vt_admin

-Mở file cấu hình(cấu hình phiên hoạt động trong 5 phút):
#vi /etc/profile

TMOUT=300
readonly TMOUT
export TMOUT

7. Phân quyền tệp tin và thư mục *

None

 

 

7.1. Biến môi trường PATH hợp lệ

None

 Yêu cầu biến môi trường PATH không chứa các đường dẫn tương đối, không

chứa đường dẫn trống, không bao gồm các thư mục không rõ nguồn gốc.

 

7.2. Thiết lập giá trị UMASK

None

Thiết lập giá trị UMASK = 022 cho các tài khoản người dùng, UMASK = 077

với tài khoản root

echo "umask 022" >> /etc/profile;
echo "umask 022" >> /etc/bashrc;
echo "umask 022" >> /etc/csh.cshrc;
echo "umask 022" >> /etc/csh.login;
for dir in /etc/profile.d/*
do echo -e "\numask 022" >> "$dir"
done
echo "umask 077" >> /root/.bashrc;
echo "umask 077" >> /root/.bash_profile;
echo "umask 077" >> /root/.cshrc;
echo "umask 077" >> /root/.tcshrc;

7.3. Các file thực thi lạ không được bật cờ SUID và SGID

None

Timeout: find / \( -perm -4000 -o -perm -2000 \) -type f -print| head -n 50

find / \( -perm -4000 -o -perm -2000 \) -type f -print

7.4. Không tồn tại file unowner

None

Timeout: find / -xdev \( -nouser -o -nogroup \) -print | head -n 50

find / -xdev \( -nouser -o -nogroup \) -print

8. Thiết lập đồng bộ thời gian cho hệ điều hành *

None

 

vi /etc/ntp.conf

server
IPserver
------
/etc/init.d/ntpd restart
chkconfig ntpd on
ntpdate -u
IPserver
--------
crontab -e

*/5 * * * * /sbin/ntpdate -u 
IPserver

9. Chỉ root có quyền sửa file cấu hình dịch vụ CRONTAB

None

Chưa xóa file cron.deny.
Chưa hạn chế tài khoản được phép sử dụng CRON.

cat /etc/passwd | grep /*sh$ | awk -F: '{print $1}'

rm -rf /etc/cron.deny;

vi /etc/cron.allow;
root
----------------
chown root:root /etc/crontab;
chmod 600 /etc/crontab;
cd /etc;
chown  -R root:root cron.hourly cron.daily cron.weekly cron.monthly cron.d;
chmod  -R go-rwx cron.hourly cron.daily cron.weekly cron.monthly cron.d;


=============================
Website không bao giờ chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master