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、内部人员的安全