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吧,可以測試某地、多地到某一節點的質量狀況(包括丟包率,速率)

相關文章
相關標籤/搜索