Year: 2019

  • sudo提权漏洞sudo版本升级方法(Sudo配置不当致权限提升漏洞CVE-2019-14287)

    sudo提权漏洞sudo版本升级方法(Sudo配置不当致权限提升漏洞CVE-2019-14287)

    Sudo配置不当的情况下,本地攻击者通过构造特殊命令,可以绕过Sudo限制以root身份在服务器上执行任意命令。漏洞实际利用场景为本地提权,风险较低。 漏洞描述:当/etc/sudoers 文件中存在 *=(ALL, *) 形式的配置时,本地攻击者可以通过指定用户ID为-1或者4294967295,从而以root权限在服务器上执行命令。 漏洞评级 CVE-2019-14287 低危 影响版本 Sudo < 1.2.28 安全建议 升级Sudo版本到 1.2.28 官方说明: https://www.sudo.ws/alerts/minus_1_uid.html sudo漏洞的判断: $ sudo id Sorry, user a is not allowed to execute ‘/bin/id’ as root. 提权成功: $ sudo -u#-1 id uid=0(root) gid=0(root) groups=0(root) sudo漏洞修复的效果: $ sudo -u#-1 id -u sudo: unknown user: #-1 sudo: unable to initialize…

  • 400 bad request The plain HTTP request was sent to HTTPS port解决办法

    400 bad request The plain HTTP request was sent to HTTPS port解决办法

    现象:https可以访问,但是http报400 bad request错误。 看报错: 本以为是个牛逼的配置,没想到报错了。 先查400状态码的解释,HTTP/1.1对400 Bad Request的定义: 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。 2、请求参数有误。 这就很好理解了,我们又没有参数,肯定是第一个原因,我们试图通过HTTP访问网站,这个请求被重定向到HTTPS。 if ($ssl_protocol = “”) { rewrite ^ https://$server_name$request_uri? permanent; } Nginx的配置里是有“ssl on”这一条的,所以肯定使用SSL交互,但是你的request都是HTTP请求,所以就是bad request,于是就是80的请求无法被服务器的443理解。 so,把nginx里的ssl on注释掉,问题解决。 2019年11月2日更新: 最新情况发现,按照以上的解决办法简单注释ssl on,并没有效果,如果用chrome浏览器打开隐私窗口,访问https页面,依据报400错误。用curl来验证: $ curl -I http://moneyslow.com HTTP/1.1 400 Bad Request Server: nginx/1.14.0 (Ubuntu) Date: Sat, 02 Nov 2019 03:09:46 GMT Content-Type: text/html Content-Length: 280 Connection: close header返回400错误依旧。 实际上,解决方法非常简单。在“listen”字符串下的服务器部分,我只需要添加:…

  • Discuz! 后台数据库备份功能命令执行漏洞

    Discuz! 后台数据库备份功能命令执行漏洞

    编辑 source/admincp/admincp_db.php 只有一处: $tablesstr .= ‘”‘.$table.'” ‘; 改为: $tablesstr.='”‘.addslashes($table).'”‘;   有两处: @unlink($dumpfile); 改成: @unlink($dumpfile); $tablesstr=escapeshellarg($tablesstr);

  • wordpress中自定义链接如何打开为新窗口

    一图胜千言: 点了1,2,,就会有3,4出现了。

  • gitlab forbidden 解决办法(gitlab的rack::attack机制)

    gitlab forbidden 解决办法(gitlab的rack::attack机制)

    版本:GitLab Community Edition 10.8.7 现象:小部分用户web访问gitlab显示403 forbidden。 原因:gitlab有rack::attack模块,来防治恶意ip刷机,其详细文档:https://docs.gitlab.com/ee/security/rack_attack.html 确定是否是这个原因: 1、查日志 # cd /var/log/gitlab/gitlab-rails/ # grep ‘Rack_Attack’ production.log|more Rack_Attack: blacklist 192.130.160.212 GET /xxx Rack_Attack: blacklist 192.130.160.212 GET /xxxxxx Rack_Attack: blacklist 192.130.160.212 GET /xxxxxxxx 确认这个ip是否是访问者的ip 2、进入redis: # /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket redis /var/opt/gitlab/redis/redis.socket> keys *rack::attack* 1) “cache:gitlab:rack::attack:26176509:allow2ban:count:192.130.160.212” 2) “cache:gitlab:rack::attack:allow2ban:ban:192.130.160.212” 通过两步即可确认,就是这个原因。在redis里清除该条即可: del cache:gitlab:rack::attack:allow2ban:ban:192.130.160.212 总结:从11版本开始,官方默认不开启这个功能: Note: Starting with GitLab 11.2, Rack…

  • nginx 301 rewrite 跳转到www域名的方法

    nginx 301 rewrite 跳转到www域名的方法

    转自 刘荣星的博客,转载时请注明出处及相应链接。https://www.liurongxing.com/nginx-301-www-rewrite.html 首先一、得在你的域名管理里面定义 moneyslow.com和www.moneyslow.com指向你的主机ip地址,我们可以使用nslookup命令测试: 直接输入 nslookup moneyslow.com和nslookup www.moneyslow.com 都有指向ip的A记录即可。 第二、我们才能在nginx里面配置rewrite规则。 打开 nginx.conf文件找到你的server配置段: server { listen 80; server_name www.moneyslow.com moneyslow.com; if ($host != ‘www.moneyslow.com’ ) { rewrite ^/(.*)$ http://www.moneyslow.com/$1 permanent; } …….. 这样就是用户直接访问moneyslow.com直接跳转的www.moneyslow.com。 即让不带www的域名跳转到带www的域名。 办法2:在配置文件里面写两个server,第一个里面把不带www的域名去掉 server { listen 80; server_name www.moneyslow.com; 在配置文件的最下面添加上,这样就可以了。 server { server_name moneyslow.com; rewrite ^(.*) http://www.moneyslow.com/$1 permanent; } 如果有多个不同的域名都绑定在同一个目录下不带3W的301到带3W的方法和上面的一样 在vhost的完整配制里后面加上 server { server_name…

  • Discuz的logo右侧加图片广告方法

    Discuz的logo右侧加图片广告方法

    找到文件: /template/default/common/header.htm 找到第125行: <h2><!–{if !isset($_G[‘setting’][‘navlogos’][$mnid])}–><a title=”$_G[‘setting’][‘bbname’]” href=”{if $_G[‘setting’][‘domain’][‘app’][‘default’]} {$_G[‘scheme’]}://{$_G[‘setting’][‘domain’][‘app’][‘default’]}/{else}./{/if}”>{$_G[‘style’][‘boardlogo’]}</a><!–{else}- ->$_G[‘setting’][‘navlogos’][$mnid]<!–{/if}–></h2> 准备好你的广告代码,比如一个图片广告:(高度最好和你的logo一样,规定宽度和高度) <a href=”/forum-2-1.html” target=”_blank” rel=”noopener noreferrer”><img src=”/images/70.gif” width=”700″ height=”66″ /></a> 或者按高度自适应: <a href=”/forum-2-1.html” target=”_blank” rel=”noopener noreferrer”><img src=”/images/70.gif” height=”66″ /></a> 很简单,放到</h2>前面就可以了,最终效果:(红字是嵌进去的) <h2><!–{if !isset($_G[‘setting’][‘navlogos’][$mnid])}–><a title=”$_G[‘setting’][‘bbname’]” href=”{if $_G[‘setting’][‘domain’][‘app’][‘default’]} {$_G[‘scheme’]}://{$_G[‘setting’][‘domain’][‘app’][‘default’]}/{else}./{/if}”>{$_G[‘style’][‘boardlogo’]}</a><!–{else}- ->$_G[‘setting’][‘navlogos’][$mnid]<!–{/if}–><a href=”/forum-2-1.html” target=”_blank” rel=”noopener noreferrer”><img src=”/images/70.gif” height=”66″ /></a></h2>

  • discuz您开启了 运行 SQL 语句 功能.建议您只有在十分必要的时候才开启它.请修改

    Discuz后台提醒:你开启了运行SQL语句功能,建议你只有在十分必要的时候才开启此它,请修改 config/config_global.php 介绍一下修改的方法: 1、打开这个文件:config/config_global.php 2、查找到 $_config[‘admincp’][‘runquery’] = 0; 3、将=1改为=0即可。1 是开启,0是关闭

  • mariadb mysql 内存优化

    mariadb mysql 内存优化

    mysql经常需要调优,在大内存情况下,可以参考,原文地址: https://coding3min.com/mariadb-better/ 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。 查询最高内存占用 使用以下命令可以知道mysql的配置使用多少 RAM SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB; 可以使用mysql计算器来计算内存使用 下面是理论,可以直接到推荐配置 如何调整配置 key_buffer_size(MyISAM索引用) 指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以…

  • Discuz3.4邮件发送方式设置20190928

    Discuz3.4邮件发送方式设置20190928

    最近Discuz又重新招兵买马开始发力了,为什么呢?请看我之前的一篇文章: 站长们泪奔!腾讯云奶罩再造Discuz!招兵买马,重建生态 搭建论坛后,最常用的功能就是邮件发送,随着技术的发展,为了防止垃圾邮件,常用邮箱平台都加强了安全策略,例如第三方客户端如果想发送邮件,就不能用密码,而是授权码了。 下面是用qq邮箱作为smtp服务器,在Discuz3.4中的配置过程: 在Discuz后台用admin登陆,在站长–邮件设置中进行设置,如图所示: 如果是阿里云的邮箱,要注意用户名的地方格式是xxx@域名,所以说每家都不一样,需要看文档。 上图中需要注意的就是在smtp服务器要填ssl://smtp.qq.com,端口465,这些信息都在qq邮箱官方帮助文件中有提到: https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=167&&id=28 需要注意的是最后的密码,如果填你qq密码就不对了,应该填授权码,这个授权码的说明地址: https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28 其实在qq邮箱设置里有说明了: 第一步开启smtp服务,第二步点击生成授权码,照要求做就行了,一般要求用手机发送一条短信来获取授权码。 在Discuz后台填完后测试,以下就是成功界面:

  • centos8发布了,看看有哪些新功能?

    centos8发布了,看看有哪些新功能?

    centos8发布了,其最新的官方maillist地址: https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html 其中release note 的最新地址为: https://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS8.1905 CentOS-8还是基于上游的Red Hat企业级LinuxRHEL1的源代码。仍然遵守RedHat的再发行政策,与上游产品在功能上完全兼容。 CentOS对组件的修改主要是去除了RedHat的商标及美工图。 来看看主要变化: 地址:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/overview 1、Shells and command-line tools shell和命令行工具: 提供了Git 2.18, Mercurial 4.8, 和 Subversion 1.10. 2、web,数据库,编程语言变化: 编程语言相关:除了新增的Node.js,其他都是更新:Python默认版本3.6;PHP 7.2;Ruby 2.5;Perl 5.26;SWIG 3.0 数据库相关:MariaDB 10.3, MySQL 8.0, PostgreSQL 10, PostgreSQL 9.6, and Redis 5. web引擎:Apache HTTP Server 2.4 and introduces a new web server, nginx 1.14. 缓存代理:Squid 4.4, 新增…

  • 如何为网站申请获取免费的Https证书(傻瓜教学,是傻瓜就进来)

    这篇文章是科普,老鸟忽略。 我们如果想把网址http改成https,需要https的证书。 阿里云有免费的https证书申请,因为阿里云和证书厂商合作,有接口,直接签。 所以我们不用和https证书厂商直接打交道,只要在阿里云有账号,有域名,就可以申请。 下面是详细步骤: 1、在阿里云首页的产品与服务里找到ssl证书项目 2、点击购买证书 3 看到下面的图,默认是花钱的,你需要按照我标识的12345步骤去点: 4 到了付款界面,打勾付款,是0元。免费。 5 点击确认金额 6 支付成功界面 7 支付成功后,会显示一个待申请证书的界面。点击右下角的申请证书,需要开始填资料了。 8 这个界面里填资料,一般会自动带出来,就是写清楚你的身份信息,供核查。个人的话一般阿里云也不鸟你。等一会就证书下来了。 好了,申请完了。等几分钟,再到界面里看,证书就是已签发状态了。可以下载了。 证书有很多格式,根据你的web引擎去选择下载。 好了,这里申请免费https证书的步骤就结束了。

  • Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04

    ########## Install NGINX ############## # Install software-properties-common package to give us add-apt-repository package sudo apt-get install -y software-properties-common # Install latest nginx version from community maintained ppa sudo add-apt-repository ppa:nginx/stable # Update packages after adding ppa sudo apt-get update # Install nginx sudo apt-get install -y nginx # Check status sudo service nginx # Start…

  • Firefox内容拦截的机制

    今天用firefox访问某知名博客,发现https前的盾牌🛡️发生了变化:   顺便了解了一下: 内容拦截是一组 Firefox 的隐私保护功能,它保护你不受来自网络的威胁和骚扰。其默认设置包括阻止跟踪器收集你的跨网站浏览数据以及拦截挖矿工具。Firefox 还提供对有害脚本的保护,比如消耗电池的恶意脚本等。这些保护功能基本是不可见的;当你看到地址栏的盾牌图标时,你就知道它们正在保护你了。 点击盾牌给出的信息: 看起来就是google的广告中的跟踪内容,商业目的而已。 Firefox的拦截内容包括: 跟踪器:跟踪一般是指内容、cookie 或者脚本等款网站收集你的浏览数据的工具。Firefox 默认在隐私窗口拦截跟踪器。选择 严格 或 定制 按钮可以在所有窗口拦截已知跟踪器。 第三方跟踪 cookie:第三方 cookie 是由非当前浏览网站设置的 cookie。广告商通常使用这些第三方cookie在多个网站上跟踪你,并用广告锁定你。从 Firefox 版本 63 起,在默认情况下所有用户的第三方跟踪cookie 都会被拦截。 指纹辨析:指纹脚本收集你的浏览器和设备配置的信息,比如操作系统、屏幕分辨率和其他设置。通过编译这些数据,指纹辨析创建了一个独特的关于你的个人档案,可以用来在网络上跟踪你。指纹辨析违反 Firefox 的反跟踪政策。使用 定制 或 严格 按钮可以拦截指纹辨析脚本。 挖矿器:挖矿脚本使用你电脑的中央处理器(CPU)来偷偷挖矿(破解加密货币)。这些脚本会降低电脑的性能并消耗电量。拦截挖矿器默认被拦截。 那么如何拦截更多或更少的跟踪器呢? 默认时,Firefox使用由Disconnect提供的已知跟踪器名单在隐私窗口拦截它们。Firefox会允许某些追踪器,这样网站能够正常显示。你可以更改设置,总是拦截追踪器、拦截Disconnect的二级列表或者什么也不拦截。 如果需要调整设置: 点击菜单按钮,点击内容拦截。 这会打开Firefox首选项 的隐私与安全面板上的 内容拦截 部分。如果你的Firefox看起来不一样,那是因为我们正在逐步向所有用户推出针对第三方跟踪cookie的保护措施。 更多内容,可以自己研究一下。

  • shell下利用awk sort uniq 对nginx日志进行统计分析 access log分析工具

    ########## 页面访问统计 ########## 查看访问最频的页面(TOP100) awk ‘{print $7}’ access.log | sort |uniq -c | sort -rn | head -n 100 查看访问最频的页面([排除php页面】(TOP100) grep -v “.php” access.log | awk ‘{print $7}’ | sort |uniq -c | sort -rn | head -n 100 查看页面访问次数超过100次的页面 cat access.log | cut -d ‘ ‘ -f 7 | sort |uniq -c | awk…

  • 开源协议有哪些?BSD,Apache,GPL,LGPL,MIT

    开源协议有哪些?BSD,Apache,GPL,LGPL,MIT

    现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有97 种。我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。 BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由 的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开 发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布 的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布 代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而 很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在 必要的时候可以修改或者二次开发。 Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0) Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样 鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足 的条件也和BSD类似: 需要给代码的用户一份Apache Licence,如果你修改了代码,需要在被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他 原来作者规定需要包含的说明。 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。 你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需 要并作为开源或商业产品发布/销售。 GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL。GPL协议和BSD,Apache Licence等鼓励代码重用的 许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但…

  • 数字签名图解(What is a Digital Signature)

    数字签名图解(What is a Digital Signature)

    一个老外写的数字签名的图解,备忘。 https://moneyslow.com/html/Digital_Signature/index.html  

  • discus上传文件出现413错误码 解决方案

    discus上传文件出现413错误码 解决方案

    在nginx.conf http段配置文件中配置允许客户端请求文件大小为100M client_max_body_size 100m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 systemctl restart nginx

  • grep出多个条件的行

    例子: 找出ok:开头,并且包含$1的行。 再次grep包含$1的行,包括其前一行,打印出来,带颜色 egrep -E “^ok:|$1” *.psef|grep -B 1 $1 –color 放到一个sh文件里,比如寻找xxx,执行: ./youscript xxx

  • find排除一个或多个目录的方法

    find排除一个或多个目录的方法

    百度就是垃圾,搜索结果千篇一律,错抄错。google一下,总结find排除某个目录的方法: How to exclude a directory in find . command Use the -prune switch. For example, if you want to exclude the misc directory just add a -path ./misc -prune -o to your find command: 寻找当前目录,排除misc目录,文件类型txt: find . -path ./misc -prune -o -name ‘*.txt’ -print Here is an example with multiple directories: 排除多个目录dir1,dir2,dir3的做法: find .…

  • F5 irule 实现URL 根据目录 转到相关pool

    F5 irule 实现URL 根据目录 转到相关pool

    例如 xxx.com/abc/ 的请求由 pool_abc 处理 建立irules: when HTTP_REQUEST { if { [HTTP::host] eq “xxx.com” } { if { ([HTTP::uri] starts_with “/abc/”) } { pool pool_abc } } } 在Virtual Servers里的 Resources 里的 iRules 的 Manage 添加这个irules:

  • 在 Chrome 中清除,启用和管理 Cookie

    在 Chrome 中清除,启用和管理 Cookie

    您可以选择删除现有 Cookie、允许/阻止所有 Cookie,以及针对某些网站设定偏好设置。 Cookie 是什么? Cookie 是您访问的网站所创建的文件。Cookie 通过保存浏览信息来让您获得更轻松的在线体验。借助 Cookie,网站可使您保持登录状态、记住您的网站偏好设置,并为您提供本地的相关内容。 Cookie 分为以下两类: 第一方 Cookie 是由您访问的网站创建。相应网站会显示在地址栏中。 第三方 Cookie 是由其他网站创建。这些网站拥有您访问的网页上显示的某些内容(如广告或图片)。 电脑清除cookie方法: 清除所有 Cookie 如果您删除 Cookie,您即会退出相应网站,而且您已保存的偏好设置可能也会随之删除。 在计算机上打开 Chrome。 在右上角,依次点击“更多”图标 更多 然后 设置。 在底部,点击高级。 在“隐私设置和安全性”下方,点击网站设置。 依次点击 Cookie 然后 查看所有 Cookie 和网站数据 然后 全部删除。 点击全部清除以示确认。 删除来自某个网站的 Cookie: 在计算机上打开 Chrome。 在右上角,依次点击“更多”图标 更多 然后 设置。 在底部,点击高级。 在“隐私设置和安全性”下方,点击网站设置。 依次点击 Cookie 然后 查看所有 Cookie 和网站数据。…

  • 可以使用多个身份登陆的浏览器multilogin介绍

    可以使用多个身份登陆的浏览器multilogin介绍

    后续有个该浏览器的简单介绍,可以参考: 多身份登陆浏览器multilogin有个形象的图例,原来用物理设备来区分身份,现在可以用模拟浏览器来完成这个任务了: 可以换的选项有操作系统、浏览器(类火狐/迷你Mimic),代理配置、时区配置 是的,你可以更换操作系统:windows、Linux、Mac os 代理也有多种选择,http代理,socks4/5,更高级的proxy over ssh 时区配置,基于外网地址的自动判断,也可以自定义 webRTC 协议的外网地址配置 地理位置可以自定义,精确到100米以内可选 高级选项里可以自定义UA,显示器尺寸,语言。 字体: 多媒体设备,几个音频,输入输出 硬件配置 浏览器扩展: 存储选项 浏览器插件 其他选项

  • centos7的systemctl启动项优化

    centos7的systemctl启动项优化

    使用 systemctl list-unit-files 可以查看启动项 systemctl list-unit-files | grep enable 过滤查看启动项如下 abrt-ccpp.service enabled abrt为auto bug report的缩写 用于bug报告 关闭 abrt-oops.service enabled ———————- abrt-vmcore.service enabled ———————- abrt-xorg.service enabled ———————- abrtd.service enabled ———————- auditd.service enabled 安全审计 保留 autovt@.service enabled 登陆相关 保留 crond.service enabled 定时任务 保留 dbus-org.freedesktop.NetworkManager.service enabled 桌面网卡管理 关闭 dbus-org.freedesktop.nm-dispatcher.service enabled ———————- getty@.service enabled tty控制台相关 保留 irqbalance.service enabled 优化系统中断分配…

  • Ubuntu 16.04安装MariaDB Master and Slave Replication主从配置

    Ubuntu 16.04安装MariaDB Master and Slave Replication主从配置

    原文标题:How to Setup MariaDB Master and Slave Replication on Ubuntu 16.04 Requirements Two fresh Alibaba Cloud instance with Ubuntu 16.04 installed. A static IP address 192.168.0.101 is configured on the Master node and 192.168.0.102 is configured on the Slave node. A Root password is set up on both instance. Launch Alibaba Cloud ECS Instance First,…

  • mariadb mysql_secure_installation 找不到 socket

    mariadb mysql_secure_installation 找不到 socket

    加个环境变量:export MYSQL_UNIX_PORT=/xxx/youwebsite/mysql.sock

  • centos7下mariadb不能增加连接数max_connections不生效

    centos7下mariadb不能增加连接数max_connections不生效

    MySQL values open_files_limit and max_connections are not applied 你虽然在配置文件已经加了: grep -i ‘max_connections’ /etc/my.cnf max_connections=2048 但是不生效: plesk db “SHOW GLOBAL VARIABLES LIKE ‘max_connections’ \G” *************************** 1. row *************************** Variable_name: max_connections Value: 214 查看报错: The value of open_files_limit is reset after system updates are installed. In the log file /var/log/mysqld.log the following records can be found: [Warning]…

  • windows的135、137、138、139、445端口是做什么用的?

    如果全是2000以上的系统,可以关闭137.138.139,只保留445 如果有xp系统,可能以上四个端口全部要打开 无论你的服务器中安装的是Windows 2000 Server,还是Windows Server 2003,它们无一例外会在默认安装下开通135端口、137端口、138端口、139端口和445端口。这些端口可以说都是一把“双刃剑”,它们既能为你提供便利,也会反过来,被其他人非法利用,成为你心中永远的痛。为此,我们很有必要熟悉这些端口,弄清它们的作用,找出它们的“命门”,以避免误伤了自己。 135端口 在许多“网管”眼里,135端口是最让人捉摸不透的端口,因为他们中的大多数都无法明确地了解到135端口的真正作用,也不清楚该端口到底会有哪些潜在的危险。直到一种名为“IEen”的专业远程控制工具出现,人们才清楚135端口究竟会有什么样的潜在安全威胁。 IEen工具能够借助135端口轻松连接到Internet上的其他工作站,并远程控制该工作站的IE浏览器。例如,在浏览器中执行的任何操作,包括浏览页面内容、输入帐号密码、输入搜索关键字等,都会被IEen工具监控到。甚至在网上银行中输入的各种密码信息,都能被IEen工具清楚地获得。除了可以对远程工作站上的IE浏览器进行*作、控制外,IEen工具通过135端口几乎可以对所有的借助DCOM开发技术设计出来的应用程序进行远程控制,例如 IEen工具也能轻松进入到正在运行Excel的计算机中,直接对Excel进行各种编辑*作。 怎么样?135端口对外开放是不是很危险呀?当然,这种危险毕竟是理论上的,要想真正地通过135端口入侵其他系统,还必须提前知道对方计算机的IP地址、系统登录名和密码等。只要你严格保密好这些信息,你的计算机被IEen工具攻击的可能性几乎不存在。 为什么IEen工具能利用135端口攻击其他计算机呢?原来该工具采用了一种DCOM技术,可以直接对其他工作站的DCOM程序进行远程控制。DCOM技术与对方计算机进行通信时,会自动调用目标主机中的RPC服务,而RPC服务将自动询问目标主机中的135端口,当前有哪些端口可以被用来通信。如此一来,目标主机就会提供一个可用的服务端口作为数据传输通道使用。在这一通信过程中,135端口的作用其实就是为RPC通信提供一种服务端口的映射功能。说简单一点,135端口就是RPC通信中的桥梁。 137端口 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。 本文来自:海阔中文网 要是非法入侵者知道目标主机的IP地址,并向该地址的137端口发送一个连接请求时,就可能获得目标主机的相关名称信息。例如目标主机的计算机名称,注册该目标主机的用户信息,目标主机本次开机、关机时间等。此外非法入侵者还能知道目标主机是否是作为文件服务器或主域控制器来使用。 138端口 137、138端口都属于UDP端口,它们在局域网中相互传输文件信息时,就会发生作用。而138端口的主要作用就是提供NetBIOS环境下的计算机名浏览功能。 非法入侵者要是与目标主机的138端口建立连接请求的话,就能轻松获得目标主机所处的局域网网络名称以及目标主机的计算机名称。有了计算机名称,其对应的IP地址也就能轻松获得。如此一来,就为黑客进一步攻击系统带来了便利。 139端口 139端口是一种TCP端口,该端口在你通过网上邻居访问局域网中的共享文件或共享打印机时就能发挥作用。 139端口一旦被Internet上的某个攻击者利用的话,就能成为一个危害极大的安全漏洞。因为黑客要是与目标主机的139端口建立连接的话,就很有可能浏览到指定网段内所有工作站中的全部共享信息,甚至可以对目标主机中的共享文件夹进行各种编辑、删除*作,倘若攻击者还知道目标主机的IP地址和登录帐号的话,还能轻而易举地查看到目标主机中的隐藏共享信息。 445端口 445端口也是一种TCP端口,该端口在Windows 2000 Server或Windows Server 2003系统中发挥的作用与139端口是完全相同的。具体地说,它也是提供局域网中文件或打印机共享服务。不过该端口是基于CIFS协议(通用因特网文件系统协议)工作的,而139端口是基于SMB协议(服务器协议族)对外提供共享服务。同样地,攻击者与445端口建立请求连接,也能获得指定局域网内的各种共享信息。 要关闭文件共享可以同时关闭139和445端口。

  • 查黑大杀器lsof用法

    lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,用户通过文件不仅可以访问常规数据,还可以访问网络连接和硬件;如传输控制协议 (TCP) 和用户数据报协议 (UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于此应用程序的信息。 一、命令参数 -a:列出打开文件存在的进程; -c<进程名>:列出指定进程所打开的文件; -g:列出GID号进程详情; -d<文件号>:列出占用该文件号的进程; +d<目录>:列出目录下被打开的文件; +D<目录>:递归列出目录下被打开的文件; -n<目录>:列出使用NFS的文件; -i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip ); -p<进程号>:列出指定进程号所打开的文件; -u:列出UID号进程详情; -h:显示帮助信息; -v:显示版本信息。 二、实例讲解 1、lsof输出各列信息的意义,如下: COMMAND:进程的名称; PID:进程标识符; PPID:父进程标识符(需要指定-R参数); USER:进程所有者; PGID:进程所属组; FD:文件描述符,应用程序通过文件描述符识别该文件。 2、文件描述符列表: ①. cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改; ②. txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序; ③. lnn:library references (AIX); ④. er:FD information error (see NAME column); ⑤. jld:jail directory (FreeBSD); ⑥. ltx:shared…

  • 如何在ubuntu16上安装google chrome浏览器

    如何在ubuntu16上安装google chrome浏览器

    apt-get update & apt-get -y upgrade apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver adduser vnc apt-get install sudo gpasswd -a vnc sudo su – vnc vncserver vi /usr/local/bin/myvncserver #!/bin/bash PATH=”$PATH:/usr/bin/” DISPLAY=”1″ DEPTH=”16″ GEOMETRY=”1024×768″ OPTIONS=”-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}” case “$1” in start) /usr/bin/vncserver ${OPTIONS} ;; stop) /usr/bin/vncserver -kill :${DISPLAY} ;; restart) $0 stop $0 start ;;…

  • 探测https证书支持协议的3种方法

    nmap -sV –script ssl-enum-ciphers -p 443 <host> 参考 https://jumpnowtek.com/security/Using-nmap-to-check-certs-and-supported-algos.html openssl s_client -connect poftut.com:443  参考 https://www.poftut.com/use-openssl-s_client-check-verify-ssltls-https-webserver/ sslscan 参考 https://github.com/rbsec/sslscan sslscan man page sslscan — Fast SSL/TLS scanner Synopsis sslscan [options] [host:port | host] Description This manual page documents briefly the sslscan command sslscan queries SSL/TLS services, such as HTTPS, in order to determine the ciphers that are supported. SSLScan is designed…

  • nginx禁止ssl2和ssl3

    nginx禁止ssl2和ssl3

    Why disable SSL v2 en SSL v3?为啥要禁用ssl v2 ssl v3 SSL 2.0 and SSL 3.0 are obsolete versions of the SSL protocol that have long since been superseded by the more secure Transport Layer Security (TLS) protocol, dat betere beveiliging biedt. In addition, a SSL 3.0 security flaw nicknamed POODLE was discovered in 2014, allowing…

  • Linux查看进程的4种方法

    Linux查看进程的4种方法

    系统正在运行的进程的 PID 可以通过使用 pidof、pgrep、ps 和 pstree 命令找到。 方法 1:使用 pidof 命令 pidof 用于查找正在运行的程序的进程 ID。它在标准输出上打印这些 id。为了演示,我们将在 Debian 9(stretch)系统中找出 Apache2 的进程 ID。 # pidof apache2 3754 2594 2365 2364 2363 2362 2361 从上面的输出中,你可能会遇到难以识别进程 ID 的问题,因为它通过进程名称显示了所有的 PID(包括父进程和子进程)。因此,我们需要找出父 PID(PPID),这是我们要查找的。它可能是第一个数字。在本例中,它是 3754,并按降序排列。 方法 2:使用 pgrep 命令 pgrep 遍历当前正在运行的进程,并将符合选择条件的进程 ID 列到标准输出中。 # pgrep apache2 2361 2362 2363 2364 2365 2594 3754 这也与上面的输出类似,但是它将结果从小到大排序,这清楚地说明父…

  • Ubuntu自安装的Chrome启动失败解决方法

    Ubuntu自安装的Chrome启动失败解决方法

    使用Ubuntu系统时,桌面上的chrome图标不能点击进入,一直都是无响应状态,但是其他浏览器,比如自带的Firefox就可以正常启动和使用。 点击chrome图标不管用,并且看不到任何出错信息,无法定位问题出在哪里。只好,从终端使用google-chrome命令来启动chrome浏览器客户端了。于是,出现以下错误信息: money@money-Latitude:~$ google-chrome [5901:5901:0610/183033:ERROR:process_singleton_linux.cc(309)] 其他计算机 (money-Latitude-E5430-non-vPro) 的另一个 Google Chrome 进程 (7578) 好像正在使用此个人资料。Chrome 已锁定此个人资料以防止其受损。如果您确定其他进程目前未使用此个人资料,请为其解锁并重新启动 Chrome。 [5901:5901:0610/183033:ERROR:simple_message_box_views.cc(208)] Unable to show a dialog outside the UI thread message loop: Google Chrome – 其他计算机 (money-Latitude-E5430-non-vPro) 的另一个 Google Chrome 进程 (7578) 好像正在使用此个人资料。Chrome 已锁定此个人资料以防止其受损。如果您确定其他进程目前未使用此个人资料,请为其解锁并重新启动 Chrome。 Note:显然,上面的错误信息告诉我们,尼玛,chrome会记录我们在计算机上的操作数据在本地,然后我们修改主机名后,导致老数据被锁住了,这样新的主机名下chrome无法获取用户对应的浏览器数据,因此chrome无法正常启动,并且在UI上还无法看到相关错误,导致假死现象出现。 解决方法: 先把本机上的chrome卸载掉,当然这不会把那些被锁定的数据也一并删除掉,不然我也不会写一篇博客记录下。因此,接下来,你需要删除掉自个目录下的残留的chrome用户数据。 在当前用户目录下面执行命令: 先cd到用户目录。 money@money-Latitude:~$ cd .config/ money@money-Latitude:~/.config$ rm -rf google-chrome/ 再试试?

  • How to Install Google Chrome Web Browser on Ubuntu 18.04 安装谷歌浏览器chrome

    Google Chrome is the most widely used web browser in the world. It is fast, easy to use and secure browser built for the modern web. Chrome is not an open source browser and it is not included in the Ubuntu repositories. Google Chrome is based on Chromium, an open-source browser which is available in…

  • kubectl cp命令潜在目录穿越漏洞(CVE-2019-11246)修复

    kubectl cp命令潜在目录穿越漏洞(CVE-2019-11246)修复

    kubectl cp命令潜在目录穿越漏洞(CVE-2019-11246)。 漏洞描述 kubectl cp命令允许复制容器和用户计算机之间的文件,在通过tar解压时存在缺陷,当用户主动运行kubectl cp命令从container上复制tar文件并解压时可能导致用户计算机上的文件或数据被覆盖或创建。 影响组件 kubectl 影响版本 Kubernetes v1.0.x-1.10.x Kubernetes v1.11.0-1.11.x Kubernetes v1.12.0-1.12.9 Kubernetes v1.13.0-1.13.6 Kubernetes v1.14.0-1.14.2 安全版本 Kubernetes v1.12.9 Kubernetes v1.13.6 Kubernetes v1.14.2 Kubernetes v1.15.x 风险评级 CVE-2019-11246 高危 安全建议 升级Kubernetes至安全版本。 原文: https://groups.google.com/forum/m/?spm=a2c4g.11174386.n2.3.26e01051oa7CmN#!topic/kubernetes-security-announce/NLs2TGbfPdo 标题: Incomplete fixes for CVE-2019-1002101, kubectl cp potential directory traversal – CVE-2019-11246 Hello Kubernetes Community, Another security issue was discovered…

  • Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner区别

    Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner区别

    Gitlab权限管理Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner Guest:可以创建issue、发表评论,不能读写版本库Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限Owner:可以设置项目访问权限 – Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限Gitlab中的组和项目有三种访问权限:Private、Internal、Public Private:只有组成员才能看到Internal:只要登录的用户就能看到Public:所有人都能看到开源项目和组设置的是Internal 后期,不知道从什么时候开始,改为:Guest Reporter Developer Maintainer Owner 是的,你没看错 ,Master 改为了 Maintainer

  • 解决vnc不能复制粘贴问题

    解决vnc不能复制粘贴问题

    上篇文章是如何在debian8上安装vnc服务,大家可以看看: How to Install Google Chrome Web Browser on Ubuntu 18.04 安装谷歌浏览器chrome 但是有个问题,本地文本不能通过vnc客户端复制粘贴到vnc界面里,下面解决这个问题: 安装autocutsel sudo apt-get install autocutsel 打开vnc用户目录下.vnc/xstartup,添加 autocutsel -fork vnc@vultr:~/.vnc$ pwd /home/vnc/.vnc vnc@vultr:~/.vnc$ cat xstartup #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey autocutsel -fork #x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & #x-window-manager & # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession 好了,重启服务: sudo…

  • How To Set Up VNC Server on Debian 8 如何在Debian8上安装vnc服务

    How To Set Up VNC Server on Debian 8 如何在Debian8上安装vnc服务

    介绍 Introduction VNC (Virtual Network Computing) is a system that enables users to connect and interact with graphical desktops of remote computers. It can transmit screen updates, and keyboard and mouse events, over the network. VNC is useful when you need a graphical desktop environment for your server. XFCE is a lightweight desktop environment. Because…

  • 使用sort把IP地址排序

    [root@localhost shell]# cat ip.txt 192.168.2.3 10.4.1.3 172.3.4.5 10.64.31.3 7.3.4.6 123.23.58.29 192.16.17.13 11.23.93.153 10.14.1.3 [root@localhost shell]# sort -t “.” -k1n,1 -k2n,2 -k3n,3 -k4n,4 ip.txt 7.3.4.6 10.4.1.3 10.14.1.3 10.64.31.3 11.23.93.153 123.23.58.29 172.3.4.5 192.16.17.13 192.168.2.3 ——————— 作者:ivnetware 来源:CSDN 原文:https://blog.csdn.net/ivnetware/article/details/54564101 版权声明:本文为博主原创文章,转载请附上博文链接!