2013年9月28日

Solaris (10) 安裝注意事項及資安規範實作

這篇是 Solaris (10) 的注意事項。

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
u  (root身分執行) 可用lsof -i -nP來檢查 (lsof工具Solaris需額外安裝),若有port找不到process,可能是被RPC mappingport,可用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
u  閒置X秒斷線:
ClientAliveInterval X
ClientAliveCountMax 0
vi /etc/profile
TMOUT X; export TMOUT
u  登入失敗三次即斷線:
MaxAuthTries 3
u  以上設定完畢後需重起 ssh servicesvcadm restart ssh
n   啟用系統內建防火牆:ipfilter
確認pfil以及ipfilter服務皆已啟用:
svcs pfil ipfilter
STATE沒有顯示online,則以svcadm enable [service_name] 來啟動指定的服務 (pfil預設為啟用,ipfilter預設為disabled)
n   檢查ipfilter rules: ipfstat -io
n   cronjob:
u  執行後需將stderrstdout一併紀錄於log,如:
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;
u  若因特殊業務需求要開放ftp連線,則禁止該ftp使用者/群組以ssh方式登入,僅允許登入ftp (參考資料)
edit /etc/ssh/sshd_config
DenyUsers ftpuser1 ftpuser2
DenyGroups ftpgroup
u  若要限制多個帳號,每個帳號需單獨寫一行,如:
guestuser user1
guestuser user2
n   設定允許使用ssh登入主機的網域白名單(防止維護廠商透過80 portssh/telnet over HTTP的方式遠端登入有開放到公網的設備,並以該設備作為跳板進行維護/異動)
u  vi /etc/ssh/sshd_config
AllowUsers *@XX.XX.XX.XX
n    [Optional] 評估是否採用 Solaris Volume Manager (SVM) 來管理磁碟空間,以減少需要處理Nagios disk warning的狀況
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 {} )
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開始累積的第幾天)
u  密碼重設不可使用3代以內的密碼、密碼長度至少為12碼、密碼需符合複雜度限制、帳戶密碼最大使用期限不可超過90天、帳戶密碼最小使用期限不可超過60天:
vi /etc/default/passwd

HISTORY=3
MAXWEEKS=12
MINWEEKS=8
PASSLENGTH=12
MINUPPER=1
MINLOWER=1
MAXREPEATS=1
MIINSPECIAL=1
MINDIGIT=1
u  密碼輸入錯誤三次鎖定 (不支援自動解鎖)
l   vi /etc/default/login:
RETRIES=3
l   vi /etc/security/policy.conf:
#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本來就有的限制,不需要調整設定
l   NTP設定
n   設定root排程定期執行ntpdate指令
l   SNMP設定
n   編輯 /etc/snmp/conf/snmpd.conf,設定「read-community XXX
n   重起 SNMP Servicesvcadm restart svc:/application/management/sma:default
(
可先用 svcs -a | grep sma 來確認 SNMP 服務的完整名稱)

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D