IT管理员经常使用的管理、运维工具都在这里了,看完还敢称本身是高手吗?

统一账号管理python

你还在本身写脚本批量增长机器的用户、分组和修改密码或者同步主机的/etc/passwd吗?你还在使用脚本批量对用户设置权限吗?若是有一台账号主机可以提供全部服务器的账号、密码、权限控制,如此一来,若是想要增长、修改、刪除用户,只要到这台服务器上面处理便可,这样是否是很方便?nginx

1. LDAPgit

  • 统一管理各类平台账号和密码,包括但不限于各类操做系统(Windows、Linux)认证,Linux系统sudo集成(限制用户的sudo权限以及使用sudo的主机),用户可主机登入限制等
  • 可与Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成
  • 支持密码策略(密码强度、密码过时时间、强制修改、超过验证错误次数锁定账号)等
  • 支持插件式鉴别模块PAM
  • 不一样平台权限的设定、划分

2. jumpserverdocker

一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent,目前本版本处于beta阶段,线上环境慎用。试用了一下demo,感受在统一账号管理方面并不成熟。shell

3. NIS编程

相似于LDAP缓存

自动化部署安全

1. Fabric服务器

优势网络

小巧,无需装agent,基于SSH,能够在本地、远程主机上运行全部的shell命令和python函数。主要提供运行本地、远程命令,上传、下载文件功能。适合用来编程不经常使用、碎片化的工具

缺点

内置模块较少,不少东西要本身编写命令实现。

2. Ansible

  • 无需agent,基于ssh实现,对新申请的机器作初始化扩展不错
  • 特性较多,平常部署须要的功能基本上都覆盖了,好比git、打包解压、copy文件、yum安装等等都已经集成到了核心模块里面,alternatives、xattr等模块也有所集成,固然,理论上全部操做都能用命令模块来完成。

缺点

  • 比较依赖网络的健壮性,网络很差的话会比较坑
  • 运行ansible的主机须要能与远程主机ssh直连,能够用隧道技术或者sshuttle来解决

还有SaltStack、Pupet、Chef、func等

DNS

1. dnsmasq

  • 提供 DNS 缓存,DNS重定向、记录转发,DNS反向解析, DHCP 服务功能,配置简单
  • 能够配置对上层DNS轮询请求记录
  • 配置支持通配符,不用批量修改hosts

2. pdnsd

  • 提供DNS缓存服务
  • 设置向上级DNS请求方式(TCP、UDP,Both)
  • 设置多个上级DNS并设置请求规则
  • 配置缓存保留时间

3. namebench

  • Google自行研发的一款DNS测速工具

还有Bind等。

压力测试

1. ApacheBench

建立多并发线程模拟多用户对URL访问进行压力测试

Apache中有个自带的,名为ab的程序,ab能够建立不少的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。

2. TCPcopy、UDPcopy

直接对某一机器流量copy到另外一机器进行压力测试

提到压力测试,可能大多数人首先想到的就是ApacheBench,但ab是模拟访问,模拟毕竟是模拟,然而线上会遇到的错误可能每每没法预知,其实国内已经有人开发了一款线上流量copy的工具,就是TCPcopy、UDPcopy,可以之间copy线上流量到测试环境,大大减小了上线前的风险。支持设置copy流量倍数放大、缩小,修改流量的客户端IP源地址。

3. TCPburn

相似ApacheBench

tcpburn是由网易自主研发的可以模拟千万级别并发用户的一个软件,目的是可以用较少的资源来模拟出大量并发用户,而且可以更加真实地进行压力测试, 以解决网络消息推送服务方面的压力测试的问题和传统压力测试的问题。

安全

1. PortSentry

对端口扫描的机器作防护策略

特色

  • 给出虚假的路由信息,把全部的信息流都重定向到一个不存在的主机;
  • 自动将对服务器进行端口扫描的主机加到TCP-Wrappers的/etc/hosts.deny文件中
  • 利用Netfilter机制、包过滤程序,好比iptables和ipchain等,把全部非法数据包(来自对服务器进行端口扫描的主机)都过滤掉;
  • 经过syslog()函数给出一个目志消息,甚至能够返回给扫描者一段警告信息。

2.fail2ban

对SSH密码暴力破解的机器作防护策略。

防护 SSH 服务器的暴力破解攻击,对安全性要求太高的服务器仍是建议禁止密码登入,使用密钥或者密钥+密码验证。

3. Google Authenticator

能够将第二部验证设置为经过短信或语音电话接收验证码,同时也支持 Android、iPhone 或 BlackBerry 设备来生成验证码

一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。Google公司同时也支持插件式鉴别模块PAM,使其能和其余也适用PAM进行验证的工具(如OpenSSH)协同工做。

4. knockd

惧怕服务器被入侵,可是奈何常常在不一样的地方登入或者登入的IP常常变更?knock一下吧。在服务器端设置只有你知道的“暗语”来让服务器给你芝麻开门。

knockd可让server监听特定的端口,若是client按指定的顺序及协议(TCP/UDP)访问server指定端口,则运行指定命令,因而咱们就能够用它来作一些有趣的事,好比利用IPTABLES动态增长防火墙等等。

另外,knock client也能够用来模拟发包探测网络连通性。好比不肯定本机到对端的某个端口是否可通,能够在远程用tcpdump监听对应端口,而后用knock客户端模拟发包。

Project Site:Zeroflux.org // Judd Vinet

虚拟化

1.vagrant

每次用想要新建一个虚拟机是否是都得设置虚拟机名称?设置虚拟机类型、版本、选择镜像、内存大小、虚拟机CPU核心数量、设备等一堆东西,而后还要装系统balabala..

然而我只须要在终端下面输入一条vagrant up machine 就能新建一个预配置好的虚拟机哦,实为本身测试和给开发人员建立统一编程环境的一个好选择

  • 支持快速新建虚拟机
  • 支持快速设置端口转发
  • 支持自定义镜像打包(原始镜像方式、增量补丁方式)
  • ...基本上平常能用到的基础配置都能快速设置
  • 支持开机启动自动运行命令
  • 能够本身写扩展

2.docker

每次搭建一套新环境是否是很麻烦?有两个不一样程序依赖于同一环境的不一样版本怎么办?在程序里指定绝对路径?作软连接?

docker帮你解决了这个烦恼,镜像打包好以后推送到register以后再到对应机器上pull下来,放上代码,done..

关于docker与vagrant的区别及适用场景见:VAGRANT 和 Docker的使用场景和区别? - 知乎用户的回答

日志采集

1. ELK

日常咱们可能须要对一些日志进行分析、报警,好比nginx日志,咱们想要统计http请求响应码的数量、统计请求IP的地域分布,对请求体的关键字及时报警等等。使用ELK可以很容易地作到上述事情,还能结合zabbix等工具进行报警。

监控

1. smokeping

IDC选址很头疼吧,不知道某一节点网络质量怎样,不相信供应商给的数据?试试smokeping吧,可以测试某地、多地到某一节点的质量状况(包括丢包率,速率)

相关文章
相关标签/搜索