FROM_UNIXTIME() Format UNIX timestamp as a date
UNIX_TIMESTAMP() Return a UNIX timestamp
2013年5月23日 星期四
MySQL IP LONG 轉換函式
INET_ATON() Return the numeric value of an IP address
INET_NTOA() Return the IP address from a numeric value
INET_NTOA() Return the IP address from a numeric value
2013年5月20日 星期一
CentOS 安裝 SOP
韌體更新
BIOS 的安全設置
GRUB / LILO 的密碼
更新軟體套件
yum update
TCP_WRAPPERS 阻止所有的主機連線
編輯 /etc/hosts.deny 加入
ALL: ALL@ALL, PARANOID
停用、反安裝不用的服務
acpid,apmd,atd,autofs,avahi-daemon,bluetooth,cpuspeed,cups,firstboot,gpm,haldaemon,hidd,hplip,ip6tables,isdn,lm_sensors,messagebus,nfslock,pcscd,portmap,rpcgssd,rpcidmapd,yum-updatesd,
修改系統 RunLevel
id:3:initdefault:
禁止 Control-Alt-Delete 鍵盤 重新啟動
編輯 /etc/inittab"
將 ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
執行:
/sbin/init q
限制 "/etc/rc.d/init.d" 存取權限
chmod -R 700 /etc/rc.d/init.d/*
隱藏系統資訊
編輯 /etc/rc.d/rc.local" 檔,最後一行加入
cat /dev/null > /etc/issue > /etc/issue.net
執行
mv /etc/issue /etc/issue.bak
mv /etc/issue.net /etc/issue.net.bak
修改DNS相關設定
編輯 /etc/host.conf,加入
order bind,hosts
multi on
nospoof on
設定本地時間及每天自動校對時間
yum -y install ntp
vi /etc/cron.daily/ntpdate.sh
#!/bin/sh
ntpdate -s watch.stdtime.gov.tw
chmod 755 /etc/cron.daily/ntpdate.sh
更新 Locate DB
updatedb
修改密碼相關設定
1.確認沒有空密碼
grep '^[^:]*::' /etc/passwd
2.限制密碼最短長度為 6
編輯 /etc/login.defs
修改 PASS_MIN_LEN 5 為 PASS_MIN_LEN 6
設定自動登出系統
編輯 /etc/profile ,添加這行
export TMOUT=300
清除歷史 Shell logging Bash
編輯 /etc/skel/.bash_logout ,添加這行
rm -f $HOME/.bash_history
封鎖 root 密碼
修改 /etc/shadow 的第二欄位將內容改成 *
設定 sudo
設定限制群組 wheel可以 sudo 不用再鍵入密碼就可變成 root 並開啟 sudo log 功能
yum install sudo
visudo
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL //預設值
%wheel ALL=(ALL) NOPASSWD: ALL //修改後
#Sudo log //並加入如下二行
Host_Alias SERVER = 127.0.0.1 //指定本機 IP
Defaults@SERVER log_year, logfile=/var/log/sudo.log //指定 log 格式及路徑設定 sudo log 二種格式 (log_host、log_year)寫入 /var/log/sudo.log 內容的差異
新增管理帳號及加入 wheel 群組
=============================================================================
取消普通用戶的控制臺使用許可權
rm -f /etc/security/console.apps/要消除的程式名
修改 /etc/services 權限,防止未經許可的刪除或添加服務
chattr +i /etc/services
不允許從不同的控制臺進行 root 登入
修改 /etc/securetty
化解外來 SYN 攻擊
編輯 /etc/rc.d/rc.local 加入以下設定,
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#降低 syn重試次數
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
#加大syn_backlog (消耗記憶體)
echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_backlog
BIOS 的安全設置
GRUB / LILO 的密碼
更新軟體套件
yum update
TCP_WRAPPERS 阻止所有的主機連線
編輯 /etc/hosts.deny 加入
ALL: ALL@ALL, PARANOID
停用、反安裝不用的服務
acpid,apmd,atd,autofs,avahi-daemon,bluetooth,cpuspeed,cups,firstboot,gpm,haldaemon,hidd,hplip,ip6tables,isdn,lm_sensors,messagebus,nfslock,pcscd,portmap,rpcgssd,rpcidmapd,yum-updatesd,
修改系統 RunLevel
id:3:initdefault:
禁止 Control-Alt-Delete 鍵盤 重新啟動
編輯 /etc/inittab"
將 ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
執行:
/sbin/init q
限制 "/etc/rc.d/init.d" 存取權限
chmod -R 700 /etc/rc.d/init.d/*
隱藏系統資訊
編輯 /etc/rc.d/rc.local" 檔,最後一行加入
cat /dev/null > /etc/issue > /etc/issue.net
執行
mv /etc/issue /etc/issue.bak
mv /etc/issue.net /etc/issue.net.bak
修改DNS相關設定
編輯 /etc/host.conf,加入
order bind,hosts
multi on
nospoof on
設定本地時間及每天自動校對時間
yum -y install ntp
vi /etc/cron.daily/ntpdate.sh
#!/bin/sh
ntpdate -s watch.stdtime.gov.tw
chmod 755 /etc/cron.daily/ntpdate.sh
更新 Locate DB
updatedb
修改密碼相關設定
1.確認沒有空密碼
grep '^[^:]*::' /etc/passwd
2.限制密碼最短長度為 6
編輯 /etc/login.defs
修改 PASS_MIN_LEN 5 為 PASS_MIN_LEN 6
設定自動登出系統
編輯 /etc/profile ,添加這行
export TMOUT=300
清除歷史 Shell logging Bash
編輯 /etc/skel/.bash_logout ,添加這行
rm -f $HOME/.bash_history
封鎖 root 密碼
修改 /etc/shadow 的第二欄位將內容改成 *
設定 sudo
設定限制群組 wheel可以 sudo 不用再鍵入密碼就可變成 root 並開啟 sudo log 功能
yum install sudo
visudo
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL //預設值
%wheel ALL=(ALL) NOPASSWD: ALL //修改後
#Sudo log //並加入如下二行
Host_Alias SERVER = 127.0.0.1 //指定本機 IP
Defaults@SERVER log_year, logfile=/var/log/sudo.log //指定 log 格式及路徑設定 sudo log 二種格式 (log_host、log_year)寫入 /var/log/sudo.log 內容的差異
新增管理帳號及加入 wheel 群組
=============================================================================
取消普通用戶的控制臺使用許可權
rm -f /etc/security/console.apps/要消除的程式名
修改 /etc/services 權限,防止未經許可的刪除或添加服務
chattr +i /etc/services
不允許從不同的控制臺進行 root 登入
修改 /etc/securetty
化解外來 SYN 攻擊
編輯 /etc/rc.d/rc.local 加入以下設定,
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#降低 syn重試次數
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
#加大syn_backlog (消耗記憶體)
echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_backlog
2013年5月17日 星期五
使用 openssl 利用 gmail smtp 寄件範例
openssl s_client -connect smtp.gmail.com:587 -starttls smtp -crlf
ehlo
250-mx.google.com at your service, [xx.xx.xx.xx]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2
250 ENHANCEDSTATUSCODES
auth login
334 VXNlcm5hbWU6
base64 email
334 UGFzc3dvcmQ6
base64 password
235 2.7.0 Accepted
mail from:
250 2.1.0 OK fr1sm9516362pbb.26 - gsmtp
rcpt to:
250 2.1.5 OK fr1sm9516362pbb.26 - gsmtp
data
354 Go ahead fr1sm9516362pbb.26 - gsmtp
test
.
250 2.0.0 OK 1368765135 fr1sm9516362pbb.26 - gsmtp
quit
其它:
產生 auth plain
printf "\0account@gmail.com\0password" | base64
產生 auth login
echo account@gmail.com |base64
echo password |base64
參考資料
http://www.fehcom.de/qmail/smtpauth.html
ehlo
250-mx.google.com at your service, [xx.xx.xx.xx]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2
250 ENHANCEDSTATUSCODES
auth login
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Accepted
mail from:
250 2.1.0 OK fr1sm9516362pbb.26 - gsmtp
rcpt to:
250 2.1.5 OK fr1sm9516362pbb.26 - gsmtp
data
354 Go ahead fr1sm9516362pbb.26 - gsmtp
test
.
250 2.0.0 OK 1368765135 fr1sm9516362pbb.26 - gsmtp
quit
其它:
產生 auth plain
printf "\0account@gmail.com\0password" | base64
產生 auth login
echo account@gmail.com |base64
echo password |base64
參考資料
http://www.fehcom.de/qmail/smtpauth.html
訂閱:
文章 (Atom)