linux服务器被黑客入侵后处理

 场景:

周一上班centos服务器ssh不可用,web和数据库等应用不响应。好在vnc可以登录

使用last命令查询,2号之前的登录信息已被清空,并且sshd文件在周六晚上被修改,周日晚上2点服务器被人远程重启

root     pts/1        :1.0             Mon Jul  3 11:09   still logged in   

root     pts/1        :1.0             Mon Jul  3 11:08 – 11:09  (00:01)    

root     pts/0        :0.0             Mon Jul  3 10:54   still logged in   

root     tty1         :0               Mon Jul  3 10:53   still logged in   

reboot   system boot  2.6.32-696.3.2.e Mon Jul  3 10:46 – 11:11  (00:25)    

root     pts/0        :0.0             Mon Jul  3 10:42 – down   (00:01)    

root     tty1         :0               Mon Jul  3 10:40 – down   (00:03)    

reboot   system boot  2.6.32-696.3.2.e Sun Jul  2 02:31 – 10:44 (1+08:12)   

reboot   system boot  2.6.32-431.el6.x Sun Jul  2 02:27 – 02:27  (00:00) 

Jul  2 03:11:20 oracledb rsyslogd: [origin software=”rsyslogd” swVersion=”5.8.10

” x-pid=”1960″ x-info=”

“] rsyslogd was HUPed

Jul  2 03:35:11 oracledb sshd[13864]: Did not receive identification string from

使用less /var/log/messages命令2点结合last命令,判断2点重启后IPATABLES生效,有大量的ssh暴力破解的扫描信息,由于机器是测试环境,上面安装了ORACLE和squid,临时管理了iptables,重启后iptables启动,应该没有再次被再次登录,但是系统中部分文件以及被修改

message文件中部分信息如下:

103.207.37.86

Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 186

Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 187

Jul  2 03:35:12 oracledb sshd[13865]: error: Bad prime description in line 188

Jul  2 03:35:13 oracledb sshd[13865]: Failed password for illegal user support f

103.207.37.86 port 58311 ssh2

Jul  2 03:45:05 oracledb sshd[13887]: Illegal user support from 

103.79.143.234

113.108.21.16

Jul  2 05:10:37 oracledb sshd[14126]: Illegal user support from 

103.79.143.234

Jul  2 05:10:37 oracledb sshd[14126]: Failed password for illegal user support f

rom 

103.79.143.234 port 57019 ssh2

Jul  2 05:10:43 oracledb sshd[14128]: Did not receive identification string from

解决方法

1.修改root用户密码

2.由于sshd文件被修改,重新安装ssh,并设置只有指定内网IP可以访问

3.配置iptables,使iptables

重装SSHD

1.rpm -qa | grep ssh查询已安装包

系统已安装包:

openssh-clients,openssh-server,openssh,openssh-askpass

删除这四个包,删除时centos提示包之间有依赖关系,按照提示从依赖关系的最里层开始删除,

JoinMC智能客服 JoinMC智能客服

JoinMC智能客服,帮您熬夜加班,7X24小时全天候智能回复用户消息,自动维护媒体主页,全平台渠道集成管理,电商物流平台一键绑定,让您出海轻松无忧!

JoinMC智能客服 23 查看详情 JoinMC智能客服

按照openssh-askpass openssh openssh-server openssh-clients这个顺序删除就可以了。

2.安装

使用yum逐一安装,yum install openssh-askpass **

安装openssh-server时提示:

unpacking of archive failed on file /user/sbin/sshd cpio:rename

删除文件提示Operation not permitted错误

查询文件的隐藏属性

lsattr /usr/sbin/sshd

-u—ia–e /usr/sbin/sshd

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

a 即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性

使用 chattr -ia /usr/sbin/sshd修改文件的隐藏属性,取消对应设置之后删除成功

+ :在原有参数设定基础上,追加参数。- :在原有参数设定基础上,移除参数

再次yum install openssh-server 成功

3.配置ssh登录控制,设置管理IP,黑白名单

vi /etc/ssh/sshd_config

#修改端口号

Port 52111

#只允许SSH2方式的连接

Protocol 2

#容许root用户登录,因为后面会设置可登录IP,所以这里就容许了

PermitRootLogin yes

#不容许空密码

PermitEmptyPasswords no

#屏蔽来自所有的SSH连接请求

vi /etc/hosts.deny

sshd: ALL

#允许来自内网指定ip的SSH连接请求

vi /etc/hosts.allow

sshd: 192.168.0

sshd: 192.168.253.**

配置对应iptables设置

1.iptables配置规则

iptables [-t表名] [-A|I|D|R 链名 ] [-i网卡名] [-p协议] [-s源IP] [-d目标ip] [–dport目标端口号] [-j动作]

这里需要配置的是filter表,filter表中有input,output,forward三条规则链,如果本机服务比较多,规则比较繁琐,比较便捷的方法是写shell脚本之后重启ssh服务

#限制SSH的连接IP

iptables -A INPUT -s 192.168.101.32 -p tcp –dport 22 -j ACCEPT

iptables -A INPUT -s 192.168.101.35 -p tcp –dport 22 -j ACCEPT

#SSH支持52111是修改后SSH端口

iptables -A OUTPUT -p tcp –sport 52111 -j ACCEPT

这里只是针对SSH做了简单配置,具体iptables的配置,详见iptables配置一文

配置后/etc/rc.d/init.d/iptables save保存,使用service iptables restart重启服务后配置生效。

以上就是linux服务器被黑客入侵后处理的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/559729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 00:21:22
下一篇 2025年11月10日 00:38:26

相关推荐

  • 如何在Golang中配置GOPATH与GOROOT

    正确配置GOROOT与GOPATH是Golang环境搭建的关键。GOROOT指向Go安装目录,通常自动设置;GOPATH为工作目录,存放项目及依赖,默认为~/go。自Go 1.11起推荐使用Go Modules管理依赖,项目无需置于GOPATH/src下,依赖缓存于$GOPATH/pkg/mod。即…

    2025年12月16日
    000
  • 如何在Golang中实现容器资源限制

    在Golang中实现容器资源限制需通过调用Docker或containerd等运行时API设置CPU、内存上限,如使用docker/client库在ContainerCreate时配置HostConfig的Memory和CPUQuota;也可直接操作cgroups v1/v2文件系统,创建子目录并写…

    2025年12月16日
    000
  • Golang filepath跨平台路径处理示例

    Go语言的filepath包可跨平台处理路径,自动适配操作系统差异。1. 用filepath.Join拼接路径,按系统选择分隔符;2. 用filepath.Split、Dir和Base分离目录与文件名;3. 用Ext获取扩展名,结合strings.TrimSuffix去除扩展名;4. 用Clean规…

    2025年12月16日
    000
  • Go语言代码组织与GOPATH多路径管理实践

    go语言中`gopath`的配置并非绝对的“好”或“坏”实践,而是取决于具体的开发需求和场景。多数开发者可仅用一个`gopath`路径,但对于需要隔离不同项目环境、管理特定依赖或多版本代码的用户,配置多个`gopath`路径能提供更灵活的解决方案。 理解GOPATH及其作用 在Go Modules出…

    2025年12月16日
    000
  • Golang如何安装并配置Redis开发环境

    首先安装Redis服务并启动,再通过go-redis库连接。1. 根据系统安装Redis:Ubuntu/Debian用apt,macOS用Homebrew,Windows推荐WSL;2. 启动redis-server并用redis-cli ping验证;3. Go中引入github.com/go-r…

    2025年12月16日
    000
  • 如何在Golang中搭建本地MySQL环境

    首先安装MySQL并启动服务,macOS用Homebrew、Windows从官网下载、Linux用apt安装;接着创建数据库myapp_db和用户myuser并授予权限;然后在Go中通过go-sql-driver/mysql驱动连接,使用database/sql包配置DSN进行连接测试,注意处理字符…

    2025年12月16日
    000
  • Go Cgo 外部 C 静态库 (.a) 链接策略与实践

    本文探讨了在 go 语言中使用 cgo 链接外部 c 静态库 (.a 文件) 时遇到的常见问题及解决方案。重点介绍了两种推荐方法:将 c 源代码直接集成到 go 包中,或将静态库转换为共享库进行链接。同时,也简要提及了手动编译和链接的进阶策略,旨在帮助开发者高效地将 c 语言功能融入 go 项目。 …

    2025年12月16日
    000
  • Go语言连接MySQL数据库:诊断与解决“连接拒绝”错误

    本文旨在指导go语言开发者如何使用`database/sql`包连接mysql数据库,并重点解析常见的“连接拒绝”(connection refused)错误。我们将探讨导致该错误的网络和服务器配置问题,提供详细的排查步骤,包括检查mysql服务状态、端口监听以及防火墙和selinux设置,确保go…

    2025年12月16日
    000
  • 本地开发服务器在局域网内共享与访问指南

    本教程详细阐述了如何在局域网内共享您的本地开发服务器,以便同事或测试人员能够访问。内容涵盖了配置开发服务器监听地址、查找本地ip、调整操作系统防火墙设置以及网络类型选择等关键步骤,确保本地应用能够被同一网络下的其他设备顺利访问,并提供了google app engine python开发服务器的配置…

    2025年12月16日
    000
  • Golang如何使用path操作路径

    处理本地文件路径应使用path/filepath,跨平台兼容;处理URL等斜杠分隔路径则用path。示例:filepath.Join拼接本地路径,path.Join用于Web路径。 在Go语言中,处理路径通常使用标准库中的 path 和 path/filepath 包。虽然名字相似,但它们用途不同,…

    2025年12月16日
    000
  • Go语言代码组织:GOPATH多目录配置的考量与实践

    本文深入探讨go语言中gopath环境变量的配置策略,特别是多目录设置的适用性。它并非简单的“好”或“坏”实践,而是根据开发者特定需求和项目管理复杂性而定的灵活选择。文章将解析单一gopath的传统模式,并详细阐述多gopath目录的实际应用场景、优势与潜在挑战,旨在帮助开发者构建更高效、更隔离的g…

    2025年12月16日
    000
  • 如何在Golang中配置环境变量

    配置Go环境需设置GOROOT、GOPATH、GOBIN和PATH,Linux/macOS通过shell配置,Windows通过系统设置或PowerShell;在代码中使用os.Getenv读取变量,配合godotenv库可从.env文件加载配置,提升项目安全与可维护性。 在Golang中配置环境变…

    2025年12月16日
    000
  • Go语言GOPATH多路径配置:灵活性与实践考量

    go语言的gopath环境变量定义了工作空间,它既可以配置为单一路径,也可以包含多个路径。选择单一或多路径并非好坏之分,而是取决于开发者的具体需求和项目管理策略。理解不同配置的适用场景和注意事项,有助于更灵活高效地进行go语言开发。 引言:理解GOPATH在Go开发中的作用 在Go语言的早期版本中,…

    2025年12月16日
    000
  • Golang如何安装并配置Kubernetes开发工具

    首先安装Go并配置GOROOT、GOPATH和PATH,验证go version;接着安装kubectl并配置kubeconfig以连接集群;然后通过Kind或Minikube搭建本地Kubernetes环境;再安装Operator SDK初始化项目并创建API生成CRD与控制器骨架;最后可选用cl…

    2025年12月16日
    000
  • Go项目代码组织:GOPATH的灵活运用与现代实践

    本文深入探讨go语言的代码组织实践,重点解析gopath环境变量的作用、单路径与多路径配置的考量,以及现代go项目管理中go modules的地位。文章强调gopath的配置应基于实际需求,并指出go modules已成为更推荐的依赖管理与项目组织范式,旨在帮助开发者构建清晰、高效的go项目结构。 …

    2025年12月16日
    000
  • Go语言GOPATH组织实践:单路径与多路径的考量

    本文深入探讨go语言中gopath环境变量的配置策略。gopath是管理go代码工作区和依赖的关键。尽管多数开发者采用简洁的单路径gopath,但针对特定项目、环境隔离或遗留系统需求,配置多路径gopath亦是可行方案。选择应基于项目复杂度、团队协作模式及个人工作习惯,旨在优化开发流程和代码管理效率…

    2025年12月16日
    000
  • Go 语言中实现跨平台条件编译:深入理解构建约束与文件命名约定

    go 语言通过构建约束(build constraints)和特定的文件命名约定,提供了强大的跨平台条件编译能力。本文将详细介绍如何利用 `// +build` 指令定义编译标签,以及如何通过 `*_goos` 和 `*_goarch` 等文件命名模式,在不同操作系统、架构或特定条件下选择性地包含或…

    2025年12月16日
    000
  • 如何在Golang中使用Makefile进行环境初始化

    Makefile是Go项目中用于自动化环境初始化的脚本工具,通过定义setup、dep-check、install-tools等目标,可一键完成依赖管理、工具安装与环境配置。结合.include .env实现变量加载,支持跨平台兼容性,提升团队协作效率,减少配置差异导致的问题。 在Go项目中使用Ma…

    2025年12月16日
    000
  • Cgo与C静态库(.a)的链接策略:深度解析与实践

    在使用cgo集成c语言库时,直接通过`#cgo ldflags`链接预编译的静态库(`.a`文件)常遇到未定义符号错误。本文将深入探讨cgo处理静态库的机制,并提供两种推荐的解决方案:将c源文件直接纳入go包进行编译,或将c库编译为共享库(`.so`文件)进行链接。此外,还将简要介绍手动链接的复杂方…

    2025年12月16日
    000
  • Go语言中优雅地中断子进程:基于系统信号的实践

    本文探讨了在Go语言中管理长时间运行的子进程并实现其中断的有效策略。针对传统上通过标准输入(stdin)进行通信的局限性,文章详细介绍了如何利用syscall.Kill发送系统信号(如SIGTERM)来直接、可靠地终止或请求子进程优雅退出,并提供了具体的代码示例和注意事项,强调了这种方法在跨平台兼容…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信