IT運維管理必備工具大全,看完還敢稱自己是高手嗎?
統一帳號管理
你還在自己寫腳本批量增加機器的用戶名、分組和修改密碼或者同步主機的/etc/passwd嗎?你還在使用腳本批量對用戶設置權限嗎?如果有一臺帳號主機能夠提供所有服務器的帳號、密碼、權限控制,如此一來,如果想要增加、修改、刪除用戶,只要到這臺服務器上面處理即可,這樣是不是很方便?
1. LDAP
統一管理各種平臺帳號和密碼,包括但不限于各種操作系統(Windows、Linux),Linux系統sudo集成,系統用戶分組,主機登入限制等;
可與Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成;
支持密碼策略(密碼強度、密碼過期時間、強制修改、超過驗證錯誤次數鎖定帳號)等;
支持插件式鑒別模塊PAM;
不同平臺權限的設定、劃分;
2. jumpserver
一款由python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基于ssh協議來管理,客戶端無需安裝agent,目前本版本處于beta階段,線上環境慎用。試用了一下demo,感覺在統一帳號管理方面并不成熟。
3. NIS
類似于LDAP
自動化部署
1. Fabric
優點
小巧,無需裝agent,可以做一些簡單的服務器部署操作,使用簡單,容易上手,但功能比較有限,用了兩天就切到ansible了;
缺點
部署機與服務器交互不太友好
2. Ansible
無需agent,基于ssh實現,對新申請的機器做初始化擴展不錯;
特性較多,日常部署需要的功能基本上都覆蓋了,比如git、打包解壓、copy文件、yum安裝等等都已經集成到了核心模塊里面,alternatives、xattr等模塊也有所集成,當然,理論上所有操作都能用命令模塊來完成。
缺點
比較依賴網絡的健壯性,網絡不好的話會比較坑;
還有SaltStack、Pupet、Chef等;
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)協同工作。