Linux安全攻防笔记
一、上传木马的过程
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.cnvd.org.cn
Freebuf:http://www.freebuf.com
STACKOVERFLOW:http://stackoverflow.com
CVE漏洞:http://cve.mitre.org
360BLOG:http://blogs.360.cn
漏洞库:https://www.exploit-db.com
CODEPROJECT:http://www.codeproject.com
七、运维安全审计
1、环境安全
2、物理链路的安全
3、网络安全
4、前端程序的安全
5、系统的安全
6、数据的安全
7、内部人员的安全
Linux安全攻防笔记的更多相关文章
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
- Linux实战教学笔记07:Linux系统目录结构介绍
第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...
- Linux实战教学笔记04:Linux命令基础
第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
- Linux实战教学笔记02:计算机系统硬件核心知识
标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...
- Linux实战教学笔记01:计算机硬件组成与基本原理
标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...
- storysnail的Linux串口编程笔记
storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...
随机推荐
- awt可视化界面上传数据到mysql,jsp通过jdbc方式查询数据库,并将结果打印在网页上
今天尝试写一个小demo实现下之前看过的代码,目的了解不同文件的数据访问,掌握如何获取前台数据,如何将数据库的数据在前端页面展示. awt可视化界面可已实现提交数据到数据库,也可查询数据在控制台打印. ...
- 框架之 spring
spring有两大特性,其一为ioc,其二为aop 1.ioc的理解 ioc为依赖注入,他的好处就是把创建对象的权利交给spring去管理,这样的好处是 将应用程序中的对象解耦,传统的方式程序中的对象 ...
- ACM - 概率、期望题目 小结(临时)
概率DP求期望大多数都是全期望公式的运用.主要思考状态空间的划分以及状态事件发生的概率.问题可以分为无环和有环两类.无环一类多数比较简单,可以通过迭代或者记忆化搜索完成.有环一类略复杂,可以通过假设方 ...
- UVa 10328 - Coin Toss (递推)
题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手.我们可以试着将问题转化一下. 设dp[i][j]表示抛掷i个硬币出现连续至多j个H ...
- hdu 2041
ps:这道题之前一直没思路,有大神提醒我用递推,但当时没搞清...今天做了那个小蜜蜂..才懂得用递推做这道题.. 代码: #include "stdio.h"long long d ...
- 《深入理解Android:Telephon原理剖析与最佳实践》学习笔记(系统框架)
Android智能手机的系统结构: 智能手机的硬件基本结构大多采用双处理器架构:主处理器和从处理器,主处理器主要运行开放式操作系统以及操作系统之上的应用,负责整个系统的控制,称之为AP,从处理 ...
- Send Mail using C# code
using System.Net.Mail; public class MailHelp { public static void Send(string subject, string body) ...
- magento首页调用最新产品
这个需要我们自己添加一个block块供我们调用,可参考new products的block类,建立文件app/code/core/Mage/Catalog/Block/Product/Special. ...
- csdn第三名
编号:1026时间:22016年7月18日11:10:35功能:csdn第三名URL :http://blog.csdn.net/phphot
- 《JS高程》创建对象的7种方式(完整版)
一.理解对象 ECMA-262定义对象:无序属性的集合,其属性可以包含基本值.对象或者属性. 我们可以把 ECMAScript 的对象想象成 散列表:无非就是一组 名值对,其中值可以是数据或函数. 创 ...