天天看點

檢測sshd端口誤封腳本

需求:誤操作用iptables規則把sshd端口22給封掉了,結果不能遠端登陸,要想解決這問題,還要去機房,登陸真機去删除這規則。 問題來了,要寫個監控腳本,監控iptables規則是否封掉了22端口,如果封掉了,給打開。 寫好腳本,放到任務計劃裡,每分鐘執行一次。

<code>#!/bin/bash</code>

<code># check sshd port drop</code>

<code>/sbin/iptables</code> <code>-nvL --line-number|</code><code>grep</code> <code>"dpt:22"</code><code>|</code><code>awk</code> <code>-F </code><code>' '</code> <code>'{print $4}'</code> <code>&gt; </code><code>/tmp/drop</code><code>.txt</code>

<code>i=`</code><code>cat</code> <code>/tmp/drop</code><code>.txt|</code><code>head</code> <code>-n 1|</code><code>egrep</code> <code>-iE </code><code>"DROP|REJECT"</code><code>|</code><code>wc</code> <code>-l`</code>

<code>if</code> <code>[ $i -gt 0 ]</code>

<code>then</code>

<code>/sbin/iptables</code> <code>-I INPUT 1 -p tcp --dport 22 -j ACCEPT</code>

<code>fi</code>

注:臨時添加防火牆規則,在/etc/sysconfig/iptables檔案沒有的,隻有/etc/init.d/iptables save,才會有。\

本文轉自 boy461205160 51CTO部落格,原文連結:http://blog.51cto.com/461205160/1744620