导航菜单

实战与面试

实战操作
抓包分析(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