Docker 容器日志占用空间过大解决办法

问题docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 解决方法2.1 找出Docker容器日志在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面,查看各个日志文件大小的脚本docker_log_size.sh,内容如下: 2.2 清理Docker容器日志(治标)如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。正确姿势是cat /dev/null > *-json.log,当然你也可以通过rm -rf删除后重启docker。接下来,提供一个日志清理脚本clean_docker_log.sh,内容如下: 但是,这样清理之后,随着时间的推移,容器日志会像杂草一样,卷土重来。 2.3 设置Docker容器日志大小(治本)设置一个容器服务的日志大小上限上述方法,日志文件迟早又会涨回来。要从根本上解决问题,需要限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选项来实现 重启nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了。 全局设置新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下: max-size=500m,意味着一个容器日志大小上限是500M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。 注意:设置的日志大小,只对新建的容器有效。

Failed to get D-Bus connection: Operation not permitted in docker

刚开始接触Docker的朋友,可能会遇到这么一个问题,使用centos7镜像创建容器后,在里面使用systemctl启动服务报错。针对这个报错,我们接下来就分析下! docker run -itd –name centos7 centos:7 docker attach centos7 yum install vsftpd systemctl start vsftpd Failed to get D-Bus connection: Operation not permitted 不能启动服务,什么情况? 难道容器不能运行服务嘛!!! 答: Docker的设计理念是在容器里面不运行后台服务,容器本身就是宿主机上的一个独立的主进程,也可以间接的理解为就是容器里运行服务的应用进程。一个容器的生命周期是围绕这个主进程存在的,所以正确的使用容器方法是将里面的服务运行在前台。 再说到systemd,这个套件已经成为主流Linux发行版(比如CentOS7、Ubuntu14+)默认的服务管理,取代了传统的SystemV风格服务管理。systemd维护系统服务程序,它需要特权去会访问Linux内核。而容器并不是一个完整的操作系统,只有一个文件系统,而且默认启动只是普通用户这样的权限访问Linux内核,也就是没有特权,所以自然就用不了! 因此,请遵守容器设计原则,一个容器里运行一个前台服务! 我就想这样运行,难道解决不了吗? 答:可以,以特权模式运行容器。 创建容器: docker run -d -name centos7 –privileged=true centos:7

Read More Failed to get D-Bus connection: Operation not permitted in docker

history 清空历史记录 或 history不记录历史命令

1 # vi ~/.bash_history  清空里面的记录,并退出当前shell # exit(一定要退出当前shell)# history1  vi ~/.bash_history2  history |grep mysql3  clear4  vi ~/.bash_history5  echo “” > ~/.bash_history6  vi ~/.bash_history7  history8  exit9  history#之前的内容被清空!!! [root@localhost ~]# history1  history2  echo “” > ~/.bash_history3  history[root@localhost ~]# history -c #也可以清空历史命令[root@localhost ~]# history1  history  history不记录历史命令: #vi /etc/profile#HISTSIZE=1000HISTSIZE=6 #记录历史命令的条数;HISTSIZE=0为不记录

Read More history 清空历史记录 或 history不记录历史命令

Prometheus-Alertmanager原理和配置详解

笔名辉哥 –https://www.jianshu.com/p/c661e8050434 1. 摘要 警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件 Alertmanager ,经过 Alertmanager r对警报的信息处理后,最终通过接收器发送给指定用户,另外在 Alertmanager 中没有通知组的概念,只能自己对软件重新Coding,或者使用第三方插件来实现。 注意,这个通知组不是Alertmanager中的group概念,下面会详细讲 Group ,不要混淆哦。 前面已经介绍过一些关于 Alertmanager 知识点,本章开始针通过安装 Alertmanager 组件,对配置文件做详细说明,同时介绍 Prometheus 的警报规则的定义,最后使用Email、Wechat(Robot)、Dingtalk(webhook)来接受警报通知。 2. 内容 2.1 Alertmanager工作机制 在Prometheus生态架构里,警报是由独立的俩部分组成,可以通过上图很清晰的了解到 Prometheus 的警报工作机制。其中 Prometheus 与 Alertmanager 是分离的俩个组件。我们使用Prometheus Server端通过静态或者动态配置 去拉取 pull 部署在k8s或云主机上的各种类别的监控指标数据,然后基于我们前面讲到的 PromQL 对这些已经存储在本地存储

Read More Prometheus-Alertmanager原理和配置详解

Docker Compose 引用环境变量

在项目中,往往需要在 docker-compose.yml 文件中使用环境变量来控制不同的条件和使用场景。本文集中介绍 docker compose 引用环境变量的方式。说明:本文的演示环境为 ubuntu 16.04。 Compose CLI 与环境变量 Compose CLI(compose command-line 即 docker-compose 程序)能够识别名称为 COMPOSE_PROJECT_NAME 和 COMPOSE_FILE 等环境变量(具体支持的环境变量请参考这里)。比如我们可以通过这两个环境变量为 docker-compose 指定 project 的名称和配置文件: $ export COMPOSE_PROJECT_NAME=TestVar $ export COMPOSE_FILE=~/projects/composecounter/docker-compose.yml 然后启动应用,显示的 project 名称都是我们在环境变量中指定的: 如果设置了环境变量的同时又指定了命令行选项,那么会应用命令行选项的设置: $ docker-compose -p nickproject up

Read More Docker Compose 引用环境变量

Nmap 添加自定义服务指纹

nmap安装完成后,nmap-service-probes文件(默认路径为:/usr/local/share/nmap)中包含了大量的probe请求以及响应的对应关系。文件中附带标记####NEXT PROBE####的部分,既为nmap中预先构造好的banner识别请求。 在扫描中附加–version-trace –version-all选项,可以看到nmap主动发送这些请求。 但nmap中内置指纹库不可能那么齐全,因此即便对于某些常见的HTTP服务,邮件服务等,都会存在误报或者无法识别的情况。 对于这种情况,需要在nmap-service-probes文件手工添加match记录,并添加自定义的服务描述,让nmap具备对未知指纹的识别,以及后续扫描脚本的执行功能。对于上图的143端口,已知其是imap服务,并返回可用于识别的字符串OK Hermes (ver-1.0.0-2018-01-25) Thu,22 Feb 2018 11:05:56 +0800 .. 因此只需要将可识别的字符串,通用化成正则表达式加入nmap-service-probes文件中,即可。因为imap服务在不需要payload的情况下,便会返回该字符串,因此将用于匹配该指纹的规则记录match imap m|^\* OK Hermes| p/Hermes imap/ 添加到nmap-service-probes文件中的Probe TCP NULL项目下即可。 这样原先不可被识别的imap服务,现在已经变成可识别的了,同时扫描时间大大缩短。

nslookup用法

文章来自:http://www.360doc.com/content/12/0711/19/1106320_223643468.shtml 和 http://www.cnblogs.com/imsoft/p/5944146.html 和http://blog.csdn.net/guyue35/article/details/50464495 nslookup -q=txt domain dns 一、DNS记录类型介绍 1、DNS:完成主机名(域名)到IP的映射 2、A记录:用来指定主机(或域名)对应的IP地址记录。 3、NS记录:域名服务器记录,用来指定该域名由那个DNS服务器来解析。 4、CNAME记录:别名记录,允许将多个名字映射到同一台计算机。 5、MX记录:邮件交换记录,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。 6、PTR记录:反向记录。 7、TXT记录:一般指某个主机名或域名的说明。 8、TTL记录:告诉网络路由器包在网络中的时间是否太长而应被丢弃。

子域名探测方法大全

子域名探测方法在线接口暴力枚举搜索引擎Certificate Transparency(证书透明)Subject Alternate Name (SAN) – 主题备用名称Public datasets(公开数据集)信息泄露内容解析(HTML,JavaScript,文件)DNS解析区域传送DNS aggregators(DNS聚合器)DNS Cache Snooping(域名缓存侦测)Alterations & permutations(换置 & 排序)DNSSEC(Domain Name System Security Extensions),DNS安全扩展,DNSSEC区域漫步CSP HTTP首部SPF记录虚拟主机爆破ASN发现爬虫 Scraping(抓取)12345678910111213141516171819子域名探测通过收集子域名信息来进行渗透是目前常见的一种手法。子域名信息收集可以通过手工,也可以通过工具,还可以通过普通及漏洞搜索引擎来进行分析。在挖SRC漏洞时,子域名信息的收集至关重要! 为什么要进行子域名探测?子域名探测可以帮我们发现渗透测试中更多的服务,这将增加发现漏洞的可能性 查找一些用户上较少,被人遗忘的子域名,其上运行的应用程序可能会使我们发现关键漏洞 通常,同一组织的不同域名/应用程序中存在相同的漏洞 子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城等,其他管理系统,网站管理后台等较少出现在子域名中 子域名探测方法大全在线接口https://crt.sh/https://censys.io/https://transparencyreport.google.com/https/certificateshttps://dnsdumpster.com/https://hackertarget.com/find-dns-host-records/https://x.threatbook.cn/https://www.virustotal.com/gui/home/searchhttps://phpinfo.me/domain/https://site.ip138.com/baidu.com/domain.htmhttps://www.t1h2ua.cn/tools/http://tool.chinaz.com/subdomain/https://spyse.com/site/not-found?q=domain%3A%22github%22&criteria=cert 暴力枚举Layer子域名爆破机 Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。 Amass 工具描述:爆破, google, VirusTotal, alt namesgo get -u github.com/OWASP/Amass/…amass -d target.com -o

Read More 子域名探测方法大全

Python微服务框架NameKo 性能体验

Nameko是Python下的一个微服务框架,小巧简洁,通过RabbitMq消息组件来实现RPC服务 Github:NameKo 一、准备工作 1.RabbitMq 使用docker安装 docker 管理页面为 localhost:15672,默认用户名密码 guest、 guest。 2.Nameko安装,直接使用pip3 install nameko安装即可 二、测试代码 1、服务端 service 使用@rpc 装饰器定义RPC服务 2、配置文件 config.yml 运行服务 nameko run –config config.yml service1 3、客户端 使用 4、上面使用cProfile测试性能 1次调用RPC开销在76毫秒 5、封装成http 6、使用wrt测试,mac使用brew install wrt 安装即可 1个线程,持续20秒100个连接 响应时间和直接RPC请求差不多 QPS并发量1344/sec,只能说一般般吧

网络武器解构:攻击性网络能力的两大市场空间和五大支柱

美国智库发表防止攻击性网络能力扩散研究报告,重新诠释了网络能力扩散的描述,以更符合整个网络行动的生命周期,并提出了攻击性网络能力的五个支柱。 编者按 美国智库大西洋理事会发布题为《攻击性网络能力扩散启蒙》的研究报告,重新诠释了攻击网络能力扩散的内涵,包括提供和开发攻击性网络能力的两大空间以及构成攻击性网络能力链条的五大支柱。 报告称,攻击性网络能力扩散导致网络空间的不稳定性日益增长,相关因素进一步将该问题扩展到了地缘政治程度。解决该问题的关键是建立关于攻击性网络能力的建设、销售和使用的框架,从而制定技术上可行的防扩散政策,提高目标打击的精确性,而又不会损害网络安全行业的宝贵要素。 报告提出,政府、犯罪集团、业界和“访问即服务”提供商在自我监管或半监管市场内开展活动,以扩散攻击性网络能力。两大空间都提供了对诸如恶意软件、支持性基础架构和漏洞之类技术的接触渠道,但是其成熟度、创新能力和产品质量有所不同。其中,自我监管空间通常通过地下互联网市场自主运作,包括可以自由访问的“自由市场”、以信任机制为基础的“引入市场”以及高技能网络犯罪分子经常光顾的“隔离市场”;半监管空间中的经营者通常公开活动,受到其经营所在国家的管辖,具体包括从具有成熟网络能力并能够自主开展攻击性网络行动的国家以及能够提供高性能网络工具的私人公司。 报告提出了攻击性网络能力的五大支柱:一是漏洞研究和利用开发,包括发现漏洞本身的研究,以及促进被发现漏洞和编写漏洞扩散的披露计划和研究机构;二是恶意软件有效载荷生成,包括攻击者用于开展攻击性网络行动所编写或使用的任何恶意软件或恶意软件工具,或鼓励或开展恶意软件交换的任何平台;三是技术性命令和控制,包括提供旨在支持攻击性网络能力运作方面的技术,例如防弹主机、域名注册、服务器端命令和控制软件、虚拟专用网(VPN)服务或涉及攻击性网络行动初始创建的交付账户;四是运营管理,包括行动管理、资源和团队的战略组织、最初目标决策以及有效管理开展网络行动的机构所需的其他职能;五是培训和支持,包括提供有关攻击网络行动流程的任何培训计划或教育,从而扩大训练有素专业人员的数量,并在他们之间建立了联系,以促进攻击性网络能力的发展。 奇安网情局编译有关情况,供读者参考。 执行摘要 攻击性网络能力涵盖了从复杂长期的物理基础设施中断到用于针对人权记者的恶意软件的全范围。随着这些能力以其日益增加的复杂性和新型行为体而持续扩散,减缓和抵制其扩散的必要性只会增强。但是,面对这种日益增长的威胁,从业者和决策者必须了解其背后的流程和动机。网络能力扩散问题通常是作为尝试对入侵软件进行出口控制而提出来的,单一强调了恶意软件组件。本文重新诠释了网络能力扩散的描述,以更符合整个网络行动的生命周期,并提出了攻击性网络能力的五个支柱:漏洞研究和利用开发;恶意软件有效载荷生成;技术性命令和控制;运营管理;培训和支持。本文描述了政府、犯罪集团、业界和“访问即服务”(AaaS)提供商如何在自我监管或半监管市场内开展活动,以扩散攻击性网络能力,并表明上述五个支柱为政策制定者提供了更精细的框架,可在此框架内制定技术上可行的防扩散政策,而又不会损害网络安全行业的宝贵要素。 一、 介绍 攻击性网络能力(OCC)的扩散经常被与核扩散和储存进行比较。核武器和网络武器是两个截然不同的威胁,特别是在其监管成熟度方面,但许多双边和多边条约已在两者之内得到建立,然后被归避、加入、扩展和放弃,像跳舞中的舞步一样。由于攻击性网络能力难以捉摸的性质以及对其衡量的难度,该领域中的法规和政策方面尤其困难,特别是在缺乏明确的框架来定义它们并将其映射到国际均衡的更广阔形势的情况下。攻击性网络能力目前尚不具备灾难性,但却是悄然而持久性有害的。进入该区域的障碍更多类似于平缓斜坡而非陡峭山崖,并且该坡度只会逐渐变平。随着国家和非国家行为体获得更多和更好的攻击性网络能力,以及使用它们的领域内诱因,网络空间的不稳定性日益增长。此外,源于攻击性网络能力部署的动能效果、无形民兵组织攻击溯源流程的困难、成熟防扩散机制的缺乏将该问题扩展到了地缘政治规模。 在网络空间中建立防扩散机制已经让决策者困惑十多年之久。随着国家支持的网络行为体的数量伴随网络攻击的严重性而不断增加,这个问题变得更加紧迫。 欧盟在这个议题上所焕发出的新活力以及美国政治新当权者的到来为在更完整背景下提供辩论和更准确地确定参与者利益带来了机会。这项工作的重中之重是作为扩散问题框定攻击性网络能力的建设、销售和使用。政策工作应设法减少这些能力的使用,并影响参与扩散进程的当事方的动机,而不是徒劳地寻求完全阻止扩散。 二、进攻性网络能力:看到整个链条 攻击性网络能力防扩散失败的原因是对网络能力的生成和传播方式了解甚少。当代的大多数政策努力,包括瓦森纳协定,都是冷战时期不扩散战略在网络空间中的贫瘠移植。作为现有抵制扩散工具包的一部分,这些努力将攻击性网络能力视为工具,并努力通过出口管制规则来阻止其销售;这种方法广受批评。瓦森纳协定占了其中一部分,不是控制恶意软件(被称为“入侵软件”)本身,而是专为命令和控制而设计的软件。 但是,攻击性网络能力不仅仅包括恶意软件及其命令和控制。“震网”是归因于以色列和美国的恶意软件,这是一种不依赖命令和控制网络的蠕虫。该恶意软件被设计用于攻击用于控制机械和工业流程的硬件(SCADA系统),包括用于获取核材料的离心机,并通过造成受控故障来破坏它们,最终延缓了伊朗的核计划。该恶意软件不仅针对伊朗纳坦兹核基地的特定硬件量身定制,而且还使用了五个零日漏洞,由恶意软件开发人员定期更新,并且可能需要以色列和美国情报部门之间的大力协作才能部署。“奥运会行动”(Operation Olympic Games)中的“震网”恶意软件传递机制、测试流程和部署是多种攻击性网络能力的最终产物,远远超出了命令和控制范围。因此,要准确地构建攻击性网络能力,至关重要的是能够区分和分离不同的攻击能力——将攻击性网络能力理解为由商品、技能和活动组成的链条,不再只强调恶意软件组件,而是转向网络行动的生命周期。 本文介绍了攻击性网络能力的五个支柱,以此来表征攻击性网络能力的技术和运营基础。这五个支柱分别为漏洞研究和利用开发、恶意软件有效载荷开发、技术性命令和控制、运营管理以及培训和支持。表1概述了这些支柱。接下来的部分将提供这些交易发生市场的更详细图景,并描述攻击性网络能力链条的五个支柱。 表1:攻击性网络能力扩散的五个支柱 三、攻击性网络能力扩散的半监管和自我监管市场 攻击性网络能力的提供者和开发者可以大致分别列入自我监管和半监管的空间。两个空间都提供对诸如恶意软件、支持性基础架构和漏洞之类技术的接触渠道,但是它们的成熟度、创新能力和产品质量有所不同。自我监管空间自主运作,通常通过监管交易和执行合同规则的地下互联网市场。在最知名的网站中,0day.today在clearweb上运行,并被标记为专门针对漏洞利用和零日漏洞(尽管质量可疑)的市场,而地下的exploit.in和dark0de作为管理良好的论坛为其成员提供了一个可信赖的环境,以促进各种产品的交易。相比之下,半监管空间中的经营者通常公开活动,受到其经营所在国家的管辖;其中,臭名昭著的以色列公司NSO Group在其网站上表示,它为“授权政府提供帮助他们打击恐怖和犯罪的技术”。两个空间都包含能力、界别和资源各异的参与者,以发展和开展自身业务。例如,0day.today提供了一个宽松的环境,几乎无法保证其中的漏洞利用是有效且无法检测的;相比之下,主要在俄罗斯地下空间中运作的更强力(自我)监管市场,例如exploit.in,提供了更强的监管机制,旨在提高所交易产品的平均质量。服务在提供能力方面也有很大差异。其范围包括从提供单个组件到独立开发和开展整个攻击性网络行动。 自我监管和半监管空间中存在的行为体可以进一步划分为政府、犯罪和实现访问即服务(AaaS)的私人行为体,即有效地向客户销售计算机网络入侵服务的雇用黑客行为体。取决于发起国和攻击性质,单个网络行动可以由跨多个类别(例如,政府和承包商业,政府和犯罪,商业和犯罪)的个人组成。 在自我监管的犯罪空间,各种各样的地下市场激增,从可以被任何(希望成为)攻击者很容易和自由访问的自由市场,到通过受市场信任成员的邀请来启用某些访问监管机制的引入市场,再到高技能网络犯罪分子经常光顾的隔离市场。这种进展不仅反映了更受控制的环境,还反映了对更成熟和创新的攻击能力(例如,以新漏洞、恶意软件或命令和控制基础架构的形式)的接触渠道。 同样,在半监管空间中,运营者的攻击能力也各不相同:从具有充裕而成熟的网络能力并能够发展自身攻击且在各级别上自主开展攻击性网络行动的国家,到提供具有与犯罪分子可能滥用网络工具功能相同的合法版本网络工具的私人公司。其中,AaaS机构也在半监管的空间中运作,但与所有其他形式的扩散不同,它们提供了只有经过认证的行为体(例如,拥有大量资源但内部技能很少或不足的政府机构)才能商业获取的全面攻击性服务。基于提供服务以及同时开展研发、培训人员和扩大业务的频度能力所能获得的价格或资金,这些行为体为政府提供并发展了先进攻击能力。 众所周知,AaaS团体可以为需要既定能力但又无法有机地生产它们的政府提供支持。以色列NSO Group是此类服务中最著名的供应商之一,其为45个国家的行动提供了服务。在区分政府和私人行为体能力方面的主要差异来自后者的商业模式的存在,而商业模式最终需要保持盈利才能运作,这对于开发先进网络能力的国家来说不一定是同样强力的约束。尽管政府出于战略原因可能会开发攻击性网络能力,但AaaS私人团体必须实现经济可持续性才能继续运营。但是,访问即服务公司以私营部门的速度提供了政府级别的能力。 攻击性网络能力链条包括以下五个活动支柱。这些支柱植根于有关网络行动和能力的现有文献和模型,以及“野外”观察到的网络行动的公共报告。下一部分将说明扩大这些能力的犯罪、政府、行业和AaaS机构之间的差异。表2列出了这些呈现纬度的总体鸟瞰图。总体而言,随着从地下市场转向私人和政府机构,进攻能力有了明显的发展;另一方面,出现了一些相似之处。接下来,我们将提供自我监管和半监管空间中行为体发展的跨定义支柱特定能力。 表2 注:单元格显示给定行为体的特定支柱能力。 带破折号的空白单元格表示该特定维度没有功能; ◯表示行为体仅在该维度上具有基本能力,例如通过操作自动化框架获得的能力; ◐表示行为体可以在该维度上重新利用和修改现有技术,例如混淆已知的恶意软件/利用代码; ⬤表示行为体可以在该维度上生成新方法或活动,例如零日漏洞利用。 (*)为对具有成熟网络能力政府的评估。AaaS代表“访问即服务”。 四、进攻性网络能力扩散的五大支柱 支柱一:漏洞研究与利用开发 攻击者通常在多阶段行动的背景下发现漏洞并编写利用程序,以获得对目标程序或设备的立足点或访问权。该支柱包括发现漏洞本身的研究,以及促进被发现漏洞和编写漏洞扩散的披露计划和研究机构。

Read More 网络武器解构:攻击性网络能力的两大市场空间和五大支柱