|
|
 |
 |
|
|
 |
|
linux SSH 的一些安全小技巧
|
|
|
|
编辑:华夏媒体 作者:未知 来源:网络 时间:2006-07-29 总浏览量:1642 |
|
文字大小:[ 大 中 小 ]
文字颜色: 双击滚屏/单击停止 |
|
[上一页] [1] [2] [3] [4] [5] [下一页]
|
如此, server 端的 ssh_open.txt 文件只有单一记录, 每次盖写. 接着: $ telnet server.machine 1234 然后你有最多 5 分钟时间用 ssh 联机 server ! ---------------------------
此步骤的基本构思如下: 5.1) 将 sshd 的 firewall 联机全部 block 掉. 5.2) 然后在 httpd 那设一个 directory, 可设 ssl+htpasswd+allow/deny control, 然后在目录内写一个 php 将 browser ip 记录于一份 .txt 文字文件里. 视你的转写能力, 你可自动抓取 browser 端的 IP, 也可让 browser 端传入参数来指定. 文字文件只有单一记录, 每次盖写. 5.3) 修改 /etc/services , 增加一个新项目(如 xxx), 并指定一个新 port(如 1234) 5.4) 再用 xinetd 监听该 port , 并启动令一只 script, 设定 iptables , 从 step2 的清单里取得 IP, 为之打开 ssh 联机. 5.5) 设 crontab 每数分中清理 iptables 关于 ssh 联机的规则. 这并不影响既有联机, 若逾时再连, 则重复上述.
6) 要是上一步骤没设定, 你或许会担心过多的人来 try 你的 ssh 服务的话: # cat > /etc/iptables/sshblock.sh <<END #!/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/firewall/bad.list.perm LIMIT=5 MAIL_TO=root 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 }
|
|
[上一页] [1] [2] [3] [4] [5] [下一页]
|
|
|
打印 收藏 关闭 至顶部 |
|
 |
|