热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统深度安全加固(3)

文章标题:Linux系统深度安全加固(3)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  6.IPtales防火墙规则
  假设我们的服务器server1运行Apache和sshd(sshd可以不运行在标准端口,配置文件中能修改)。ethO网卡接Internet,ethi连接LAN,管理员在家中拨号登陆到server2(其私用网络TP为192.168.0.12),再登陆server1。其命令如下:
  
  为了防止IP spoofing的可能,还可以绑定server2的网卡地址:
  
[[The No.1 Picture.]]

  不过好像也很少有人侵者能够做到这种地步,而且没什么利用的价值。
  
 

  
 

  对攻击有所了解的人知道"端口重定向十反向管道"的美妙结合来穿越防火墙的例子吧?这种技巧已经运用太广,而危害很大。为了对抗这种难以防御的攻击,我们必须以牺牲一定的易用性为代价:
  
 

  以上规则将阻止由内而外的TCP主动选接。
  另外,用tftp或其他客户端反向攫取文件的攻击行为也很普遍,由于mfv以及诸如loki之类的工具依赖UDP,所以现在要把它彻底抹煞悼:
  
 

  注:在更新系统和调试网络时需要把这两条规则临时去掉。
  因为入侵的本质就是通过文本或图形界面在标准或非标准端口得到目标操作系统的shell,所以这不仅能阻止反向管道本身,还能免疫很多人侵技巧,不过对一般的系统管理员而言,这太苛刻了!
  下面是的tables的一些攻击对策。
  
 

  此外,iptables还能配置出让一些扫描行为,比如nmap失效的规则,应当注意,防火墙不是万能的,当一个攻击者足够疯狂时,不要指望你的防火墙能抵挡得住DDoS.
  
  
  7.完整性校验
  
  tripwire是一个比较有名的工具,它能帮你判断出一些重要系统文件是否被修改过。现在的Linux发行版中一般部带有该工具的开源版本,在默认的校验对象配置文件中加入一些敏感文件就可以使用。
  

  用"man rpm"查看命令帮助,"-V"参数用于MD5校验,注意要把rpm校验产生的二进制数据文件作一个硬备份,以防止其本身被修改。
  
  8.自行扫描
  
  普通的安全加固基本上是做完了,现在让我们来对自己做的系统做一个风险评估,推荐使用nessus latest version.
  也许你觉得自己的系统没有问题了,但有时nessus还是能报告出一些问题,比如一个第三方的Webrnail有某些安全缺陷,如果没有问题最好,有问题我们再回去修补。
  
  9.高级技巧
  
  以上的措施已经足以让大多数入侵者望而却步,接下来的部分给那些对安全极度敏感的偏执狂。缓冲区溢出对策中有stackgurad、stackshield、formatguard,heapguard和pointguard等编译技术,但它们需要重新编译源码,不仅麻烦而且会使系统性能有所下降,所以这里打算用防止缓冲区溢出的内核补丁。
  比较熟知的是PaX内核补丁,它主要通过数据区heap/bss/stack不可执行代码来防御直接覆盖返回地址后跳转到数据区执行shellcode的一些exploit.PaX的站点最近访问不了,但用Google可以找到很多对应较新内核的PaX下载。这些补丁并不能防御所有的溢出攻击,但却可以挡住市面上相当数量的exploit.
  
  10.日志策略
  
  主要就是创建对人侵相关的重要日志的硬拷贝,不致于应急响应的时候连最后的黑匣子都没有。可以把它们重定向到打印机,管理员邮件,独立的日志服务器及其热备份。
  
  11.Snort入侵检测系统
  
  对人侵响应和安全日志要求较高的系统有此必要;对于一般的系统而言,如果管理员根本不会去看一大堆日志,那么它白白占用系统资源,就如同鸡肋一样。
  小结
  对攻击的思考假设有一个技术高超的入侵者,拥有自行挖掘系统底层漏洞的能力,他发现了Apache的一个漏洞。并编写了remote exploit,这个漏洞暂时还没有出现在bugtraci上,处于'末知'状态,如果入侵者试图攻击我们的系统,他必须能挖掘一个Apache并且是root级的远程溢出,并进行下列的工作:
  1)在snellcode中植人代码杀死httpd进程,并且把sh绑定在80端口。
  2)在80端口复用。
  3)让shellcode执行iptables-FOUTPUT/TNPUT,前提是他猜到有这么回事。
  以上均需要溢出后是root权限,并且是能绕过PaX的高难度exploit;另外,Apacne杀掉后会自动重启。如果想攻击sshd,因为iptables将丢弃所有来自外网访问ssh目的包,所以即使有远程溢出(当然别忘了PaX),此路不通。
  再看看其他的方法,如果脚本攻击可以获得允许远程登录ssn用户的明文口令,或是利用脚本缺陷直接添加系统账号,这不仅需要系统root权限,而且/etc/passwd已经被chattr过,满足以上条件,并且攻破server2,就有希望得到shelt。但提升权限的机会不大!普通脚本攻击在此无效,当然,如果该系统并不运行CGI的话,此路更是不通。
  诚然,入侵者很可能在http上破坏你的脚本,第三方的Web安全加固不在本文讨论之列,以上条件对大多数人侵者足够苛刻,可以说几乎不可能实现。但是我们为此也牺牲了不少,并且这些措施依赖一定的环境而实现安全性和易用性,需要读者站在自己的角度寻找它们的平衡点
  
推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
我的菜菜呀
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有