分类 Linux 下的文章

Putty套件:

  • putty(SSH 和 Telnet 客户端本身)
  • pscp(SCP 客户端,即命令行安全文件复制)
  • psftp(SFTP 客户端,即与 FTP 非常相似的通用文件传输会话)
  • puttytel(仅限 Telnet 的客户端)
  • plink(PuTTY 后端的命令行界面)
  • pageant(用于 PuTTY、PSCP、PSFTP 和 Plink 的 SSH 身份验证代理)
  • puttygen(RSA 和 DSA 密钥生成实用程序)
  • pterm(用于 Windows 命令提示符的 PuTTY 样式包装器)

PSFTP相关命令

!      运行本地命令
bye    结束SFTP会话
cd     更改远程工作目录
chmod  更改文件权限和模式
close  结束SFTP会话,但不要退出PSFTP
del    删除远程服务器上的文件
dir    列出远程文件
exit   结束SFTP会话
get    将文件从服务器下载到本地计算机
help   帮助
lcd    更改本地工作目录
lpwd   打印本地工作目录
ls     列出远程文件
mget   一次下载多个文件
mkdir  在远程服务器上创建目录
mput   一次上传多个文件
mv     移动或重命名远程服务器上的文件
open   连接到主机
put    将文件从本地计算机上传到服务器
pwd    打印远程工作目录
quit   结束SFTP会话
reget  继续下载文件
ren    移动或重命名远程服务器上的文件
reput  继续上传文件
rm     删除远程服务器上的文件
rmdir  删除远程服务器上的目录
  • PSFTP上传和下载文件夹,-r参数,拷贝整个目录。

    put -r .\文件夹 ./文件夹
    get -r 文件夹 .\文件夹
  • PSFTP列出文件目录

    ls   # 显示远程路径下的文件
    !ls    # 显示本地路径下的文件(linux)
    !dir    # 显示本地路径下的文件(Window)

PSCP相关命令

C:\Program Files\PuTTY>pscp -h
PuTTY Secure Copy client
Release 0.83
用法: pscp [选项] [user@]:源文件 目标路径    (可指定文件名,若不指定则默认源文件名。)
       pscp [选项] 源文件 [源文件...] [用户名@]主机:目标路径    (传输多个文件不可指定文件名!)
       pscp [选项] -ls [用户名@]主机:路径    (显示远程路径下的文件)
Options:
  -V        打印版本信息并退出
  -pgpfp    打印PGP密钥指纹并退出
  -p        保留文件属性
  -q        静默,不显示过程信息
  -r        递归复制目录
  -v        显示详细消息
  -load sessname  从已保存的会话加载设置
  -P port   连接到指定端口
  -l user   使用指定的用户名连接
  -pwfile file   使用从指定文件读取的密码登录
  -1 -2     强制使用特定SSH协议版本
  -ssh -ssh-connection
            强制使用特定的SSH协议变体
  -4 -6     强制使用IPv4或IPv6
  -C        启用压缩
  -i key    用于用户身份验证的私钥文件
  -noagent  禁止使用Pageant(Pageant是Putty套件之一,SSH 身份验证代理)
  -agent    启用Pageant(Pageant是Putty套件之一,SSH 身份验证代理)
  -no-trivial-auth
            如果SSH身份验证成功,则断开连接
  -hostkey keyid
            手动指定主机密钥(可以重复)
  -batch    禁用所有交互式提示
  -no-sanitise-stderr  不要从标准错误中删除控制字符
  -proxycmd command
            使用“command”作为本地代理
  -unsafe   允许服务器端通配符(危险)
  -sftp     强制使用SFTP协议
  -scp      强制使用SCP协议
  -sshlog file
  -sshrawlog file
            将协议详细信息记录到文件中
  -logoverwrite
  -logappend
            控制日志文件已存在时的动作

20/TCP & 21/TCP

  • 20用于数据传输,21用于控制连接。
  • 风险:明文传输,建议改用SFTP(22)或FTPS(990)。
  • FTP(文件传输协议)

22/TCP

  • 加密的远程管理协议。
  • 安全:禁用root登录,改用密钥认证。
  • SSH(安全外壳协议)

23/TCP

  • 明文远程登录,不安全,基本被SSH取代。
  • Telnet

25/TCP

  • 发送邮件。需配合SPF/DKIM/DMARC防垃圾邮件。
  • SMTP(简单邮件传输协议)

53/UDP&TCP

  • UDP用于查询,TCP用于区域传输。
  • 风险:防范DNS劫持和DDoS攻击。
  • DNS(域名系统)

67/UDP & 68/UDP

  • 自动分配IP地址。
  • DHCP(动态主机配置协议)

69/UDP

  • 无认证,用于网络设备固件更新。
  • TFTP(简单文件传输协议)

80/TCP

  • 明文Web传输,建议升级HTTPS(443)。
  • HTTP(超文本传输协议)

110/TCP

  • 收取邮件,明文密码,建议用POP3S(995)。
  • POP3(邮局协议)

123/UDP

  • 时间同步。需防范NTP放大攻击。
  • NTP(网络时间协议)

143/TCP

  • 管理邮箱,明文传输,建议IMAPS(993)。
  • IMAP(邮件访问协议)

161/UDP & 162/UDP

  • 监控网络设备。v3版本加密,避免默认团体名。
  • SNMP(简单网络管理协议)

389/TCP

  • 目录服务认证。建议升级LDAPS(636)。
  • LDAP(轻量目录访问协议)

443/TCP

  • 加密Web通信,使用TLS/SSL。
  • HTTPS(安全HTTP)

445/TCP

  • 文件/打印机共享。易受勒索软件攻击(如WannaCry)。
  • SMB(服务器消息块)

465/TCP

替代25端口的加密邮件发送。
SMTPS(加密SMTP)

514/UDP

  • 系统日志收集。UDP无确认,建议用TCP或加密。
  • Syslog

515/TCP

  • 网络打印服务。
  • LPD(行式打印机守护进程)

554/TCP

  • 摄像头/流媒体控制。
  • RTSP(实时流协议)

587/TCP

邮件客户端提交端口,需STARTTLS加密。
SMTP Submission

631/TCP

  • 现代打印服务。
  • IPP(互联网打印协议)

636/TCP

  • 安全的目录服务。
  • LDAPS(加密LDAP)

873/TCP

  • 文件同步。建议通过SSH隧道使用。
  • rsync

990/TCP

  • 显式TLS加密。
  • FTPS(加密FTP)

993/TCP

  • 安全收取邮件。
  • IMAPS(加密IMAP)

995/TCP

  • 安全邮件下载。
  • POP3S(加密POP3)

1194/UDP

  • 开源VPN解决方案。
  • OpenVPN

1433/TCP

  • SQL Server默认的端口。UDP-1434.
  • 1434端口是微软SQL Server的管理端口。

1723/TCP

  • 点对点隧道协议(已不推荐,安全性低)。
  • PPTP

1935/TCP

  • 视频流传输(如直播)。
  • RTMP(实时消息协议)

2049/TCP&UDP

  • 共享文件系统。限制IP范围。
  • NFS(网络文件系统)

2222/TCP

  • 用于规避暴力破解(需修改默认配置)。
  • SSH备用端口

2375/TCP

  • 需改用TLS端口2376。
  • Docker未加密API

3306/TCP

  • 默认数据库端口。限制访问IP,禁用root远程登录。
  • MySQL

3389/TCP

  • Windows远程管理。启用网络级认证(NLA)。
  • RDP(远程桌面协议)

4500/UDP

  • VPN穿越NAT的端口。
  • IPSec NAT-Traversal

4789/UDP

  • 虚拟扩展局域网隧道。
  • VXLAN

5000/TCP

  • 路由器自动端口映射。建议禁用,存在安全隐患。
  • UPnP(通用即插即用)

5060/TCP&UDP

  • VoIP通信控制。
  • SIP(会话初始协议)

5353/UDP

  • 本地网络服务发现(如Apple Bonjour)。
  • mDNS(多播DNS)

5432/TCP

  • 同MySQL,需配置密码策略。
  • PostgreSQL

8080/TCP

  • 常用于Tomcat或缓存服务。
  • HTTP代理/备用Web

8443/TCP

  • 如Web管理控制台(如VMware vSphere)。
  • HTTPS备用端口

9090/TCP

  • 监控系统默认端口。
  • Prometheus

9200/TCP

  • 搜索引擎服务。需配置X-Pack安全模块。
  • Elasticsearch

10050/TCP & 10051/TCP

  • 监控系统代理与服务端通信。
  • Zabbix

11211/TCP

  • 内存缓存。易被滥用为DDoS反射源。
  • Memcached

25565/TCP

  • 游戏服务器端口。
  • Minecraft

27017/TCP

  • NoSQL数据库。默认无认证,必须配置访问控制。
  • MongoDB

27018/TCP

  • 需与主端口同步加固。
  • MongoDB分片端口

51413/TCP

  • P2P文件共享。
  • BitTorrent

安全建议

  • 最小化开放端口:仅暴露必要端口,使用防火墙(如iptables/nftables)限制访问IP。
  • 加密通信:优先选择TLS/SSL加密的协议(如HTTPS、SFTP)。
  • 定期扫描:使用Nmap或OpenVAS检测开放端口和服务漏洞。
    更新服务:避免使用已弃用的协议(如Telnet、FTP)。




注:本文/图片来源于网络,侵删。

Fail2ban 是一款基于 Python 开发的开源入侵防御工具,主要用于实时监控系统日志并自动屏蔽恶意 IP 地址,从而抵御暴力破解、DDoS 攻击等网络安全威胁。

核心功能与原理

  1. 日志监控与规则匹配
    Fail2ban 持续扫描日志文件(如 /var/log/auth.log、/var/log/nginx/access.log 等),通过预定义的正则表达式(如 SSH 登录失败记录)识别异常行为。
  2. 动态封禁 IP
    当检测到同一 IP 在指定时间窗口内超过阈值(如 SSH 连续 5 次登录失败),Fail2ban 会触发防火墙规则(如 iptables、ufw)临时封禁该 IP,封禁时长可自定义(默认 10 分钟至数小时)。
  3. 灵活配置与扩展性
  • Jail(策略组):每个 Jail 对应一个服务(如 SSH、Nginx),可独立设置检测参数(maxretry、findtime)和封禁动作。
  • 过滤器(Filter):支持自定义正则表达式,适配不同服务的日志格式(如 Apache 错误日志)。
  • 动作(Action):除封禁 IP 外,还可发送邮件通知、调用 Webhook 或执行自定义脚本。

典型应用场景

  • SSH 防护:防止暴力破解 SSH 密码,默认 Jail 已集成。
  • Web 服务器保护:防御针对 Apache/Nginx 的扫描或 SQL 注入尝试。
  • 邮件服务器安全:如 Postfix、Dovecot,阻止垃圾邮件发送者。

- 阅读剩余部分 -