安全--怎样才能追根朔源

有人说安全,安全是什么,怎么做,怎么才能做好,其实是个永无止境的话题。

浅谈下工作中那些方法:

1、所有的操作都必须流程化,可控化。

2、考核机制。

3、相应的技术手段,提升安全的门槛<系统权限管理、堡垒机、跳板机、防火墙设置>。

4、主动防御。<蜜罐、waf>

5、探测技术。<nmap zmap>

6、告警响应机制。

7、调查告警原因。

那就谈谈怎么实现:

原理图

  • 怎么监控恶意行为

工欲善其事,必先利其器

怎么监控 Windows server服务器  配置安全-高级审核策略,怎么配置,请听我慢慢到来。

实例如下:《可根据生产环境,斟酌采取各种日志,一下只是实例》

帐户登录事件(此类别中的事件帮助文档域尝试对帐户数据、域控制器或本地安全帐户管理器 (SAM)  进行身份验证。与登录和注销事件(它们跟踪访问特殊计算机的尝试)不同,此类别中的事件报告正在使用的帐户数据库。) 凭据验证 审核由对用户帐户登录凭据的验证测试生成的事件。 成功、失败
Kerberos 身份验证服务 审核  Kerberos 服务票证请求生成的事件。 失败、成功
Kerberos服务票证操作 审核由响应为用户帐户登录提交的凭据请求(非凭据验证或  Kerberos 票证)生成的事件。 成功、失败
其他帐户登录事件 审核由  Kerberos 身份验证票证授予票证 (TGT) 请求生成的事件。 成功、失败
帐户管理事件(可以使用此类别中的设置监视对用户和计算机帐户和组的更改。) 用户帐户管理 审核对用户帐户的更改。 成功、失败
计算机帐户管理 审核由对计算机帐户的更改(如当创建、更改或删除计算机帐户时)生成的事件。 成功、失败
安全组管理 审核由对安全组的更改生成的事件。 成功、失败
通讯组管理 审核由对通讯组的更改生成的事件。注意:仅在域控制器上记录此子类别中的事件。 成功、失败
应用程序组管理 审核由对应用程序组的更改生成的事件。 成功、失败
其他帐户管理事件 审核由此类别中不涉及的其他用户帐户更改生成的事件。 成功、失败
  • 本地会产生日志,怎么将日志发送到远端日志服务器,简单图上面已经标明,利用evtsys.exe 发送到指定的log服务器。

  • Linux 服务器开启审计策略

1.1    命令时间戳记录

在/etc/bashrc文件中增加如下行

export  HISTTIMEFORMAT="%F %T "

2.1    日志审计策略配置

/etc/audit/audit.rules

实现监控所有用户的登录行为,包含用户所有操作,以及shell脚本中的命令

-a exit,always-F arch=b64 -S execve -k exec

-a exit,always -Farch=b32 -S execve -k exec

2.2  实现对重点配置文件的监控(根据实际应用额外添加文件列表)

-w /etc/crontab -p wa -kcrontab

-w /etc/hosts -p wa -khosts

-w /etc/hosts.allow-p wa -k hosts-allow

-w /etc/hosts.deny-p wa -k hosts-deny

-w /etc/fstab -p wa -k fstab

-w /etc/passwd-p wa -k passwd

-w /etc/shadow-p wa -k shadow

-w /etc/group-p wa -k group

3.1

配置audit日志,audit日志文件自动保存在/var/log/audit/目录中。

num_logs = 4       #个数

max_log_file = 50   # 大小(MB)

4.1    添加无用日志过滤规则:

在/etc/rsyslog.d/目录添加audit_filter.conf文件,并在文件中添加如下内容:

:msg, ereregex,"(bin|sbin|sa)\/(ping|top|mpstat|iostat|iotop|vmstat|sar|sadc|sh)\""~

:msg, ereregex,"(sbin|udev)\/(fstab_import|udisks-part-id|path_id|edd_id|scsi_id)\""~

:msg, ereregex,"(bin|sbin)\/(tr|sort|wc|cut|awk|gawk|grep|fgrep|egrep|sed|head|tail|tailf)\""~

:msg, ereregex,"(bin|sbin)\/(sleep|ls|expr|nohup|date|cat|du|dirname|tar|gzip|df|sg_persist|ip)\""~

:msg, ereregex,"(bin|sbin)\/(basename|hostname|readlink|bc|touch|dmesg)\"" ~

:msg, ereregex,"(bin|sbin)\/(consoletype|blkid|lsblk)\"" ~

:msg, ereregex,"\"(ping|top|mpstat|iostat|iotop|vmstat|sar|sadc|sh)\"" ~

:msg, ereregex,"\"(fstab_import|udisks-part-id|path_id|edd_id|scsi_id)\""~

:msg, ereregex,"\"(tr|sort|wc|cut|awk|gawk|grep|fgrep|egrep|sed|head|tail|tailf)\""~

:msg, ereregex,"\"(sleep|ls|expr|nohup|date|cat|du|dirname|tar|gzip|df|sg_persist|ip)\""~

:msg, ereregex,"\"(basename|hostname|readlink|bc|touch|dmesg)\"" ~

:msg, ereregex,"\"(consoletype|blkid|lsblk)\"" ~

:msg, ereregex,"(type=PATH)" ~

:msg, ereregex,"(key=\"exec\"|type=EXECVE)" @x.x.x.x:514

启动服务

# service auditd start

# service rsyslog start

5.1     附上一个批量部署的脚本

#!/bin/bash
#
# Description: Linux audit and syslog/rsyslog autoconfig Scripts.
#
# Author: ldyhj <qiongfei@vip.qq.com>
#
# ver 1.0
# --------------------------------------------------------------------------------OS_VERSION=""
uname -r | grep el5 > /dev/null && OS_VERSION=el5
uname -r | grep el6 > /dev/null && OS_VERSION=el6
uname -r | grep el7 > /dev/null && OS_VERSION=el7if [ "$OS_VERSION" = "el7" -o "$OS_VERSION" = "el6" ];thenFILENAME=/etc/rsyslog.confSERVER=rsyslog
elif [ "$OS_VERSION" = "el5" ];thenFILENAME=/etc/syslog.confSERVER=syslog
fiunset ret
ret=`egrep ^active[[:space:]]*= /etc/audisp/plugins.d/syslog.conf 2> /dev/null |wc -l`
if [ "$ret" -eq 0 ];thenecho "active = yes" >> /etc/audisp/plugins.d/syslog.confservice auditd restart
elif [ "$ret" -eq 1 ];thenret1=`egrep ^active[[:space:]]*= /etc/audisp/plugins.d/syslog.conf |awk -F'=' '{print $NF}' |awk 'gsub(/^ *| *$/,"")'`if [ "$ret1" != "yes" ];thensed -i 's/^\(active[[:space:]]*=\).*/\1 yes/g' /etc/audisp/plugins.d/syslog.confservice auditd restartfi
elif [ "$ret" -gt 1 ];thensed -i 's/^\(active[[:space:]]*=.*\)/#\1/g' /etc/audisp/plugins.d/syslog.confecho "active = yes" >> /etc/audisp/plugins.d/syslog.confservice auditd restart
fi
egrep ^active[[:space:]]*= /etc/audisp/plugins.d/syslog.confunset ret
unset ret1ret=`egrep "^\*\.\*[[:space:]]*@" $FILENAME 2> /dev/null |wc -l`
if [ "$ret" -eq 0 ];thenecho "*.* @x.x.x.x:514" >> $FILENAMEservice $SERVER restart
elif [ "$ret" -eq 1 ];thenret1=`egrep "^\*\.\*[[:space:]]*@" $FILENAME |awk -F'@' '{print $2}' |awk 'gsub(/^ *| *$/,"")'`if [ "$ret1" != "x.x.x.x:514" ];thensed -i 's/^\(\*\.\*[[:space:]]*@\).*/\x.x.x.x:514/g' $FILENAMEservice $SERVER restartfi
elif [ "$ret" -gt 0 ];thensed -i 's/^\(\*\.\*[[:space:]]*@.*\)/#\1/g' $FILENAMEecho "*.* @x.x.x.x:514" >> $FILENAMEservice $SERVER restart
fiegrep "\*\.info[[:space:]]*@" $FILENAME > /dev/null
if [ $? -eq 0 ];thensed -i 's/^\(\*\.info[[:space:]]*@.*\)/#\1/g' $FILENAMEservice $SERVER restart
fiegrep "^\*\.\*[[:space:]]*@" $FILENAME

6.1    linux rsyslog服务器  配置

/etc/rsyslog.conf

配置模板

$templatepipeformat,"%TIMESTAMP% %fromhost-ip%%syslogtag%%msg:::drop-last-lf%\n"

$templateevtsysformat,"%TIMESTAMP% %fromhost-ip% %pri-text% %FROMHOST%%fromhost-ip% %syslogtag%%msg:::drop-last-lf%\n"

$templateruncmdformat,"%TIMESTAMP% %HOSTNAME% %fromhost-ip%%msg:::drop-last-lf%\n"

根据需求进行摘选模板存放位置

if$fromhost-ip == 'IP' or $fromhost-ip == '接收来自客户端IP' or $fromhost-ip== '接收IP' or $fromhost-ip == '接收客户端IP' or $fromhost-ip =='接收客户端IP' or $fromhost-ip == '接收客户端IP' or $fromhost-ip =='接收客户端IP' then |/var/tmp/log

配置完成后,检查语法  rsyslogd -N1

重启服务

有了数据,你想实现什么样的告警都需要去摸索

目前,我采用的是电视屏幕展示,加事件风险等级做报警短信告警,因为采用了固定的rsyslog模板,可以使用 AWK  python 取你想要的东西做参数;这样实现谁操作了服务器,做了什么都是一目了然。

附件、附上本次需要设计到的文档,软件

转载于:https://blog.51cto.com/yibeishui/1939247

是谁在撩动着我的服务器相关推荐

  1. 凌动服务器系列,凌动也能造服务器?超微又出怪异新品

    [IT168 专稿]上月初举行的英特尔春季IDF上,记者看到超微展示了采用独特设计的2U Twin系列高密度Nehalem服务器,该服务器采用了全冗余设计,包括主板在内的所有部件都有两个互为备份.可以 ...

  2. 撩魅登录时显示服务器错误是什么意思,暧昧期女生撩男生的套路 暧昧的时候要注意什么...

    暧昧期是美好又充满幻想的,想让对方一直对你保持兴趣,就要多在他面前展现出不一眼的你,反客为主,抓住他的心.暧昧期有什么撩男生的套路吗,小编为大家总结了几点,快点拿去俘获男神吧~ 暧昧期女生撩男生的套路 ...

  3. 天使动漫网显示服务器错误,HEALTHY HAROLD, HEALTHY ME连接服务器失败_九游手机游戏...

    HEALTHY HAROLD, HEALTHY ME连接服务器失败游戏攻略 A fun, interactive game for pre school children and their pare ...

  4. 动卡空间显示服务器开小差,大话西游2游戏空间离奇开小差 技术员驾到神速修复...

    简单交流 叶子猪小黑:你好,打扰了!有玩家联系记者团反馈点进你的空间就电脑死机,有这个事吗? 潇潇双:电脑死机不至于,应该是掉线. 叶子猪小黑:怎么会发生这种事?是不是吓一跳? 潇潇双:无意中发现的. ...

  5. 魔兽世界最新网通服务器列表,谁动了我们的服务器?网通二区再遭大规模掉线...

    2011年2月13日,国服魔兽网通二区赢来了历史上又一次大规模掉线,一天里魔兽提示最多的就是"你的XXX好友上线"."你的XXX好友掉线",此次掉线持续了一天之 ...

  6. Python 表白?别傻了,女神是拿来撩的!

    作者 | 小F 责编 | 伍杏玲 自古真情留不住,唯有套路得人心. 今天是情人节,程序员如何撩动心仪女神的心?当然要用程序员的方法了! 这马上给大家带来一个Python的小套路:利用Python的py ...

  7. 智能硬件,让撩妹更高端

    不会撩妹就要虚心学. 据说最近全亚洲的女性都被这一枚暖男给撩动心思了?说情话.做暖事简直信手拈来,撩得各路姐姐妹妹心花怒放,男友们吹胡子瞪眼直跳脚. 对此镁客君只能说,对不起,这篇文章我们出晚了,我们 ...

  8. python表白源代码加音乐_Python 表白?别傻了,女神是拿来撩的!

    原标题:Python 表白?别傻了,女神是拿来撩的! 作者 | 小F 责编 | 伍杏玲 自古真情留不住,唯有套路得人心. 今天是情人节,程序员如何撩动心仪女神的心?当然要用程序员的方法了! 这马上给大 ...

  9. 企业撩文化下的品牌推广策略

    文 | 公关之家 作者:小5 引言:生活若全都被干涩.古板环绕,那又有何乐趣可言!我们遇见了"娱乐至死"的年代,一个"撩"出火花的年代. 生活就像<阿甘正 ...

最新文章

  1. linux下的软硬资源限制,关于ulimit命令修改软硬资源大小说明及正确修改软硬资源限制数配置...
  2. 第12周学习进度总结
  3. Deeplearning.ai深度学习课程笔记-在线版
  4. 疯狂.NET架构通用权限后台管理工具演示版2.0下载
  5. 优化混合云性能:数据管理技巧大公开
  6. Python的虚拟环境配置(pyenv+virtualenv)
  7. 力扣206,反转链表(JavaScript)
  8. 在vue中使用MD5加密
  9. 【Proteus仿真8086】简单IO接口实验——读取开关状态控制灯的亮灭
  10. php默认登录文件,PHP 网站修改默认访问文件的nginx配置
  11. Monkey 命令 基本参数介绍
  12. Flutter作插件的研究(学习)记录
  13. 可视化基础讲解之色彩搭配!
  14. 百度指数抓取-趋势截图+估算方法
  15. pandas的自带数据集_python数据分析万字干货!一个数据集全方位解读pandas
  16. APP产品经理(一)
  17. 【esp32-adf】按键服务源码分析
  18. win10系统删除chrome浏览器输入框的历史记录
  19. 赵小楼《天道》《遥远的救世主》深度解析(86)聪明是一种思考方式,精明只有算计和小心眼,只想赚钱却又不想承担风险是典型的弱势文化
  20. Java 生成随机中文、英文姓名(下)

热门文章

  1. 电气-接触器与空气开关
  2. prometheus监控zookeeper
  3. Baumer工业相机堡盟相机如何使用CameraExplorer软件查看相机图像相关参数如Binning像素合并、ROI图像剪切、PixelFormat像素格式功能等
  4. 重型音乐金属核后期分轨混音教程教学培训(基础+进阶+重型音色调音指南+剪辑+修音+美感设计+实战+母带处理)|MZD Studios
  5. Android广播(Broadcast)
  6. iOS 代码关闭App
  7. SPA(单页面web应用)和MPA(多页面web应用)的区别
  8. WMS和WMTS的区别
  9. 社交网站如何免接口启用QQ微信“一键登录”网站
  10. python生僻字如何转码_装13失败后,我决定使用Python为生僻字批量注音