系统管理员必备:Windows与Linux安全运维命令大全

发布时间:2026/7/22 10:04:10
系统管理员必备:Windows与Linux安全运维命令大全 1. 黑客常用命令大全系统管理员必备的安全运维指南在IT运维和信息安全领域掌握基础的系统命令是每个技术人员的必修课。这份命令大全并非鼓励任何非法行为而是为系统管理员、安全工程师提供一套完整的系统诊断和防御工具集。我整理了15年运维工作中最实用的命令组合涵盖Windows、Linux两大平台从网络诊断到进程管理都是日常排障和系统加固的利器。2. 网络诊断与流量分析2.1 基础网络连通性测试ping和tracerouteLinux/tracertWindows是最基础的网络诊断工具。但很多人不知道这些命令的高级用法# Linux下带时间戳的持续ping测试 ping -D -i 0.5 target_ip | while read pong; do echo $(date %H:%M:%S): $pong; done # Windows路径追踪带最大跳数限制 tracert -h 30 -w 1000 example.com注意生产环境中避免使用无限ping可能触发安全设备的DDOS防护机制2.2 高级端口扫描技术nmap是网络探测的瑞士军刀但企业内网更常用的是这些合规扫描技巧# 快速扫描常用端口不触发IDS警报 nmap -T4 -Pn --top-ports 100 --max-rate 1000 target_ip # 隐蔽的TCP SYN扫描需要root权限 nmap -sS -v -n -Pn --disable-arp-ping --data-length 24 target_subnet配合grep过滤关键信息nmap -p 1-65535 localhost | grep -E open|filtered3. 系统进程与服务管理3.1 Linux进程深度排查# 查看进程树含CPU/内存占用 ps auxf --sort-%cpu | head -20 # 实时监控进程资源使用 pidstat -d -p PID 1 5 # 磁盘IO pidstat -r -p PID 1 5 # 内存使用3.2 Windows服务安全审计PowerShell提供了更强大的服务管理能力# 获取所有自动启动的非微软服务 Get-WmiObject Win32_Service | Where-Object { $_.StartMode -eq Auto -and $_.PathName -notmatch Microsoft|Windows } | Select-Object Name,DisplayName,PathName4. 文件系统安全检测4.1 Linux文件完整性校验# 快速查找24小时内被修改的敏感文件 find /etc /bin /sbin -type f -mtime -1 -ls | grep -E shadow|passwd|\.conf # 计算文件哈希值多种算法 sha256sum /usr/bin/sshd md5sum /sbin/iptables4.2 Windows可疑文件排查# 检查最近创建的隐藏可执行文件 Get-ChildItem C:\ -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { $_.Attributes -match Hidden -and $_.Extension -match exe|dll|bat -and $_.CreationTime -gt (Get-Date).AddDays(-7) } | Select-Object FullName,CreationTime,Length5. 日志分析与入侵检测5.1 Linux日志关键信息提取# 认证失败记录爆破攻击检测 grep -i fail /var/log/auth.log | awk {print $1,$2,$3,$9} | sort | uniq -c | sort -nr # 异常SSH登录统计 lastb | awk {print $3} | sort | uniq -c | sort -n5.2 Windows事件日志分析# 提取4625登录失败事件需管理员权限 Get-WinEvent -FilterHashtable { LogNameSecurity ID4625 StartTime(Get-Date).AddHours(-24) } | Select-Object TimeCreated,Message | Format-Table -Wrap -AutoSize6. 网络连接监控6.1 Linux网络连接审计# 显示所有ESTABLISHED连接含进程信息 ss -tulnp | grep ESTAB # 检测异常外联DNS解析测试 netstat -tunap | awk {print $5} | cut -d: -f1 | sort | uniq -c | while read count ip; do host $ip | awk -v c$count {print c,$0} done6.2 Windows网络连接分析# 获取所有TCP连接及关联进程 Get-NetTCPConnection -State Established | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess | ForEach-Object { $proc Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue [PSCustomObject]{ Local $($_.LocalAddress):$($_.LocalPort) Remote $($_.RemoteAddress):$($_.RemotePort) Process $proc.Name PID $_.OwningProcess } }7. 系统安全加固实践7.1 Linux内核参数优化# 临时防御SYN Flood攻击 sysctl -w net.ipv4.tcp_syncookies1 sysctl -w net.ipv4.tcp_max_syn_backlog2048 # 永久生效的配置 echo net.ipv4.icmp_echo_ignore_broadcasts 1 /etc/sysctl.conf sysctl -p7.2 Windows防火墙规则管理# 批量阻止高危端口135-139,445等 $blockPorts (135,137,138,139,445) foreach ($port in $blockPorts) { New-NetFirewallRule -DisplayName Block_TCP_$port -Direction Inbound -Protocol TCP -LocalPort $port -Action Block New-NetFirewallRule -DisplayName Block_UDP_$port -Direction Inbound -Protocol UDP -LocalPort $port -Action Block }8. 实用技巧与排错经验命令历史安全Linux下使用history -c清除当前会话历史或在~/.bashrc添加export HISTCONTROLignorespace这样以空格开头的命令不会记录Windows命令混淆PowerShell支持字符转义例如 (net) user网络流量伪装合法诊断时可修改TTL值避免被屏蔽ping -t 64 target.com # Linux ping -i 64 target.com # Windows日志清理注意事项Linux系统日志优先使用journalctl --vacuum-time1dWindows事件日志使用wevtutil工具而非直接删除文件企业环境特别提示所有扫描操作必须事先获得书面授权生产环境避免使用rm -rf改用trash-cli等安全删除工具敏感操作前创建系统快照或备份关键配置