From ac15c4f9724d174e1c624dbae6351c785e9e69c8 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Tue, 24 Mar 2026 12:26:03 +0900 Subject: [PATCH] =?UTF-8?q?docs(troubleshooting):=20260324=20fail2ban=20Cu?= =?UTF-8?q?rsor=20=EC=A0=91=EC=86=8D=20=EB=B0=B4=20=ED=95=B4=EC=A0=9C=20?= =?UTF-8?q?=EB=B0=8F=20=EC=84=A4=EC=A0=95=20=EC=99=84=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 대표님 IP(112.170.247.38) f2b-sshd-aggressive에서 밴 해제 - aggressive maxretry 3→10, bantime 7일→1일로 완화 - ignoreip에 성수 대역(192.168.0.0/24), 자택 IP 추가 Co-Authored-By: Claude Opus 4.6 (1M context) --- ...l2ban_Cursor접속_밴_및_설정완화.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 journey/troubleshooting/260324_51123_fail2ban_Cursor접속_밴_및_설정완화.md diff --git a/journey/troubleshooting/260324_51123_fail2ban_Cursor접속_밴_및_설정완화.md b/journey/troubleshooting/260324_51123_fail2ban_Cursor접속_밴_및_설정완화.md new file mode 100644 index 0000000..5fc2215 --- /dev/null +++ b/journey/troubleshooting/260324_51123_fail2ban_Cursor접속_밴_및_설정완화.md @@ -0,0 +1,95 @@ +--- +type: troubleshooting +tags: [fail2ban, ssh, cursor, firewall, 51123] +status: closed +opened_date: 2026-03-24 +closed_date: 2026-03-24 +closed_reason: 밴 해제 + ignoreip 추가 + aggressive 설정 완화 적용 완료 +severity: high +root_cause: Cursor Remote SSH 자동 재시도가 sshd-aggressive(maxretry=3)에 걸려 대표님 IP 7일 밴 +--- + +# 260324 51123 fail2ban Cursor 접속 밴 및 설정 완화 + +## 문제 + +- Cursor Remote SSH로 `ro-being.com:51123` 접속 시 `Connection timed out` +- 대표님 PC 외부 IP `112.170.247.38`이 `f2b-sshd-aggressive` 체인에서 REJECT 상태 + +## 원인 + +- `sshd-aggressive` jail: **maxretry=3, findtime=300초, bantime=604800초(7일)** +- Cursor Remote SSH는 접속 시 install script 전송 등으로 여러 번 인증 시도 → 3회 초과로 밴 +- 대표님 IP가 `ignoreip`에 없었음 (성수 이전 후 IP 변경) + +## 조치 + +### 1. 즉시 밴 해제 + +```bash +sudo fail2ban-client set sshd-aggressive unbanip 112.170.247.38 +``` + +### 2. ufw 허용 추가 + +```bash +sudo ufw allow from 112.170.247.38 to any port 51123 proto tcp comment "trusted-admin-ssh-cursor-home" +``` + +### 3. fail2ban 설정 완화 (`/etc/fail2ban/jail.d/ssh-custom.conf`) + +**변경 전 → 변경 후:** + +| 항목 | sshd (변경 없음) | sshd-aggressive (완화) | +|---|---|---| +| maxretry | 5 | **3 → 10** | +| findtime | 600초 | **300초 → 600초** | +| bantime | 86400초(1일) | **604800초(7일) → 86400초(1일)** | + +**ignoreip 추가:** + +| 추가 항목 | 사유 | +|---|---| +| `192.168.0.0/24` | 성수 사무실 내부 대역 | +| `220.73.99.189` | 성수 사무실 외부 IP | +| `112.170.247.38` | 대표님 자택 IP | + +### 4. 현재 적용 설정 + +```ini +[sshd] +maxretry = 5 +findtime = 600 +bantime = 86400 +ignoreip = 127.0.0.1/8 ::1 192.168.219.0/24 192.168.0.0/24 112.146.113.214 220.85.143.128 220.73.99.189 106.254.1.37 112.170.247.38 + +[sshd-aggressive] +maxretry = 10 +findtime = 600 +bantime = 86400 +ignoreip = (sshd와 동일) +``` + +### 5. 재시작 + +```bash +sudo systemctl restart fail2ban +``` + +## 완화 근거 + +- Cursor Remote SSH는 접속 시 자동으로 install script 전송 + 여러 인증 시도를 수행 +- maxretry=3은 정상 사용자도 쉽게 걸림 (특히 IDE 원격 접속 도구) +- bantime 7일은 유동 IP 환경에서 과도함 — 1일이면 브루트포스 억제에 충분 +- ignoreip에 관리자 IP를 빠짐없이 등록하는 것이 근본 대책 + +## 주의사항 + +- 대표님 IP가 유동 IP(통신사)일 경우 변경 시 다시 밴될 수 있음 +- IP 변경 감지 시: `sudo fail2ban-client set sshd-aggressive unbanip {IP}` + ignoreip 갱신 +- 밴 확인: `sudo iptables -L f2b-sshd-aggressive -n` + +## 관련 문서 + +- [260226 SSH 브루트포스 차단 및 fail2ban 교정](./260226_51123_SSH_브루트포스_차단_및_fail2ban_교정.md) — 최초 fail2ban 설정 +- [AGENTS.md §7 Safety](/home/admin/AGENTS.md) — SSH 반복 접속 금지 규칙