docs(troubleshooting): 260324 fail2ban Cursor 접속 밴 해제 및 설정 완화

- 대표님 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) <noreply@anthropic.com>
This commit is contained in:
happybell80 2026-03-24 12:26:03 +09:00
parent e803e56dea
commit ac15c4f972

View File

@ -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 반복 접속 금지 규칙