首页 > 其他分享 >安全加固

安全加固

时间:2024-09-17 14:35:37浏览次数:2  
标签:服务 修改 端口 用户 安全 加固 权限

操作系统加固:

从互联网诞生之初,人们主要以网络的连通性,速率为研究目标,忽视了网络可达后造成的风险,起初一个随意的恶意程序都会导致网络瘫痪,甚至资产的流失。
安全这件事,平时没有大的安全事故,大家都觉得安全不怎么关键,实际上如果网络安全受到侵犯,这种风险,以及所要承担的后果都是非常巨大的,所以我们需要网络安全,需要加固我们的信息平台保障 数据,信息等隐私

linux加固:

版本升级:

  • linux常作为服务器使用 而linux的版本更新推送比较差 很难接收到更新通知 这就要求公司的运维经常上官网查看操作系统更新信息 一般更新使用yum dnf apt等包管理工具进行升级

关闭端口服务:

  • 端口的暴露越多 服务就越多 服务越多 系统的漏洞就越多 建议在平时使用时 不要开启非必要的端口比如 smtp 25 ftp 21 Telnet 23 Dns 53 等高危端口 非必要不开启 以及测试时使用的测试端口 在服务正式上线时 关闭测试端口

修改配置项:

  • 权限,selinux,Firewalls 等操作系统安全的配置,以及常用服务的高安全配置

修改代码:

  • 在代码中寻找逻辑漏洞 不规范调用漏洞 危险函数调用 等漏洞并予以修复

主机和acl策略:

  • 在网络中使用网络设备 使用iptables对流量进行严格的控制 一般使用白名单 但是白名单的配置较为繁琐 且白名单对运维会带来一定的难度

增加安全设备:

  • 安全设备专用于漏洞的检测防护 一般服务器跑业务流 如果将安全功能集成到服务器上 对服务器处理数据的效率有影响 所以 一般业务流与安全是分开的 这时我们往往会选择使用其他专业安全设备

账号管理与授权:

  • 为不同的管理员设定不同的账号 设定不同的权限 细化用户能力
    创建账号:
    useradd username 用户添加
    passwd username 用户密码
    修改文件权限:
    chown username 修改文件拥有者
    chmod 权限掩码 修改文件权限
    修改sudo权限:
    visudo 修改用户sudo权限
    也可以在etc/sudoers中修改:
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

root	ALL=(ALL) 	ALL
#用户名	主机=(命令可以多条 !号后的命令是禁用的)	

#示例:f0r9	localhost=/usr/sbin/useradd,!/usr/bin/vi /etc/hosts
#这个条目中 f0r9 用户可以添加用户 但是不能编辑hosts文件
#加了叹号表示不允许执行的命令  命令后还可以加文件名 限定命令执行对象 逗号隔开命令

检查高权限文件:
find / -type f perm -00007 -a -ctime -1 -exec ls -lg {};
find / -type f perm -000007 -a -ctime -1 | xargs -I {} ls -l {};
主要是查ctime c为change表示更改 程序属性更改时间称之为ctime 程序内容更改叫mtime 还有atime访问时间

用户权限修改:
umask 修改权限掩码 对创建的文件设定默认权限如掩码为077 此时只有所属用户能够打开查看该文件
userdel groupdel 删除用户 删除组
修改用户登录:shell usermod -s /sbin/nologin
锁定用户:passwd -l

登录管理:一般root用户不允许远程ssh登录 需要修改sshd服务配置文件
如:
PermitRootLogin yes
允许root用户登录

用户权限细化:删除除了root以外的用户:
首先查找:
awk -f : '($3 == 0){print 1}' /etc/passwd
搜索到passwd第三列为0的用户说明该用户用有root权限 需要对这些用户仔细审计
然后使用userdel进行删除 防止用户被暴力破解

修改登录限制:
vim /etc/login.defs

set权限建议全部关闭
suid: chmod u+s 有这个权限的文件 任何人执行时被视为该文件的拥有者的用户的身份
sgid: chmod g+s 有这个权限的文件 任何人执行时被视为该文件所属组的身份权限
sbip: chmod o+t 只能对自己的文件删除 移动 不能修改文件内容

通信协议:
telnet服务危险性比较高 一般需要关闭

ssh服务可以更改端口 但是如果运维使用了ansible 这时ssh的开启会导致ansible失效 因为ansible默认使用端口22

访问控制 白名单 将所有流量都执行拒绝动作 只放通部分需要的流量
一般shell都以反弹形式注入 如果目标主机不出网 此时就需要先拿下出网的主机 比如服务器 通过服务器与目标主机建立连接

syn泛洪防御 syncookie 引入身份标识 身份认证通过后 才会分配资源引起占用

服务的banner信息最好删掉 不要把信息放给攻击者

寻找服务器远程连接迹象 netrc rhosts

打补丁: 最好去官方源找rpm包 自己更新
更新能解决较多的安全问题 但是回退也会比较难 打补丁前一定要克隆测试 确保版本的更新对服务没有影响

关闭无用服务:
systemctl list-util-files | grep enabled 搜索查询启用的服务
禁用服务:systemctl disable 服务

grup菜单:
grup菜单用于设置开机项 攻击者可以修改密码 建议将grub直接关闭 或者grub设定密码

开启服务日志:

*.info;mail.none;authpriv.none;cron.none          @远端服务器以及其路径
# @符号决定了传输协议 一个@是udp 两个@则是tcp *.info表示传输所有消息日志
# The authpriv file has restricted access.
authpriv.*                                        @远端服务器以及其路径
#这里传输的是安全日志

把日志转发到远端服务器

Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# 这个是udp

Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
# 这个是tcp

$template Remote,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log" 远程日志路径 日志目录为年-月-日 日志名为 远程ip.log

windows加固:

账号与授权:使用lusrmgr.msc 本地用户管理器 修改本地用户信息
dsa.msc域环境用户管理 隐藏的后门用户需要到注册表里查看
禁用guest 改名adminstrator 防止密码爆破

远程关机:通过本地安全策略管理:secpol.msc 关闭远程关机权限 防止系统被远程关闭
方式用户绕过ntfs:禁止除管理员以外的用户取得文件的取得所有权权限
域环境禁止非管理员用户登录域控
通过授权方式管理用户是否能远程访问
使用防火墙封堵业务以外的端口 设定服务挂起时间 关闭默认文件共享
如果不想使用远程服务 在策略中加入禁止远程访问 关闭默认共享 需要注意 注册表修改行为是非常危险的 一定要做好备份 然后决定是否要修改
修复漏洞 定时更新软件版本 安装防病毒软件 第三方应用不建议安装 只建议安装防病毒软件
windows 关闭服务 使用services.msc管理服务 关闭并禁用服务
msconfig 关闭启动项

中间件加固:
中间件一般是提供cgi接口 能通过cgi接口将用户发送的数据包 解析并转给底层代码处理 然后反馈给用户
主要使用的中间件 有:
apache nginx iis tomcat weblogic jboss jenkins
后四种中间件常用于Java开发

数据库加固:

传统的数据库为关系型数据库 :mysql 3306 mssql 1443 Oracle 1521 postgre 5432

也存在一些非传统的非关系型数据库 :redis 6379 mongodb 27017
数据库主要需要加固的是数据库监听地址 密码 以及用户的权限划分
REDIS:
作为一种非关系型数据库 redis的未授权访问漏洞比较出名 解决方法是不将端口暴露到公网中
bind 127.0.0.1 ::1 只监听本地
或者使用防火墙对可以访问6379端口的数据包放通
iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT
修改配置文件 更改redis的命令集 rename-command CONFIG '别名' 使用别名才能运行原有的命令
配置使用requirepass 该参数设定后 每次查询 都会需要键入auth进行认证 认证通过后 才能继续操作
在redis交互界面中 需要auth然后交互 在命令行交互界面中 使用-a参数指定密码
密码长短和复杂度一定要足够高 由于其没有尝试次数限制 攻击者可以轻易爆破得到 密码
redis用户的shell可以设定为 nologinin
添加用户:
useradd -s /sbin/nologinin redis
以该用户身份启动服务:
su -m redis -c /opt/redis/redis_server
m参数执行后不会切换现有用户的bash环境

非关系型数据库加固方式思路基本如上

关系型数据库加固主要是用户权限的细化 端口监听的位置 不要把管理端口暴露到公网
那么sql注入的防范方式主要是规范代码书写:
使用预编译方式,对可参数化位置进行参数化处理,避免攻击者注入恶意语句,使用安全设备对数据包过滤 通过语义分析 通过正匹配等方式

加固测试:

回退测试: 服务开启后 很可能会对服务器的业务有影响 比如iptables写多了会需要逐行匹配 对数据流的处理效率下降 转发速度变慢 为了避免这样的影响 需要厂商进行版本回退 万一业务加固后出现错误 可以进行版本回退

业务测试: 业务测试 在安全加固后 有没有对业务产生影响 产生了哪些影响 是否可以避免 权衡利弊 决定是否要实施策略

有效性测试: 对业务没有影响 但还未知安全加固是否生效 安全加固实现了什么效果 能够做到什么 确认加固的有效性 满足甲方的要求

标签:服务,修改,端口,用户,安全,加固,权限
From: https://www.cnblogs.com/fr09/p/18406121

相关文章

  • 深度探索 Java 代码审计:筑牢安全防线的关键之路
    在当今高度数字化的时代,软件安全成为了至关重要的议题。对于众多使用Java语言进行开发的程序员而言,深入掌握Java代码审计技能,无疑是守护软件安全的核心手段。本文将围绕一本涵盖Java代码审计丰富知识的书籍目录,全面剖析Java代码审计的各个关键环节以及其在CTFAWD比......
  • 安全:nftables:基础知识
    一,policy:1,原文档链接:https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/9/html/configuring_firewalls_and_packet_filters/assembly_creating-and-managing-nftables-tables-chains-and-rules_getting-started-with-nftables#con_basics-of-nftables......
  • MySQL安全加固 (四)
    目录 1.用户权限管理 2.密码策略 3.审计日志 4.网络安全 1.用户权限管理操作:定期审查用户权限,确保最小权限原则(即用户只拥有完成其工作所需的最低权限)。示例: 查看用户权限SHOWGRANTSFOR'username'@'host'; 撤销不必要的权限REVOKEINSERT,UP......
  • 聊聊企业驻场外包信息安全管理
    目前许多公司出于降本增效的考虑,大量使用服务外包的形式,通常根据外包人员是否入驻服务企业营业场所又可将外包分为驻场和非驻场两类。按照服务类型分又可以划分为安全服务类、开发测试类、咨询规划类、业务支持类等。一:驻场外包人员风险:数据泄露风险:外包人员可能由于培训不足缺......
  • 【58同城-注册安全分析报告】
    前言由于网站注册入口容易被黑客攻击,存在如下安全问题:暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞所以大部分网站及App都采取图形验证码或滑动验证码等交互解决方案,但在机器学习能力提......
  • /etc/sudoers文件中的哪些配置会影响系统安全?
    /etc/sudoers文件中的配置对系统安全有很大影响用户权限配置:允许哪些用户使用sudo执行特权命令。如果配置不当,可能导致未经授权的用户获得管理员权限。例如:rootALL=(ALL:ALL)ALL%adminALL=(ALL)ALL%sudoALL=(ALL:ALL)ALL在这个例子中,root用户、admi......
  • 软考高级--网络规划设计师(六)--网络安全
    文章目录一、网络安全体系1.15种安全服务1.28种安全机制1.38种安全机制与5种安全服务的关系二、网络攻击与防御2.1被动攻击和主动攻击2.2信息安全基本属性2.3TCP/IP漏洞与防御2.4ARP欺骗三、防火墙与访问控制3.1防火墙3.2网闸3.3访问控制技术3.3.1访问控制......
  • 【嵌入式linux开发】旭日x3派部署自己训练的yolov5模型(安全帽识别、视频流推理、yolov
    旭日x3派部署自己训练的模型(安全帽识别、视频流推理、yolov5-6.2)windows,框架pytorch,python3.7效果模型训练模型转换1、pt模型文件转onnx2、检查onnx模型3、准备校准数据4、onnx转bin上板视频流推理1、图片推理2、视频流推理效果模型训练进官网可克隆yolov5......
  • c程序安全防护之-地址空间随机化
    GCC地址空间随机化是一种安全措施,旨在增加攻击者利用缓冲区溢出攻击的难度。这通常通过对堆、栈和其他内存区域进行随机化来实现。在GCC中,可以使用-fstack-protector-strong、-random-base和-Wl,-z,relro,-z,now等编译选项来实现。-fstack-protector-strong:为每个函数启用......
  • 派拓网络 安全防为先 | 助力企业SOC安全转型
    派拓网络安全防为先|助力企业SOC安全转型在当今数字化转型的浪潮中,企业面临着前所未有的网络安全挑战。网络攻击手段日益复杂,攻击面不断扩大,传统的安全防御体系已难以应对。为了有效抵御威胁,企业需要构建更加主动、智能、协同的安全运营中心(SOC),实现从被动防御向主动防御的转型。......