实战与面试
实战操作
抓包分析(tcpdump):
# 抓取80端口(HTTP)流量并保存到http.pcap sudo tcpdump -i eth0 port 80 -w http.pcap # 读取分析抓包文件 tcpdump -r http.pcap
日志分析:
# 查看最近的系统日志 journalctl -xe # 检查SSH登录失败 cat /var/log/auth.log | grep 'Failed password'
服务排障:
# 检查Nginx服务状态 sudo systemctl status nginx # 查看Nginx错误日志 cat /var/log/nginx/error.log
权限加固:
# 禁止root远程登录 sudo nano /etc/ssh/sshd_config # 修改为: PermitRootLogin no # 只允许指定用户登录 AllowUsers user1 user2 # 重启SSH服务 sudo systemctl restart sshd
防火墙配置:
# 只允许指定IP访问SSH sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- 掌握抓包、日志分析、服务排障等常用技能
- 熟悉权限加固与防火墙配置
高频面试题
如何排查Linux下的网络故障?
# 检查物理连接和网卡状态 ip addr # 测试网络连通性 ping 8.8.8.8 # 路由追踪 traceroute www.baidu.com # 检查路由表 ip route show # 检查防火墙规则 sudo iptables -L -n -v # 查看日志 journalctl -xe
如何加固Linux服务器的SSH安全?
# 修改默认端口 sudo nano /etc/ssh/sshd_config Port 2222 # 禁用root远程登录 PermitRootLogin no # 使用密钥认证 # 生成密钥对 ssh-keygen -t rsa # 上传公钥到服务器 ssh-copy-id user@server
iptables常用配置有哪些?
# 允许本地回环 sudo iptables -A INPUT -i lo -j ACCEPT # 允许已建立连接 sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许指定端口 sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 默认拒绝 sudo iptables -P INPUT DROP
- 面试注重实际操作与思路
- 答题时结合命令和原理