安全运维之端口安全-创新互联-成都快上网建站

安全运维之端口安全-创新互联

兼职安全半年了,分享一下我这里是如何做安全的,当然作为兼职,不是太深入,进攻参考。

成都创新互联是一家集网站建设,和平企业网站建设,和平品牌网站建设,网站定制,和平网站建设报价,网络营销,网络优化,和平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

下面介绍端口安全,主要是公司IDC机房所有ip段开放端口情况,比如一个服务器,默认仅要求开放ssh端口,但如果开启了其他未允许端口,可能是被人误开或者被***,这样就需要运维提前知晓并解决。

如何实现:

1、 使用nmap+diff来对公司所有idc,进行端口扫描;

2、 当天的扫描结果与昨天扫描的结果进行对比;

3、 如果新增主机或已存在主机有新增与关闭端口的情况,也进行邮件通知。

结果展示:

1、 没有差异的情况

安全运维之端口安全

2、有新增主机情况

安全运维之端口安全

3、已存在主机有新增或关闭端口情况

安全运维之端口安全

下面是端口安全扫描脚本内容:

#!/bin/bash
#This script name is scan_analyse.sh
. /etc/profile
echo "start time is $(date)"
time=$(date +"%Y-%m-%d")
yesterday=`date -d "1 day ago " +"%Y-%m-%d"`
work_dir="/root/nmap_scan"
now_dir="$work_dir/scan_result/$time"
IP='1.1.1.0/24'
contact_mail='xx@mail.com'
rm -rf $now_dir
if [ ! -d "$work_dir/scan_result/$time" ];then
mkdir -p $work_dir/scan_diff_result/$time
fi
rm -rf $work_dir/scan_diff_result/$time/result.log
ip_32=`echo $IP|cut -d . -f 1-3`
if [ ! -d $now_dir/$ip_32 ];then
    mkdir -p $now_dir/$ip_32
fi
for i in {1..254}
do
nmap -sS -r -n $ip_32.$i |egrep -v "(Starting|scanned)"|egrep "(Nmap|open)" >$now_dir/$ip_32/$ip_32.$i
if [ `cat $now_dir/$ip_32/$ip_32.$i|wc -l` -eq 1 ];then
rm -rf  $now_dir/$ip_32/$ip_32.$i
fi
done
echo "stop time is $(date)"
for b in $ip_32 
do
for i in $(ls $now_dir/$b)
do
if [ ! -f "$work_dir/scan_source/$b/$i" ];then
echo "增加新主机 $i,下面是全部信息:">>$work_dir/scan_diff_result/$time/result.log
    if [ `cat $now_dir/$b/$i|wc -l` -gt 100 ];then
        echo "开启了所有端口,怀疑是有nat或者负载均衡!">>$work_dir/scan_diff_result/$time/result.log
    else
        cat $now_dir/$b/$i>>$work_dir/scan_diff_result/$time/result.log
    fi

else
    if [ `diff -u $now_dir/$b/$i $work_dir/scan_source/$b/$i|egrep -v "(\-\-\-|\+\+\+|@@)"|egrep "(Nmap|\-|\+)"|wc -l` -gt 100 ];then
        head -n 1 $now_dir/$b/$i>>$work_dir/scan_diff_result/$time/result.log
        echo "开启了所有端口,怀疑是有nat或者负载均衡!">>$work_dir/scan_diff_result/$time/result.log
    else
        diff -u $now_dir/$b/$i $work_dir/scan_source/$b/$i|egrep -v "(\-\-\-|\+\+\+|@@)"|egrep "(Nmap|\-|\+)"|sed -e 's# Nmap scan report for#扫描主机#g'|sed -e 's#^+#关闭了 #g' -e 's#^-#开启了 #g'>>$work_dir/scan_diff_result/$time/result.log
    fi
fi
done
done
if [ `cat $work_dir/scan_diff_result/$time/result.log|wc -l` -eq 0 ];then
echo "今日一切正常,没有变化的端口!"|mail -s "【$time】所有IDC机房差异端口扫描结果" $contact_mail
else
sed -i "1i 大家好: \n    下面是$time日所有IDC机房扫描新增主机或已有主机新增或关闭端口情况,请各项目负责人及时认领与确认.\n" $work_dir/scan_diff_result/$time/result.log
cat $work_dir/scan_diff_result/$time/result.log|mail -s "【$time】所有IDC机房差异端口扫描结果" $contact_mail
fi
rm -rf $work_dir/scan_source/
cp -a $work_dir/scan_result/$time  $work_dir/scan_source
if [ $? -eq 0 ];then
echo "运行完成,操作成功!"
else
echo "运行完成,操作失败!"
fi

请修改IP与contact_mail就可以

结构:

12:55:17 # tree /root/nmap_scan/
/root/nmap_scan/
|-- scan_diff_result       #今天与昨天扫描对比结构
|   `-- 2014-06-23         #当天的目录
|       `-- result.log     #对比结果内容
|-- scan_result            #存放今天扫描的结果
|-- scan_shell             #存放扫描脚本
|   `-- scan_analyse.sh    #安全端口扫描脚本
`-- scan_source            #昨天扫描结果,作为与今天对比的源    

5 directories, 2 files

使用方法:

1、先运行此脚本

创建脚本目录

mkdir -p /root/nmap_scan/scan_shell

然后把脚本放到此目录里,这样的目的是生成对比的源文件,以后的扫描都是跟这个源文件做对比。

2、使用crontab运行脚本

30 01 * * * /bin/bash /root/nmap_scan/scan_shell/scan_analyse.sh >>/tmp/scan.log 2 >&1

这样就可以每天凌晨1:30运行脚本。

这样只需要每天看邮件就能知道所有IDC机房里所有IP段,哪些主机有新增或者关闭端口,及时进行解决。

脚本在附件里,需要可以自行下载。

附件:http://down.51cto.com/data/2364564

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:安全运维之端口安全-创新互联
标题链接:http://kswjz.com/article/dchcgg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流