確認主機啟動時使用runlevel
3
設定主機使用規範提示訊息
- /etc/motd
關閉非必要的service
(port)
- Disable SELinux:
- vi /etc/sysconfig/selinux:
SELINUX=disabled
- Disable ip6tables:
- service ip6tables stop; service ip6tables status;
- chkconfig ip6tables off; chkconfig--list ip6tables
- Disable vsftpd (FTP):
- service vsftpd stop; service vsftpd status;
- chkconfig vsftpd off; chkconfig --list vsftpd;
- 關閉常見的service (RHEL 4/5: sendmail, RHEL 6: postfix):
- service stap-server stop; service cups stop; service qpidd stop; service avahi-daemon stop; service tog-pegasus stop; service ntpd stop; service postfix stop; service sendmail stop; service ntpd stop;
- service stap-server status; service cups status; service qpidd status; service avahi-daemon status; service tog-pegasus status; service ntpd status; service postfix status; service sendmail status; service ntpd status;
- chkconfig stap-server off; chkconfig cups off; chkconfig qpidd off; chkconfig avahi-daemon off; chkconfig tog-pegasus off; chkconfig ntpd off; chkconfig postfix off; chkconfig sendmail off; chkconfig ntpd off;
- chkconfig --list stap-server; chkconfig --list cups; chkconfig --list qpidd; chkconfig --list avahi-daemon; chkconfig --list tog-pegasus; chkconfig --list ntpd; chkconfig --list postfix; chkconfig --list sendmail; chkconfig --list ntpd;
SSH 設定:vi
/etc/ssh/sshd_config
- Disable root ssh:
PermitRootLogin no - 閒置X秒斷線:
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT 2700; export TMOUT - 登入失敗三次即斷線:
MaxAuthTries 3 - 以上設定完畢後需重起sshd service:service sshd restart
網路設定
(NIC Bonding)-for RHEL 4.x/5.x
- 設定primary網卡為eth0,在failover至eth1之後,若eth0回復就會切回eth0:
vi /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
設定完成後需reboot才會生效。 - 查看bonding狀態:cat /proc/net/bonding/bond0,應顯示「Primary Slave:eth0」,並應手動插拔網路線,或者執行ifconfig eth0 down/up指令來確認是否有正確failover/failback。
網路設定
(NIC Bonding)-for RHEL 6.x
- 設定開機時啟動bond0 interface:
vi /etc/modprobe.d/bonding.conf
alias bond0 bonding - 設定primary網卡為eth0,在failover至eth1之後,若eth0回復就會切回eth0:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS=”miimon=100 mode=active-backup primary=eth0”
設定完成後需reboot才會生效。 - 查看bonding狀態:cat /proc/net/bonding/bond0,應顯示「Primary Slave:eth0」,並應手動插拔網路線,或者執行ifconfig eth0 down/up指令來確認是否有正確failover/failback。
啟用系統內建防火牆
(iptables for IPv4)
- 預設系統會自動啟用iptables & ip6tables,保留iptables,關閉ip6tables
- service iptables start; service iptables status;
- chkconfig iptables on; chkconfig --list iptables;
- check iptables status: service iptables status,若內容太多,再依序執行以下指令:
iptables -F; iptables -X; iptables -Z; iptables-save; service iptables restart; - 檢查iptables rules: iptables -L -n -v
設定檔:/etc/sysconfig/iptables,reboot 後可自動載入rules。
- cronjob:
- 執行後需將stderr與stdout一併紀錄於log,如:
30 1 * * * /backup/XXX.sh >> /var/log/XXX.log 2>&1
- 設定允許使用ssh登入主機的網域白名單(防止維護廠商透過80 port以ssh/telnet over HTTP的方式遠端登入有開放到公網的設備,並以該設備作為跳板進行維護/異動)
- 確認系統內建的sshd是否支援TCP Wrapper: 執行ldd /usr/sbin/sshd | grep libwrap, 若出現以下 output 代表有支援(sshd可使用libwrap函式庫):
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x00b22000) - 編輯/etc/hosts.allow (不可使用 10.1.0.0/16 表示法):
sshd:XX.XX.XX.XX - 編輯/etc/hosts.deny (不可使用 10.1.0.0/16 表示法):
sshd:ALL - 設定完畢後不需重起sshd,會立刻生效
- 查看是否有違法連線的紀錄,log 位置在 /var/log/secure,範例如下:
[root@XXX ~]# grep refused /var/log/secure
Feb 17 17:26:53 XXX sshd[3034]: refused connect from ::ffff:XX.XX.XX.XX (::ffff:XX.XX.XX.XX)
- [Optional] 評估是否採用 Logical Volume Manager (LVM) 來管理磁碟空間,以減少需要處理磁碟空間不足的狀況
- 帳號設定
- shell預設為bash
- 新增帳號範例:useradd -d /home/account -s /usr/bin/bash -m account; passwd account(一次新增多筆帳號:echo “account1\naccount2” | xargs -i useradd -d /home/{} –s /usr/bin/bash -m {}; passwd {} )
- 可直接編輯 /etc/passwd 以修改現有帳號的 default shell
- 通行碼管理
- 帳戶密碼最大使用期限不可超過90天、最小使用期限不可超過60天、密碼最小長度12、密碼到期30天前提醒:
vi /etc/login.defs #設定完畢後,新增帳號會自用套用相關規則
PASS_MAX_DAYS 90
PASS_MIN_DAYS 60
PASS_MIN_LEN 12
PASS_WARN_AGE 30 - 帳號使用之密碼滿90天需強迫變更,到期前30天提醒:
chage -M 90 -W 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i chage -M 90 -W 30 {})
設定完成後,再將各帳號的最後變更密碼日期改成今天:
chage -d yyyy-mm-dd account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i chage -d yyyy-mm-dd {}) - 密碼重設不可使用3代以內的密碼、密碼長度至少為12碼、需符合密碼複雜度:
/etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=1 ucredit=1 ocredit=1 lcredit=1 minlen=12
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=1 ucredit=1 ocredit=1 lcredit=1 minlen=12
password sufficient
pam_unix.so md5 shadow nullok try_first_pass use_authok remember=3
password required
pam_deny.so
- 密碼輸入錯誤三次鎖定 for RHEL 4.x (不支援自動解鎖):
vi /etc/pam.d/system-auth
auth required /lib/security/$ISA/pam_env.so
auth required /lib/security/$ISA/pam_env.so
auth
required /lib/security/$ISA/pam_tally.so
no_magic_root # add this line here
account
required /lib/security/$ISA/pam_permit.so
account
required /lib/security/$ISA/pam_tally.so
deny=3
no_magic_root # add this line here
check
fail count of particular account:
faillog
-u [account]
unlock
account:
faillog
-u [account] -r
- 密碼輸入錯誤三次鎖定 for RHEL 5.x (不可設定自動解鎖: unlock_time):
vi /etc/pam.d/system-auth
auth required pam_env.so
auth required pam_env.so
auth
required pam_tally.so onerr=fail deny=3
# add this line here
check
fail count of particular account:
faillog
-u [account]
unlock
account:
faillog
-u [account] -r
- 密碼輸入錯誤三次鎖定 for RHEL 6.x (不可設定自動解鎖: unlock_time):
vi /etc/pam.d/sshd
auth required pam_sepermit.so
auth required pam_sepermit.so
auth
required pam_tally2 onerr=fail deny=3
# add this line here
account
required pam_nologin.so
account
required pam_tally2.so per_user #
add this line here
check
fail count of particular account:
pam_tally2
-u [account]
unlock
account:
pam_tally2
-u [account] -r
- 密碼不得與帳號相同:
此為OS本來就有的限制,不需要調整設定 - NTP設定
- 設定root排程定期執行ntpdate指令
- SNMP設定
- 編輯 /etc/snmp/snmpd.conf,將「community」設定為「XXX」
- 重起 SNMP Service:chkconfig snmpd on; service snmpd start;
- For Cacti monitoring: 編輯 /etc/snmp/snmpd.conf,在「Make at least snmpwalk -v 1 localhost -c public system fast again.」下有兩行「view systemview included .1.3.6…」,保留第二行,把第一行改為「view systemview included .1.3.6」。
沒有留言:
張貼留言