2012年10月26日 星期五

Linux管理實用招式


一、利用PAM管制使用登入
1.將sysadmin這個管理者加入「wheel」群組,因為必須是這個群組才能執行「su」指令
usermod -G10 sysadmin
2.修改以下這個檔案,以上才能生效
vi /etc/pam.d/su


auth            sufficient      /lib/security/pam_rootok.so debug
auth            required        /lib/security/pam_wheel.so group=wheel

二、利用TCP wrapper管制網路來源
1.修改/etc/hosts.deny

vi /etc/hosts.deny

ALL:ALL
2.修改/etc/hosts.allow

vi /etc/hosts.allow

ALL:163.17.110.0/255.255.255.128:allow
sshd:163.17.110.0/255.255.255.128:allow
vsftpd:ALL:allow
sendmail:ALL:allow

注意:這裡的連線範圍請依自己的需求設定

三、管制系統內不用的帳號

chmod 604 /etc/passwd (註:預設為644)

四、強迫使用者登出

vi /etc/profile

在「HISTSIZE = 1000」後加入下面敘述

TMOUT=600

五、限制一般帳號的使用權限

只要在執行「useradd」指令新增使用者時,多加「-s /bin/false」參數就可以限制一般帳號的使用權限。

六、限制帳戶過度佔用系統資源

vi /etc/security/limits.conf

在檔案的最後面加上以下三行

* hard core 0
* hard rss 5000
* hard nproc 20

接著修改/etc/pam.d/login
vi /etc/pam.d/login

在檔案的最後面加上以下一行
session  required     /lib/security/pam_limits.so

七、節省系統資源,以runlevel 3登入

vi /etc/inittab

將「id:5:initdefault:」修改為「id:3:initdefault:」即可


八、使用者一登入即,E-mail通知管理者

vi /etc/profile

#紀錄使用者登入的log
time=`date +%Y%m%d:%H%M%S`
#[使用者登入時間]:遠端主機名稱:使用者名稱
echo "[$time]:$REMOTEHOST:$USER." > /tmp/userlogin.log
#mail -s "信件的主旨" 收信人 < 記錄檔
mail -s "User Login!!" sysadmin@xxx.xxx.xxx.xxx < /tmp/userlogin.log
#清除login檔案
rm /tmp/userlogin.log


九、利用chkrootkit揪出木馬

網址 http://www.chkrootkit.org/download 下載最新版本的chkrootkit

tar zxvf chkrootkit.tar.gz

cd chkrootkit-xxx/

make sense

使用chkrootkit偵測木馬程式
./chkrootkit > chklist.txt

將chkrootkit加入系統排程
vi /etc/crontab

0 0 * * *  root (cd /root/chkrootkit-0.48;./chkrootkit 2>&1 |mail -s "chkrootkit output" root)

十、利用Ping、DoS、SYK化解外來攻擊

1.  vi /etc/rc.d/rc.local
在檔案內容最後加入,則開機時就生效

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

(註:在終端機打入以上兩列命令,則馬上生效)

2.  vi /etc/sysctl.conf
在檔案內容最後加入

net.ipv4.icmp_echo_ignore_all = 1

net.ipv4.icmp_echo_ignore_broadcast = 1

以上設定完成後,重新啟動網路服務
/etc/rc.d/init.d/network restart

十一、為系統組態檔上鎖
chattr +i /etc/services

十二、將「/etc/rc.d/init.d」目錄設成唯讀(原為755)
chmod -R 700 /etc/rc.d/init.d

十三、將「/etc/xinetd.d」目錄上鎖
chattr +i /etc/xinetd.d

十四、防火牆設定
vi /etc/sysconfig/iptables

設定參考如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.17.110.0/25 --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp -s 163.17.110.0/25 --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp -s 163.17.110.0/25 --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.17.110.0/25 --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.17.110.0/25 --dport 445 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.17.110.0/25 --dport 873 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.17.110.0/25 --dport 10000 -j ACCEPT


最後別忘了,重新啟動iptables

service iptables restart

沒有留言:

張貼留言