Articles of linux

寻找源自我的服务器的目录遍历攻击源

两个星期前,我的VPS提供商收到通知,我的服务器(CentOS 5.5,yum是最新的)在DreamHost的某些服务器上再次发起了“空字节/目录遍历”攻击。 我花了几个小时穿过一个很好的齿梳服务器,没有find任何东西。 在login之前,我检索了一个sshd二进制文件,并确认它没有被修改。 我安装了一个rootkit检查器(chkrootkit-0.49),没有发现任何东西。 我检查了我托pipe的网站的networking日志,寻找可能触发了我的服务器上的脚本启动攻击,但什么也没有发现。 检查/ var / log / secure和/ var / log /消息围绕攻击的时间,但什么都没发现。 last检查,但没有发现。 在过去3天find了修改文件的关键目录,但没有发现。 我还能做些什么来find攻击的原因? 我写了一个脚本来检查端口80上的出站TCP连接,但只有合法的连接(SpamAssassin和ClamAV下载更新,Joomla检查其站点的更新等)。 即使我看到一个活动的出站连接,我甚至能够从stream程中(在/proc目录中)转储数据,以显示发起攻击的帐户? 看了几天服务器后,我放弃了。 现在我又收到了DreamHost的一个投诉,所以又发生了。 我已经请求了DreamHost的详细日志,但是什么? 我还能在哪里看? 如果我找不到源,有什么我可以安装监视服务器和日志数据,当它开始出站连接到TCP / 80在DreamHost IP空间? 我会logging什么? 只是在该时间范围内获得所有stream量的tcpdump ,并尝试手动筛选它。 更新 看到我接受的解决scheme,我想出了。 我仍然对logging所有出站端口80stream量来源的选项感兴趣 – 这是一种了解源stream程以及其父stream程(以及父stream程的父stream程)的方法。

使用“邮件”命令将发送的邮件保存在发送的邮箱中

使用邮件客户端发送的邮件将被保存,但是我还希望我的系统使用cron和“邮件”命令将发送的邮件保存到“发送”框中。 这可能吗? 我在Linux上使用sendmail作为邮件服务器。 作为一个例子,我使用: echo "An example" | mail -s "Read this!" root 如果我想要读取我发送的信息,它会保存在什么地方? 谢谢,

创build定制的Fedora / CentOS ISOs

我一直在创build一些自定义的Linux ISO,最近遇到了一些问题。 最初,我使用bootcdwrite和一些脚本来在Debian服务器上创build运行configuration的ISO。 现在我正在开发一些Fedora / CentoOS / Scientific Linux ISO,并没有太多的运气来做同样的事情。 我看过不less论坛,人们通常会推荐revisor / pungi和clonesys。 我已经尝试了克隆几次,并没有得到ISO正确启动我。 Revisor工作正常,只要旋转图像和添加/删除特定的包,但它没有(或者我还没有发现如何)做我想要的定制。 理想情况下,这是我想要做的。 安装Fedora / CentOS / SL6。 安装新软件包,更改一些文件,修改iptabloes等 运行程序将正在运行的映像复制到可引导的ISO中。 能够启动新的ISO,并像一个新的设置(请求DHCP信息,密码信息等),但一旦完成,它将具有我所有的自定义文件和configuration。 这正是我在Debian上使用bootcdwrite所能做到的。 我得到了一切工作和configuration我想要的方式,运行一些脚本来删除tmp文件,用户等进入“原始”状态,然后将其转换为ISO。 从我现在的研究来看,我认为Revisor是我最好的select,我只需要弄清楚如何使用自定义文件复制我的运行configuration文件,而不仅仅是修改软件包(或者它也可以,我只是没有意识到)。 那,或者我可以使用更通用的工具,如mkisofs。 在此先感谢您的帮助。

Linuxdynamic速率限制/限制

我正在运行一个使用http伪stream传输video的lighttpdvideostream网站。 如果用户连接速度非常快,则可能会非常低效地使用带宽。 例如,如果用户下载整个video文件,但只看到一半,这会浪费大量的带宽。 这个问题的一个可能的解决scheme是RTMP,但是可能会有防火墙问题,并且不会让缓慢连接的用户缓冲video。 更好的解决scheme是将video传输速率限制为例如video比特率的1.25倍。 这意味着用户仍然可以暂停和缓冲video,但真正快速连接的用户不会浪费带宽。 这个function是由lighttpd 1.50通过发送X-LIGHTTPD-KBytes-per-second提供的,但是开发已经停止。 有没有其他的方法来做到这一点在Linux?

ssh只接受一半的密码

我的密码login到SSH有16个字符。 但我可以login,如果我只input密码的前8个carachters … 我在/etc/login.defs中做了这个: PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 16 PASS_WARN_AGE 7 PASS_MAX_LEN 16 但是我仍然可以login我的密码的前8个字符。 所有16个字符应该被检查,怎么做?

如何从系统日志中find系统挂起的原因?

我正在Amazon EC2实例中运行Ubuntu 10.04 LTS。 系统突然变得没有反应。 当我检查日志文件时,我在/ var / log / syslog中发现了以下错误 2月22日04:10:01 ip-10-0-1-12 CRON [16153] :(根)CMD(/ usr / sbin / cm-sysmon)^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ […]

ntop使安装错误

当我安装ntop,./autogen.sh&make done,但在“make install”给这个错误: ln: `icmpPlugin.so': File exists make[2]: *** [icmpPlugin.so] Error 1 make[2]: Leaving directory `/root/ntop/compiles/ntop-3.3/plugins' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/root/ntop/compiles/ntop-3.3/plugins' make: *** [install-recursive] Error 1 ? 请原谅我英语不好

内核更新后,CentOS OpenVZ无法启动

升级到最新的OpenVZ内核后,CentOS服务器将无法启动。 当我尝试去引导最新的内核服务器卡住在这一点:(注意,图像是从虚拟kvm采取) 然后,我尝试启动服务器上的一些旧的内核,比我得到这个错误消息: kernel panic – not syncing – attempted to kill init 更好的显示在这张图片上: 这里有一些有用的信息 fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sda: 2995.7 GB, 2995739688960 bytes 255 heads, 63 sectors/track, 364211 cylinders Units = cylinders of 16065 * 512 = 8225280 […]

我怎样才能configuration我的用户/组/权限设置共享虚拟主机在Linux上,以防止networking服务器和用户帐户之间的权限?

我有一个Linux LAMPnetworking服务器(Ubuntu)与一些网站就可以了。 它们都在相同的apache2实例中运行,并且可以通过不同的虚拟主机访问。 他们大多是由我自己运行,但我也有一些朋友的网站托pipe在那里。 我想和使用有不同的网站用户帐户pipe理文件,cronjob等 networking服务器作为www-data运行。 现在大多数文件/目录不需要网站的写入权限,但有些可以。 我可以单独将它们设置为用于pipe理文件的用户可写。 其实我更喜欢那种方式。 然而,总是给我一些烦扰的是由web服务器创build的文件。 例如caching或会话文件。 因此,它们由Web服务器用户拥有,并且默认权限不能由用户linux用户写入。 在我的情况下文件修改的Web服务器用户happyn完全使用PHP。 现在,我发现这个问题的“最佳”解决scheme将运行suexec / suphp让PHP进程作为PHP文件的所有者运行。 然而,这是因为没有apaches mod-php的优势,而且性能损失很大,因为每个php进程都运行在cgi上。 但我最大的问题是操作码和内存caching。 现在我想我可以做的就是把我所有的用户都join到www-data组中,这样默认权限为664/775,shell用户可以修改文件。 然而,shell用户将无法调整chmods,因为他/她不是所有者,但是这不应该是一个问题,因为我不能想到这是由Web服务器创build的文件/目录所需的情况。 而作为所有者的networking服务器无论如何不会需要它。 但是,我对整个组/用户/权限的东西是全新的,因为我曾经为每个项目都有自己的服务器,并且从来没有做过共享主机的任何事情。 我只知道plesk / confixx和类似的东西的结构,知道他们总是有问题的。 所以我要求最简单的方法来处理这个问题的常见networking主机需求。 此外:我怎样才能有效地“监禁”用户到自己的目录,并将其视为在scp / ssh中的顶级目录? 我知道这不是完全可能的,没有安全性必须依赖它(因为用户可以运行一个PHP脚本列出其他目录等),但这不是动机。 动机是让所有事情都有点孤立和分离,以促进pipe理的目的。

升级到SLES11 SP1之后 – 在软件RAID5之上的LVM不再工作了

在我运行OpenSuSE11.1一段时间的系统上,我执行了全新的SLES11 SP1安装。 系统使用了一个软件RAID5系统,在这个系统的顶部安装了一个大约2.5TB大小的单个分区的LVM,用于挂载/数据。 问题是SLES11.1不能识别软件RAID,因此我无法安装LVM。 这是vgdisplay和pvdisplay的输出: $ vgdisplay — Volume group — VG Name vg001 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 2.73 TB PE Size […]