侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux下常用安全策略设置的六个方法

linux  /  管理员 发布于 7年前   333

  “安全第一”对于linux管理界乃至计算机也都是一个首要考虑的问题。加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整性高于数据的私密安全,也就是说数据发送者的不确定性以及数据的完整性得不到保证的话,数据的私密性当无从谈起!

  1. 禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态,如果能够ping通 某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或破坏。如果没有人能ping通机器并收到响应,那么就可以大大增强服务器的安全性,linux下可以执行如下设置,禁止ping请求:

  [root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all默认情况下“icmp_echo_ignore_all”的值为“0”,表示响应ping操作。

  可以加上面的一行命令到/etc/rc.d/rc.local文件中,以使每次系统重启后自动运行。

  2.禁止Control-Alt-Delete组合键重启系统

  在linux的默认设置下,同时按下Control-Alt-Delete键,系统将自动重启,这是很不安全的,因此要禁止Control-Alt-Delete组合键重启系统,只需修改/etc/inittab文件:


复制代码代码如下:  [root@localhost ~]#vi /etc/inittab

  找到此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now在之前加上“#”

  然后执行:


复制代码代码如下:  [root@localhost ~]#telinit q

  3.限制Shell记录历史命令大小

  默认情况下,bash shell会在文件$HOME/.bash_history中存放多达1000条命令记录(根据系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。

  这么多的历史命令记录,肯定是不安全的,因此必须限制该文件的大小。

  可以编辑/etc/profile文件,修改其中的选项如下:

  HISTSIZE=30

  表示在文件$HOME/.bash_history中记录最近的30条历史命令。如果将“HISTSIZE”设置为0,则表示不记录历史命令,那么也就不能用键盘的上下键查找历史命令了。

  4.删除系统默认的不必要用户和组

  Linux提供了各种系统账户,在系统安装完毕,如果不需要某些用户或者组,就要立即删除它,因为账户越多,系统就越不安全,越容易受到攻击。

  删除系统不必要的用户用下面命令


复制代码代码如下:  [root@localhost ~]# userdel username

  删除系统不必要的组用如下命令:


复制代码代码如下:  [root@localhost ~]# groupdel groupname

  Linux系统中可以删除的默认用户和组有:

  删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等。

  删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等。

  5. 关闭selinux

  SELinux是 Security-Enhanced Linux的简称,是一种内核强制访问控制安全系统,目前SELinux已经集成到Linux 2.6内核的主线和大多数Linux发行版上,由于SELinux与现有Linux应用程序和Linux内核模块兼容性还存在一些问题,因此建议初学者先关闭selinux,等到对linux有了深入的认识后,再对selinux深入研究不迟!

  查看linux系统selinux是否启用,可以使用getenforce命令:


复制代码代码如下:  [root@localhost ~]# getenforce
  Disabled

  关闭selinux,在redhat系列发行版中,可以直接修改如下文件:


复制代码代码如下:  [root@localhost ~]#vi /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
  # SELINUX= can take one of these three values:
  # enforcing - SELinux security policy is enforced.
  # permissive - SELinux prints warnings instead of enforcing.
  # disabled - SELinux is fully disabled.
  SELINUX=enforcing
  # SELINUXTYPE= type of policy in use. Possible values are:
  # targeted - Only targeted network daemons are protected.
  # strict - Full SELinux protection.
  SELINUXTYPE=targeted

  将SELINUX=enforcing修改为SELINUX=disabled, 重启系统后将会停止SElinux。

  6.设定tcp_wrappers防火墙

  Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。关于iptables的实现,将在下个章节详细讲述。如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭、允许和禁止,从而更有效地保证系统安全运行。

  Tcp_Wrappers的使用很简单,仅仅两个配置文件:/etc/hosts.allow和/etc/hosts.deny(1) 查看系统是否安装了Tcp_Wrappers

  [root@localhost ~]#rpm -q tcp_wrappers  或者[root@localhost ~]#rpm -qa | grep tcp

  tcp_wrappers-7.6-37.2

  tcpdump-3.8.2-10.RHEL4

  如果有上面的类似输出,表示系统已经安装了tcp_wrappers模块。如果没有显示,可能是没有安装,可以从linux系统安装盘找到对应RPM包进行安装。

  (2)tcp_wrappers防火墙的局限性

  系统中的某个服务是否可以使用tcp_wrappers防火墙,取决于该服务是否应用了libwrapped库文件,如果应用了就可以使用tcp_wrappers防火墙,系统中默认的一些服务如:sshd、portmap、sendmail、xinetd、vsftpd、tcpd等都可以使用tcp_wrappers防火墙。

  (3)  tcp_wrappers设定的规则

  tcp_wrappers防火墙的实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的,首先看一下设定的格式:

  service:host(s) [:action]

  l service:代表服务名,例如sshd、vsftpd、sendmail等。

  l host(s):主机名或者IP地址,可以有多个,例如192.168.60.0、www.ixdba.netl action:动作, 符合条件后所采取的动作。

  几个关键字:

  l ALL:所有服务或者所有IP。

  l ALL EXCEPT:所有的服务或者所有IP除去指定的。

  例如:ALL:ALL EXCEPT 192.168.60.132

  表示除了192.168.60.132这台机器,任何机器执行所有服务时或被允许或被拒绝。

  了解了设定语法后,下面就可以对服务进行访问限定。

  例如互联网上一台linux服务器,实现的目标是:仅仅允许222.90.66.4、61.185.224.66以及域名softpark.com通过SSH服务远程登录到系统,设置如下:

  首先设定允许登录的计算机,即配置/etc/hosts.allow文件,设置很简单,只要修改/etc/hosts.allow(如果没有此文件,请自行建立)这个文件即可。

  只需将下面规则加入/etc/hosts.allow即可。

  sshd: 222.90.66.4 61.185.224.66 softpark.com接着设置不允许登录的机器,也就是配置/etc/hosts.deny文件了。

  一般情况下,linux会首先判断/etc/hosts.allow这个文件,如果远程登录的计算机满足文件/etc/hosts.allow设定的话,就不会去使用/etc/hosts.deny文件了,相反,如果不满足hosts.allow文件设定的规则的话,就会去使用hosts.deny文件了,如果满足hosts.deny的规则,此主机就被限制为不可访问linux服务器,如果也不满足hosts.deny的设定,此主机默认是可以访问linux服务器的,因此,当设定好/etc/hosts.allow文件访问规则之后,只需设置/etc/hosts.deny为“所有计算机都不能登录状态”即可。

  sshd:ALL

  这样,一个简单的tcp_wrappers防火墙就设置完毕了。

  以上就是Linux下常用安全策略设置方法,在此感谢本文出处“技术成就梦想” 博客http://ixdba.blog.51cto.com/2895551/526443分享了如此优秀的文章,谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。


  • 上一条:
    解决Linux系统之间拷贝文件的方案
    下一条:
    Linux后门入侵检测工具以及最新bash漏洞解决方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客