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_20161230
iptables -nL > /root/FixATTT_20161230/iptables-nL.txt
iptables-save > /root/FixATTT_20161230/iptables-save.txt
service iptables status > /root/FixATTT_20161230/service_iptables_status.txt
cp /etc/sysconfig/iptables /root/FixATTT_20161230/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.111/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_20161230/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
-Thiế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