l 系統環境設定
n 設定主機使用規範提示訊息
u /etc/motd
n 安裝額外套件
u sunfreeware已經轉為營利性質,Solaris
packages可找舊的mirror site,可試試 http://solaris-freeware.saix.net。(下載連結均為FTP)
u 安裝sudo相關套件:libgcc, libiconv,
libintl, sudo
u 安裝lsof套件:lsof
n 關閉非必要的service (port)
u dtlogin (for X Window)
/usr/dt/bin/dtconfig -kill; /usr/dt/bin/dtconfig -d; lsof -I -nP|grep dtlogin; ps -ef|grep dtlogin;
※Reference: http://www.cyberciti.biz/tips/solaris-starting-and-stopping-dtlogin-cde.html
/usr/dt/bin/dtconfig -kill; /usr/dt/bin/dtconfig -d; lsof -I -nP|grep dtlogin; ps -ef|grep dtlogin;
※Reference: http://www.cyberciti.biz/tips/solaris-starting-and-stopping-dtlogin-cde.html
u (以root身分執行) 可用lsof -i -nP來檢查 (lsof工具Solaris需額外安裝),若有port找不到process,可能是被RPC mapping的port,可用rpcinfo -p來查。查到後若是不需要的 daemon 就可關掉了。
u RPC (rpcbind, portmapper) 控制很多服務 (例如 NFS),建議不確定時不要關。
u 其他通常可關閉的service:
svcadm disable svc:/network/rpc/gss:default
svcadm disable svc:/network/rpc/meta:default
svcadm disable svc:/network/rpc/rstat:default
svcadm disable svc:/network/rpc/mdcomm:default
svcadm disable svc:/network/rpc/metamed:default
svcadm disable svc:/network/rpc/metamh:default
svcadm disable svc:/network/rpc/cde-calendar-manager:default
svcadm disable svc:/network/rpc/cde-ttdbserver:tcp
svcadm disable svc:/network/rpc/smserver:default
svcadm disable svc:/network/rpc/rusers:default
svcadm disable svc:/network/rpc-100235_1/rpc_ticotsord:default
svcadm disable svc:/network/routing/ndp:default
n SSH 設定:vi /etc/ssh/sshd_config
u Disable root ssh:
PermitRootLogin no
PermitRootLogin no
u 閒置X秒斷線:
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT X; export TMOUT
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT X; export TMOUT
u 登入失敗三次即斷線:
MaxAuthTries 3
MaxAuthTries 3
u 以上設定完畢後需重起 ssh service:svcadm restart ssh
n
啟用系統內建防火牆:ipfilter
確認pfil以及ipfilter服務皆已啟用:
svcs pfil ipfilter
若STATE沒有顯示online,則以svcadm enable [service_name] 來啟動指定的服務 (pfil預設為啟用,ipfilter預設為disabled)
確認pfil以及ipfilter服務皆已啟用:
svcs pfil ipfilter
若STATE沒有顯示online,則以svcadm enable [service_name] 來啟動指定的服務 (pfil預設為啟用,ipfilter預設為disabled)
n
檢查ipfilter rules:
ipfstat -io
n cronjob:
u 執行後需將stderr與stdout一併紀錄於log,如:
30 1 * * * /home/backup/XXX.sh >> /var/log/XXX.log 2>&1
30 1 * * * /home/backup/XXX.sh >> /var/log/XXX.log 2>&1
n SFTP設定 (以內建的FTP Daemon為例):
u 確認關閉FTP service,僅允許以SFTP方式連線(ssh會通,sftp就會通):
svcadm disable ftp; svcs –a | grep ftp;
svcadm disable ftp; svcs –a | grep ftp;
u 若因特殊業務需求要開放ftp連線,則禁止該ftp使用者/群組以ssh方式登入,僅允許登入ftp (參考資料):
edit /etc/ssh/sshd_config
DenyUsers ftpuser1 ftpuser2
DenyGroups ftpgroup
edit /etc/ssh/sshd_config
DenyUsers ftpuser1 ftpuser2
DenyGroups ftpgroup
u 若要限制多個帳號,每個帳號需單獨寫一行,如:
guestuser user1
guestuser user2
guestuser user1
guestuser user2
n 設定允許使用ssh登入主機的網域白名單(防止維護廠商透過80
port以ssh/telnet over HTTP的方式遠端登入有開放到公網的設備,並以該設備作為跳板進行維護/異動)
u vi /etc/ssh/sshd_config
AllowUsers *@XX.XX.XX.XX
AllowUsers *@XX.XX.XX.XX
n [Optional] 啟用TCP_Wrappers來控管可存取此主機的hosts:
l 帳號設定
n shell預設為bash
u 新增帳號範例:useradd -d
/export/home/account -s /usr/bin/bash -m account; passwd account
(一次新增多筆帳號:echo “account1\naccount2” | xargs –I useradd –d /export/home/{} –s /usr/bin/bash -m {}; passwd {} )
(一次新增多筆帳號:echo “account1\naccount2” | xargs –I useradd –d /export/home/{} –s /usr/bin/bash -m {}; passwd {} )
u 可直接編輯 /etc/passwd 以修改現有帳號的 default
shell
n 通行碼管理
u 帳號使用之密碼滿90天需強迫變更,到期前30天提醒:
passwd -x 90 -w 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i passwd -x 90 -w 30 {})
設定完成後,再修改 /etc/shadow,將最後變更密碼日期改成今天。(可先變更某一帳號的密碼,以得知今天是自1970/01/01開始累積的第幾天)
passwd -x 90 -w 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i passwd -x 90 -w 30 {})
設定完成後,再修改 /etc/shadow,將最後變更密碼日期改成今天。(可先變更某一帳號的密碼,以得知今天是自1970/01/01開始累積的第幾天)
u 密碼重設不可使用3代以內的密碼、密碼長度至少為12碼、密碼需符合複雜度限制、帳戶密碼最大使用期限不可超過90天、帳戶密碼最小使用期限不可超過60天:
vi /etc/default/passwd:
HISTORY=3
MAXWEEKS=12
MINWEEKS=8
vi /etc/default/passwd:
HISTORY=3
MAXWEEKS=12
MINWEEKS=8
PASSLENGTH=12
MINUPPER=1
MINLOWER=1
MAXREPEATS=1
MIINSPECIAL=1
MINDIGIT=1
MINUPPER=1
MINLOWER=1
MAXREPEATS=1
MIINSPECIAL=1
MINDIGIT=1
u 密碼輸入錯誤三次鎖定 (不支援自動解鎖):
l vi /etc/default/login:
RETRIES=3
RETRIES=3
l vi /etc/security/policy.conf:
#can be overridden by /etc/user_attr
LOCK_AFTER_RETRIES=YES
CRYPT_DEFAULT=1
#can be overridden by /etc/user_attr
LOCK_AFTER_RETRIES=YES
CRYPT_DEFAULT=1
l check fail count: grep [account] /etc/shadow , 最後一個欄位是錯誤次數,被鎖住的帳號開頭顯示為
*LK*
l unlock account: passwd –u [account]
u 密碼不得與帳號相同:
此為OS本來就有的限制,不需要調整設定
此為OS本來就有的限制,不需要調整設定
l NTP設定
n 設定root排程定期執行ntpdate指令
l SNMP設定
n 編輯
/etc/snmp/conf/snmpd.conf,設定「read-community XXX」
n 重起 SNMP Service:svcadm restart
svc:/application/management/sma:default
(可先用 svcs -a | grep sma 來確認 SNMP 服務的完整名稱)
(可先用 svcs -a | grep sma 來確認 SNMP 服務的完整名稱)
沒有留言:
張貼留言