共 426 篇文章

标签:技术文档 第11页

记一次linux服务器入侵应急响应(小结)-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

记一次linux服务器入侵应急响应(小结)

近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为。希望我们能协助排查问题。 一、确认安全事件 情况紧急,首先要确认安全事件的真实性。经过和服务器运维人员沟通,了解到业务只在内网应用,但服务器竟然放开到公网了,能在公网直接ping通,且开放了22远程端口。从这点基本可以确认服务器已经被入侵了。 二、日志分析 猜想黑客可能是通过SSH暴破登录服务器。查看/var/log下的日志,发现大部分日志信息已经被清除,但secure日志没有被破坏,可以看到大量SSH登录失败日志,并存在root用户多次登录失败后成功登录的记录,符合暴力破解特征 通过查看威胁情报,发现暴力破解的多个IP皆有恶意扫描行为 三、系统分析 对系统关键配置、账号、历史记录等进行排查,确认对系统的影响情况 发现/root/.bash_history内历史记录已经被清除,其他无异常。 四、进程分析 对当前活动进程、网络连接、启动项、计划任务等进行排查 发现以下问题: 1)异常网络连接 通过查看系统网络连接情况,发现存在木马后门程序te18网络外联。 在线查杀该文件为Linux后门程序。 2)异常定时任务 通过查看crontab 定时任务,发现存在异常定时任务。 分析该定时任务运行文件及启动参数 在线查杀相关文件为挖矿程序 查看矿池配置文件 五、文件分析 在/root目录发现黑客植入的恶意代码和相关操作文件。 黑客创建隐藏文件夹/root/.s/,用于存放挖矿相关程序。 六、后门排查 最后使用RKHunter扫描系统后门 七、总结 通过以上的分析,可以判断出黑客通过SSH爆破的方式,爆破出root用户密码,并登陆系统进行挖矿程序和木马后门的植入。 加固建议 1)删除crontab 定时任务(删除文件/var/spool/cron/root内容),删除服务器上黑客植入的恶意文件。 2)修改所有系统用户密码,并满足密码复杂度要求:8位以上,包含大小写字母+数字+特殊符号组合; 3)如非必要禁止SSH端口对外网开放,或者修改SSH默认端口并限制允许访问IP; 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!

技术分享
Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法

Ubuntu 1804 安装MySQL 5.7为例给大家介绍的很详细。 执行命令安装MySQL sudo apt install mysql-server sudo apt install mysql-client 安装后看下是否启动: sudo ps aux | grep mysql 如果已经启动,执行完上述命令可看到相应的信息,如果没有启动,则可执行下面命令启动mysql: sudo service mysql start 另外,一会要用到重启mysql命令,重启和关闭mysql的命令分别是: sudo service mysql restart sudo service mysql stop 在确保mysql启动成功后,可以登录到mysql,但是安装过程中并没有提示输入用户名和密码的步骤,此时可以在‘/etc/mysql/debian.cnf’中查看默认的一个用户名和密码: sudo cat /etc/mysql/debian.cnf 用user和password的即可登录mysql: mysql -udebian-sys-maint -pZBms1EM5icCfeePV 但是默认的用户名和密码贼难记,可以通过下面的sql语句来增加一个名为my_name,密码为my_password的用户: show databases; use mysql; update user set authentication_string=PASSWORD(“my_password”) where user=’my_name’; update user set plugin=”mysql_native_password”; flush privileges; exit; 添加完用户后,此时重启mysql并用my_name登陆即可。 总结 以上所述是小编给大家介绍的Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

技术分享

Centos下升级Python及Mongodb驱动安装问题

查看python的版本 python -V 如果是2.7以下版本就需要升级了。 首先去官网下载你想要的python压缩包,然后解压。进入主目录执行以下操作(需要GCC编译器支持) ./configure –prefix=/usr/local make all make install make clean make distclean 执行完这些命令之后,在 /usr/local/bin/ 目录下就能看到 python2.7 ,然后试着执行 /usr/local/bin/python2.7 -V 如果显示版本号说明已经安装成功。但是升级工作才刚刚完成一半,你可以在终端再次执行 python -V 你会发现还是升级前的版本号。这个时候做如下操作。 建立软连接,使系统默认的 python 指向 python2.7 mv /usr/bin/python /usr/bin/python2.6.6 ln -s /usr/local/bin/python2.7 /usr/bin/python 这个时候你在执行 python -V 就会是你安装的版本了。 python的版本升级完成,但是你离大功告成还有几步的距离。 这个时候你可以尝试在终端执行 yum list 你会发现 yum 指令不能用了,这是因为 yum 默认不兼容 python 2.7 。 我们需要修改 /usr/bin/yum 文件,用vim打开该文件(需要管理员权限)。 将文件头部的 !/usr/bin/python 改成 !/usr/bin/python2.6.6 这个就是你之前做链接修改的文件 这样python升级工作基本就算完成了。 安装MongoDb驱动 装了python之后,我们是拿来用的,python 有的时候需要很多第三方库。这些库都需要额外安装的。安装工具主要是 setuptools 和 pip (这两个工具的区别我就不在这里说了)。 下面说说在服务器上如何离线安装(我们的服务器是坚决不允许上外网,一秒中也不可以) setuptools 及 MongoDb 驱动。 安装 setuptools 下载 setuptools-1.4.2.tar.gz 解压完之后,进入主目录执行 python setup.py install 如果安装过程提示缺少相应的py包,请通过 yum 安装相应的软件包(如下), 然后 重新编译安装py ,在继续安装就会成功了。 注意一般会缺少如下包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 安装完 setuptools ,就可以安装 mongodb 的驱动了。方法同上。 如果你恰巧需要安装 MongoDB 的 Python 驱动,而又从后往前看文章,你也许就可以避免安装两次 python 。 总结 以上所述是小编给大家介绍的Centos下升级Python及Mongodb驱动安装问题,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

技术分享

linux中批量添加文件前缀的操作方法

需要在文件夹内所有txt文件的文件名前面添加”gt_”; 就是由原来的文件“xxx.txt”变成“gt_xxx.txt”: 网上搜来的脚本如下: for i in `ls`; do mv -f $i ‘echo “gt_”$i`; done 1、首先, linux命令行切换到你需要修改文件名的目录之下: cd 目的目录 2、在该目录下新建sh文件: touch xxx.sh 3、打开xxx.sh文件: vim xxx.sh 3、将刚刚的脚本内容复制到该sh文件上,保存退出 编辑sh文件:Shift+I 黏贴之后保存退出:Ctrl+Alt +D 退出编辑状态,然后输入:wq!  退出 执行sh文件:./xxx.sh 以前没接触过linux的指令,现在需要用到一些,特此笔记作为备忘~~~ ps:linux下批量改变文件前缀命令 for f in * ; do mv — “$f” “PRE_$f” ; done 总结 以上所述是小编给大家介绍的linux中批量添加文件前缀的操作方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

技术分享
Linux 实现定时文件占用磁盘空间大小操作方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Linux 实现定时文件占用磁盘空间大小操作方法

打开定时任务编辑,cent 默认使用vim直接打开。ubutun如果装了多种编辑器第一次打开的时候是指定编辑器的操作。 (3) */1 * * * * sh /root/Shell/monitor.sh 将这一行添加进文件中。表示每隔一分钟执行一次 sh /root/Shell/monitor.sh 命令,具体更多的定时格式可以网上查询。简单的循环监测只需要这么多 (4) service crond start 启动定时任务。ubutun上是 service cron start (5) 查看crontab定时任务是否已经启动 crontab -l 2.shell监控磁盘 (1) du -BM /root/Shell/a.pdf | awk ‘{print $1}' 获得文件大小。-BM结果为M输出,需要用G输出的则使用-BG。 (2) cachesize=$( du -BM /root/Shell/a.pdf | awk ‘{print $1}') 使用cachesiz变量接收文件大小。注意此时接收到的是带单位的,比如89M (3) cachesize=$(echo ${cachesize/M/}) 去除M,得到纯数字3.完整代码 总结 以上所述是小编给大家介绍的Linux 实现定时文件占用磁盘空间大小操作方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

技术分享
Linux被中断的系统如何调用详解-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Linux被中断的系统如何调用详解

前言 慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept、无输入时的read都属于慢速系统调用。 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该系统调用就会被中断,转而执行信号处理函数,这就是被中断的系统调用。 然而,当信号处理函数返回时,有可能发生以下的情况: 如果信号处理函数是用signal注册的,系统调用会自动重启,函数不会返回 如果信号处理函数是用sigaction注册的 默认情况下,系统调用不会自动重启,函数将返回失败,同时errno被置为EINTR 只有中断信号的SA_RESTART标志有效时,系统调用才会自动重启 下面我们编写代码,分别验证上述几种情形,其中系统调用选择read,中断信号选择SIGALRM,中断信号由alarm产生。 使用signal #include <stdio.h> #include <signal.h> #include <unistd.h> #include <errno.h> void handler(int s) { printf("read is interrupt by signal handler\n"); return; } int main() { char buf[10]; int nread = 0; signal(SIGALRM, handler); alarm(2); printf("read start\n"); nread = read(STDIN_FILENO, buf, sizeof(buf)); printf("read return\n"); if ((nread < 0) && (errno == EINTR)) { printf("read return failed, errno is EINTR\n"); } return 0; } 使用sigaction + 默认情况 #include <stdio.h> #include <signal.h> #include <unistd.h> #include <errno.h> void handler(int s) { printf("read is interrupt by signal handler\n"); return; } int main() { char buf[10]; int nread = 0; struct sigaction act; sigemptyset(&act.sa_mask); act.sa_handler = handler; act.sa_flags = 0; //不给SIGALRM信号设置SA_RESTART标志,使用sigaction的默认处理方式 //act.sa_flag |= SA_INTERRUPT; //SA_INTERRUPT是sigaction的默认处理方式,即不自动重启被中断的系统调用 //实际上,不管act.sa_flags值为多少,只要不设置SA_RESTART,sigaction都是按SA_INTERRUPT处理的 sigaction(SIGALRM, &act,...

技术分享

详解Linux中几个获取硬件详细信息的命令

在Linux系统特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便。本文介绍几个在Linux系统中查看硬件信息的命令,它们是lspci、lsblk、lscpu 和 lsusb。 lspci 命令 从命令的名称ls+pci的组合上大致也能看出来,lspci用于显示有关系统中的PCI总线以及与其连接的设备的信息。默认情况下,它显示设备的简短列表,如果配合指定的选项使用可以显示输出更详细的信息。 语法格式: lspci [参数] 常用参数: 选项 描述 -n 以数字方式显示PCI厂商和设备代码 -t 以树状结构显示PCI设备的层次关系 -b 以总线为中心的视图 -s 仅显示指定总线插槽的设备和功能块信息 -i 指定PCI编号列表文件,不使用默认文件 -m 以机器可读方式显示PCI设备信息 使用示例: 默认情况下终端中直接输入该命令,显示当前主机的所有PCI总线信息: lspci 输出类似如下: 00:00.0 Host bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 (rev 04) 00:01.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a (rev 04) 00:02.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a (rev 04) 00:02.2 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c (rev 04) 00:03.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a (rev 04) 00:05.0 System peripheral: Intel Corporation Xeon...

技术分享
Linux deepin 删除多余内核的实现方法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

Linux deepin 删除多余内核的实现方法

前一篇写了deepin linux手动安装新内核,本篇记录如何删除不用的内核 使用命令 dpkg --get-selections| grep linux 列出当前安装的内核 比如要卸载Linux5.1.9 则执行: sudo apt remove --purge linux-headers-5.1.9-050109 除了linux-header,还包括linux-modules和linux-image-unsigned,一并卸载 因为卸载linux-modules会自动同时卸载linux-image-unsigned 所以只需一个命令: sudo apt remove --purge linux-modules-5.1.9-050109-generic 这样就把Linux5.1.9卸载掉了. 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!

技术分享
使用vscode远程linux开发的实现-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

使用vscode远程linux开发的实现

告别过去 在vscode有了remote ssh之前,大多数Linux服务器开发者通常使用vs远程Linux,或者xshell配合vim的姿势,进行服务器开发,虽然vs很强大,调试很清晰,可是打开vs的时间和启动调试的时间是比较长的,xshell使用vim虽然也很方便,但是仍然会存在感官上的不足,我厌倦了打开多个tab来回切换,也厌倦了千篇一律的命令行界面, 所以我选择了vscode远程Linux服务器来学习linux开发。 面向未来 快捷开发,一秒启动vscode 上部分页面编辑,下部分使用命令行,再也不用来回切换tab 通过ssh连接Linux服务器,实现Linux环境的调试运行 怎样获得 1. 下载vscode insider 地址 2. 下载ssh remote 扩展 3. 配置ssh 用户名及ip 4. 连接Linux服务器 5. 进行开发,安装开发所需扩展(以c++为例) 6. 注意事项 C/C++ Clang Command Adapter 如果需要开发c++11以上需配置setting.json 大功告成 到此这篇关于使用vscode远程linux开发的实现的文章就介绍到这了,更多相关vscode远程linux开发内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

技术分享

详解在linxu下Svn一键安装shell脚本

#!/bin/bash #下载svn yum -y install subversion #阿里云oss资料 wget -P /root https://babyrita.oss-cn-beijing.aliyuncs.com/lnmp/quyeweb/ziliao.zip #解压资料文件 unzip ziliao.zip #新建svndata目录 mkdir /home/svndata #svn服务器监听 默认3690端口 svnserve -d -r /home/svndata #创建svn仓库 svnadmin create /home/svndata/www #复制资料到相应位置 \cp /root/ziliao/passwd.txt /home/svndata/www/conf/passwd \cp /root/ziliao/svnserve.txt /home/svndata/www/conf/svnserve.conf \cp /root/ziliao/post-commit.txt /home/svndata/www/hooks/post-commit #钩子文件可执行 chmod +x /home/svndata/www/hooks/post-commit cd /home/svndata/www/ #检出svn到本地及到网站根目录—自动化–免输入密码 svn co svn://127.0.0.1/www –username svn1113 –password svn123 –no-auth-cache svn co svn://127.0.0.1/www /home/wwwroot/www –username svn1113 –password svn123 –no-auth-cache #创建用户及用户组 groupadd www useradd -g www www #设置网站目录所属权限 chown -R www:www /home/wwwroot/www 知识点补充:下面看下linux shell 脚本 svn自动更新项目并且打包 、发布、备份 这里先准备一个配置文件,用于保存svn地址、目的路径、用户名跟密码 配置文件名问:toolConfig.properties #svn地址 svnAddress=https://192.168.1.253/【yourPath】 #本地路径(目的地址) localDir=E:\shelltest #svn用户名 userName=jack #svn密码 password=123456 对应shell脚本 #!/bin/bash source ./toolConfig.properties svn_ip=${svnAddress} local_path=${localDir} u_name=${userName} p_wd=${password} svn co ${svn_ip} ${local_path} –username ${u_name} –password ${p_wd} 总结 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!

技术分享