分类: LINUX
2006-11-12 20:11:36
#1 SSH安全设定 ssh安全設定SSH 的安全設定 1. ssh 本身的設定 ● 設定檔 /etc/ssh/sshd_config PermitRootLogin no <--#拿掉,yes 改 no Protocol 2 <--#拿掉,刪掉 1 2.Pam 認證機制只允許某些帳號使用ssh連入 編輯 /etc/pam.d/sshd 新增 auth required pam_listfile.so item=user sense=allow file=/etc/ssh/allow_list onerr=fail 編輯 /etc/ssh/allow_list 新增您想允許使用ssh登入主機的帳號 p.s. 一行一個帳號 EX: user1 3.限制連線嘗試次數 ※可用 http://blog.yam.com/toraemon/archives/962795.html 取代 #!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin LOG_FILE=/var/log/secure KEY_WORD="Illegal user" KEY_WORD1="Failed password for root" PERM_LIST=/etc/ssh/bad.list.perm LIMIT=5 <--設定的連線嘗試次數 MAIL_TO=root <--要 MAIL 通知 的信箱 IPT_SAV="$(iptables-save)" bad_list=$(egrep "$KEY_WORD" $LOG_FILE | awk '{print $NF}' | xargs) bad_list1=$(egrep "$KEY_WORD1" $LOG_FILE | awk '{print $11}' | xargs) bad_list="$bad_list $bad_list1" for i in $(echo -e "${bad_list// /\n}" | sort -u) do hit=$(echo $bad_list | egrep -o "$i" | wc -l) [ "$hit" -ge "$LIMIT" ] && { echo "$IPT_SAV" | grep -q "$i .*-j DROP" || { echo -e "\n$i was dropped on $(date)\n" | mail -s "DROP by ${0##*/}: $i" $MAIL_TO iptables -I INPUT -s $i -j DROP } egrep -q "^$i$" $PERM_LIST || echo $i >> $PERM_LIST } done 存在 /etc/ssh/block_ssh.sh chmod +x /etc/ssh/block_ssh.sh 在 /etc/hosts.allow 中加入: sshd: ALL: spawn ( /etc/ssh/block_ssh.sh )& : ALLOW 4.限制 su 指令 的使用者 chgrp wheel /bin/su chmod 4750 /bin/su 編輯 /etc/group 將 可使用 su 指令的使用者 whee4l:x:10:root,user1<---加在後面 |