一、上传木马的过程

1、默认端口22弱口令暴力破解;

2、21端口或者3306端口弱口令暴力破解;

3、webshell进行shell反弹提权;

4、木马传入服务器的上面并且执行,通过木马的方式来控制你的服务器进行非法的操作。

二、常见操作

1、切入/tmp;

2、wget下载木马;

3、木马加载权限;

4、执行木马;

5、后门,支持木马复活。

三、清除木马

1、网络连接,过滤掉正常连接;

# netstat -nalp | grep "tcp" | grep -v "22" | grep "ESTABLISHED"

2、判断一些异常连接,通过PID找到进程名称;

# ps -ef | grep "27368"

3、通过名字,找到原文件,删除掉原文件。

四、清除后门

1、检查/etc/rc.local;

2、检查计划任务crontab -l;

3、检查/root/.bashrc和普通用户下的.bashrc;

4、检查/etc/profile文件定期进行md5校验。

五、安全加固

1、了解常见的扫描和提权端口

-22 端口暴力破解

-21端口提权

-3306 端口提权

-webshell 反弹

2、如何对linux进行安全加固

2.1进程数量监控及对比

2.1.1、进程数量

2.1.2、进程异常的名称及PID号

2.1.3、根据PID号进行查询网络连接异常

写一个脚本:

将服务器正常的进程号,导入到一个目录,取个名字叫做原始.log,提取实时进程名称>实时.log,通过diff去对比原始和实时的log区别,一旦发现对比不一样,通过名称得到PID号,然后通过PID查找网络连接和监听的端口号及IP地址。将这些信息发送告警到管理员的手机或者邮箱邮件里面,让管理员进行判断和分析。

2.2、计划任务列表监控

2.2.1、查看计划任务

2.2.2、监控/var/log/cron日志

2.3、用户登录监控

2.3.1、什么用户登录的?在什么时候登录的?

2.3.2、用户登录IP是否合法?

2.3.3、用户登录的用户名是否合法?

2.3.4、用户登录时间是否合法?

2.4、/etc/passwd、/etc/shadow  MD5

2.4.1、MD5校验防止有人更改passwd和shadow文件

2.4.2、passwd文件可以进行加锁chattr权限

2.4.3、passwd定期进行备份,进行内容diff对比

2.5、非有效用户登录shell权限

2.5.1、除了运维常用的维护账号以外,其他账户不能拥有登录系统的shell

2.5.2、针对/etc/passwd文件统计bash结尾的有多少个?将不用的改成/sbin/nologin

2.5.3、将不必要的账户删除或者锁定

2.6、安全日志分析与监控/var/log/secure

2.6.1、定期或者实时分析/var/log/secure文件,是否有暴力破解和试探

2.6.2、过滤Accepted关键字,分析对应的IP是否为运维常用IP及端口号和协议。否则视为已经被入侵。

2.6.3、定期备份/var/log/secure防止此人入侵后,更改和删除入侵目录

2.7、/etc/sudoers监控

2.7.1、防止对方通过webshell反弹的方式,增加普通用户到/etc/sudoers

2.7.2、定期备份/etc/sudoers和监控,发现特殊的用户写入此文件,视为已被入侵。

2.7.3此配置文件,普通用户可绕过root密码直接sudo到root权限

2.8、网络连接数的异常

2.8.1、经常统计TCP连接,排除正常的连接以外,分析额外的TCP长连接,找出非正常的连接进程

2.8.2、发现异常进程后,通过进程名使用top的方式,或者find命令搜索木马所在的位置

2.8.3、找到连接所监听的端口号以及IP,将此IP拉入黑名单,KILL掉进程,删除木马源文件

2.8.4、监控连接监听,防止木马复活

2.9、/etc/profile定期巡检

2.9.1、检查/etc/profile文件防止木马文件路径写入环境变量,防止木马复活

2.9.2、防止/etc/profile调用其他的命令或者脚本进行后门连接

2.9.3、此文件进行MD5校验,定期备份与diff如发现异常则视为被入侵

2.10、/root/.bashrc定期巡检

2.10.1、检查/root/.bashrc文件,防止随着root用户登录,执行用户变量,导致木马复活

2.10.2、防止/root/.bashrc通过此文件进行后门创建与连接

2.10.3、此文件进行MD5校验,定期备份与diff,如发现异常,则视为入侵

2.11、常用端口号加固及弱口令

2.11.1、修改22默认端口号

2.11.2、修改root密码为复杂口令或禁止root用户登录,使用key方式登录

2.11.3、FTP要固定chroot目录,只能在当前目录,不随意切换目录

2.11.4、mysql注意修改3306默认端口号,授权的时候不允许使用%号进行授权。

2.11.5、mysql用户及IP授权请严格进行授权,除了DBA,其他开发人员不应该知道JDBC文件对应的用户名和密码

2.12、/tmp目录的监控

2.12.1、由于/tmp目录的特殊性,很多上传木马的第一目标就是/tmp

2.12.2、/tmp进行文件和目录监控,发现变动及时警告

2.13、WEB层面的防护

所有WEB层的安全成为首要,要定期进行WEB程序漏洞扫描,发现之后及时通知开人员修补,对于金融行业的有必要邀请第三方定期进行渗透测试。

六、常见的安全网站

乌云漏洞:http://www.wooyun.org

盒子漏洞:https://www.vulbox.com

国家信息安全漏洞平台:http://www.cnvd.org.cn

Freebuf:http://www.freebuf.com

STACKOVERFLOW:http://stackoverflow.com

CVE漏洞:http://cve.mitre.org

360BLOG:http://blogs.360.cn

OSR:http://www.osronline.com

漏洞库:https://www.exploit-db.com

CODEPROJECT:http://www.codeproject.com

七、运维安全审计

1、环境安全

2、物理链路的安全

3、网络安全

4、前端程序的安全

5、系统的安全

6、数据的安全

7、内部人员的安全

Linux安全攻防笔记的更多相关文章

  1. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  2. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  3. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  4. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  5. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  6. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  7. Linux实战教学笔记02:计算机系统硬件核心知识

    标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...

  8. Linux实战教学笔记01:计算机硬件组成与基本原理

    标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...

  9. storysnail的Linux串口编程笔记

    storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...

随机推荐

  1. fqrouter让安卓手机登陆facebook成为可能

    大多数人向来都是在电脑上通过各种代理工具来访问一些国外网站,例如facebook,twitter,然而你是否想过可以通过你的手机来畅游这些网站呢,接下来我将介绍一种通过fqrouer实现使用安卓手机畅 ...

  2. K2上海总部技术培训分享笔记

    第一部门 WinDdg 入门指南 1.NGen.exe --> native code 预编译,省去了.NET程序编译器JIT过程,是程序第一次运行也非常快. NGen 参考资料:http:// ...

  3. 踏着前人的脚印学Hadoop——结构、重点

    HDFS作为一个分布式文件系统,是所有这些项目的基础.分析好HDFS,有利于了解其他系统.由于Hadoop的HDFS和MapReduce是同一个项目,我们就把他们放在一块,进行分析. 如果把整个had ...

  4. iOS闪烁效果工具 GlitchLabel

    GlitchLabel 用于给文字添加闪烁效果,效果图如下: 开发环境: iOS 7.0+ Swift 2.2 Xcode 7 示例代码:https://www.yuedecaifu.com 1 2 ...

  5. LINQ基础(一)

    一.学习LINQ需要先了解以下知识点: 1.1 委托 1.2 匿名方法 1.3 Lambda表达式 1.4 扩展方法 二.LINQ原理:      from s in names where s.le ...

  6. objectarx 卸载加载arx模块

    通常情况下,加载卸载arx模块是使用 APPLOAD命令 使用ObjectARX 代码操作,也非常简单,使用2个全局函数即可,参数为名字有扩展名 C++ int acedArxLoad( const ...

  7. 一些需要注意的C知识点

    1.数组在作为参数传递到函数时,会退化为一个指针.也就是说,一旦进入函数内部,数组已经变为了一个指针.其实是在参数传递的时候进行了浅拷贝,编译器会声明一个指针指向该数组,在函数内部所有的操作都是对该临 ...

  8. cookie 内容的获取

    NSMutableArray *cookiesStoreAll = [[NSMutableArray alloc]init]; NSUInteger totalNumberOfCookies;     ...

  9. SingleThreadModel is deprecated in Servlet API version 2.4

    Ensures that servlets handle only one request at a time. This interface has no methods. If a servlet ...

  10. Python的交互式界面 编写 .

    from tkinter import * # 导入tkinter模块的所有内容 root = Tk() # 创建一个文本Label对象 textLabel = Label(root, # 将内容绑定 ...