安全运维之端口安全
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,兼职安全半年了,分享一下我这里是如何做安全的,当然作为兼职,不是太深入,进攻参考。下面介绍端口安全,主要是公司IDC机房所有ip段开放端口情况,比如一个服务器,默认仅要求开放ssh端口,但如果开启了其
千家信息网最后更新 2026年10月31日安全运维之端口安全
兼职安全半年了,分享一下我这里是如何做安全的,当然作为兼职,不是太深入,进攻参考。
下面介绍端口安全,主要是公司IDC机房所有ip段开放端口情况,比如一个服务器,默认仅要求开放ssh端口,但如果开启了其他未允许端口,可能是被人误开或者被***,这样就需要运维提前知晓并解决。
如何实现:
1、 使用nmap+diff来对公司所有idc,进行端口扫描;
2、 当天的扫描结果与昨天扫描的结果进行对比;
3、 如果新增主机或已存在主机有新增与关闭端口的情况,也进行邮件通知。
结果展示:
1、 没有差异的情况

2、有新增主机情况

3、已存在主机有新增或关闭端口情况
下面是端口安全扫描脚本内容:
#!/bin/bash#This script name is scan_analyse.sh. /etc/profileecho "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_dirif [ ! -d "$work_dir/scan_result/$time" ];thenmkdir -p $work_dir/scan_diff_result/$timefirm -rf $work_dir/scan_diff_result/$time/result.logip_32=`echo $IP|cut -d . -f 1-3`if [ ! -d $now_dir/$ip_32 ];then mkdir -p $now_dir/$ip_32fifor i in {1..254}donmap -sS -r -n $ip_32.$i |egrep -v "(Starting|scanned)"|egrep "(Nmap|open)" >$now_dir/$ip_32/$ip_32.$iif [ `cat $now_dir/$ip_32/$ip_32.$i|wc -l` -eq 1 ];thenrm -rf $now_dir/$ip_32/$ip_32.$ifidoneecho "stop time is $(date)"for b in $ip_32 dofor i in $(ls $now_dir/$b)doif [ ! -f "$work_dir/scan_source/$b/$i" ];thenecho "增加新主机 $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 fielse 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 fifidonedoneif [ `cat $work_dir/scan_diff_result/$time/result.log|wc -l` -eq 0 ];thenecho "今日一切正常,没有变化的端口!"|mail -s "【$time】所有IDC机房差异端口扫描结果" $contact_mailelsesed -i "1i 大家好: \n 下面是$time日所有IDC机房扫描新增主机或已有主机新增或关闭端口情况,请各项目负责人及时认领与确认.\n" $work_dir/scan_diff_result/$time/result.logcat $work_dir/scan_diff_result/$time/result.log|mail -s "【$time】所有IDC机房差异端口扫描结果" $contact_mailfirm -rf $work_dir/scan_source/cp -a $work_dir/scan_result/$time $work_dir/scan_sourceif [ $? -eq 0 ];thenecho "运行完成,操作成功!"elseecho "运行完成,操作失败!"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
端口
主机
脚本
结果
情况
安全
机房
运行
差异
目录
均衡
公司
内容
源文件
结构
邮件
附件
兼职
开放
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
互联网金融监管科技数据
中国互联网科技股
美国互联网科技巨头监管
金诺互联网科技
互联网科技的发展
互联网科技视频
深圳齐家互联网科技
互联网科技咨询
山东吉时兔互联网科技有限公司
互联网 科技馆
河南猎农互联网科技有限公司
武汉健翔互联网络科技有限公司
伊宁互联网科技做什么的
美国互联网科技公司
图游互联网科技
米泉互联网科技专业怎么样
互联网时代高科技布局
网互联网络科技
宁波允成互联网科技有限公司
互联网科技的英文
奇士达互联网科技
互联网科技宣传片
苏州铭阳互联网科技有限公司
张召忠谈中国互联网科技
卡尔迅互联网科技有限公司
新氧科技和美国互联网有关系吗
吉林省码上互联网科技电话
北京瑞云互联网科技有限公司
科技互联网企业在行动