一、上传木马的过程

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. Java并发编程(一) 两种实现多线程的方法(Thread,Runnable)

    Java中实现多线程的方法有两种: 继承Thread类和实现Runnable方法,并重写Run方法,然后调用start()方法启动线程.使用Runnable会比Thread要好很多,主要是以下三个原因 ...

  2. 继承自NSObject的类不能用CGRect

    我用的是Xcode6.2. 系统默认没有pch文件. 所以没有自动导入UIKit包. 我在继承NSObject类里也不能用CGRect或者UI开头的控件,原因也是Xcode6.2以后版本 缺少UIKi ...

  3. android之DOM生成与解析

    DOM解析不适合于进行大数据文件的操作,DOM解析适合于对文件进行修改和随机存取的操作. DOM生成 //判断一下是否存在sdcard if(!Environment.getExternalStora ...

  4. MongoDB error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js(转)

    rror: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js 一般这种情况就是:自己指定的数据库,所以不能.自动加 ...

  5. 0125 多线程 继承Thread 练习

    //定义一个继承Thread类的类,并覆盖run()方法,在run()方法中每隔100毫秒打印一句话public class Csh extends Thread{ public void run() ...

  6. 理解NSAttributedString

    An NSAttributedString object manages character strings and associated sets of attributes (for exampl ...

  7. How To Create A Struts 2 Web Application

    以简单登录为例 1.创建一个Dynamic Web projec项目记得勾选Generate web.xml deployment dsecriptor 2.引入Struts 2工程所需运行库文件 解 ...

  8. win7下利用笔记本无线网卡创建AP 组建无线局域网(可以连魔兽,TCP、UDP也没问题)

    转自:http://blog.163.com/fghok_018/blog/static/122599670201072773924530/ 近一个月,宿舍的好多同学都买了笔记本电脑,当然,我也买了, ...

  9. 玩转渗透神器Kali:Kali Linux作为主系统使用的正确姿势TIPS

    Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. 本文假设你在新装好的kali linux环境下… ...

  10. hibernate实现增删改查的各种方法

    1>接口(主要是增删改查的接口)BaseDao.java /** * * @author fly.zhou */ public interface IBaseDao { //增加对应实体的一条记 ...