大家的windows机器可能经常装一些杀毒软件或者什么的来防止中毒,然而在Linux上我们应该怎么防止这些呢?
在面试过程中我们也经常遇到该类问题,那么我们应该怎么回答才显得既有逻辑又有深度呢?
首先明确我们收到攻击的方式,以及通过什么渠道攻击我们的Linux服务器:
因为Linux下的木马常常是恶意者通过Web的上传目录的方式来上传木马到Linux服务器的,可根据从恶意者访问网站开始-->Linux系统-->HTTP服务-->中间件服务-->程序代码-->DB-->存储,层层设卡防护
针对用户访问进行限制和管理:
1、开发程序代码对上传文件类型做限制,例如不能上传.php程序(JS及后端代码控制)。
2、对上传的内容(包括文本和文件)检测,检测方式可通过程序、Web服务层(中间件层)、数据库等层面控制。
3、控制上传目录的权限以及非站点目录的权限(Linux文件目录权限+Web服务层控制)。
4、传上木马文件后的访问和执行控制(Web服务层+文件系统存储层)。
5、对重要配置文件、命令和WEB配置等文件做md5指纹及备份。
6、安装杀毒软件clamav等,定期监测查杀木马。
7、配置服务器防火墙及入侵检测服务。
8、监控服务器文件变更、进程变化、端口变化、重要安全日志并及时报警。
从内部管理人员角度:防止被提权 1、vpn管理服务器或Web化管理服务器。
2、ssh监听内网。
3、采用跳板机、操作审计。
4、sudo集权管理、锁定关键文件。
5、站点目录、上传目录权限属组控制。
6、做系统及站点文件备份指纹监控报警。
7、动态口令认证。
下面几点是转自一位大牛的经验:
1. linux系统安装后,启用防火墙,只允许信任源访问指定服务,删除不必要的用户,关闭不必要的服务等。
2. 收集日志,包括系统日志,登录日志,程序日志等,及时发现潜在风险。
3. 针对用户登录实时收集,包括登录时间,密码重试次数以及用户执行命令记录等。
4. 对敏感文件或目录变化进行事件监控,如/etc/passwd、/etc/shadow、/web、/tmp(一般上传文件提权用)等。
5. 进程状态监控,对新增或可疑进程做好记录并通知。
6. 对上线的服务器系统、Web程序进程安全漏洞扫描。
最后,没有绝对的安全,只有尽可能减少攻击面,提供系统防护能力。