天天看点

检测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