포트 스캔 탐지에는 그것을 통상적인 도구 상자에서 떨어뜨리는 특징이 있습니다. Fail2ban은 애플리케이션 로그를 읽는데, 닫힌 포트가 스캔될 때는 애플리케이션이 없으니 로그 기록도 없습니다. 스캔은 방화벽 수준에서만 보이고, 바로 거기서 PSAD가 일합니다. 버려진 패킷에 대해 iptables가 쓰는 메시지를 읽습니다.
필수 조건: 로깅이 켜져 있어야 한다
PSAD가 「설치했는데 아무것도 보여 주지 않는」 주된 이유입니다. 방화벽에 로깅 규칙이 없으면 읽을 것이 없고, 그 과정에서 오류도 나지 않습니다.
UFW를 쓴다면:
sudo ufw logging low
sudo ufw status verbose
메시지가 실제로 나타나는지 확인하려면:
sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log
두 명령 모두 0이면 PSAD는 작동하지 않습니다. 그리고 Debian 12와 Ubuntu 24.04에 대해 따로. rsyslog가 없으면 파일 /var/log/ufw.log가 존재하지 않고 모든 것이 systemd 저널로 갑니다 — PSAD 설정의 로그 경로가 그것을 고려해야 합니다.
설치
sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status
마지막 명령이 핵심입니다. 패킷이 몇 개 해석됐는지, 어떤 주소가 어떤 위험 수준으로 눈에 띄었는지 보여 줍니다. 해석된 패킷 카운터가 0이면 앞 절로 돌아가세요. 문제는 스캔이 없는 것이 아니라 로깅입니다.
설정은 /etc/psad/psad.conf에 있습니다. 실용적으로 의미 있는 매개변수는 적습니다. 메일 주소, 로그 경로, 위험 수준 임계값.
위험 수준
PSAD는 서로 다른 포트가 몇 개나 건드려졌는지, 그 행동이 알려진 스캔 기법과 얼마나 닮았는지에 따라 모든 출처를 1부터 5까지로 평가합니다.
- 1–2 — 닫힌 포트와의 산발적 접촉. 인터넷의 상시 배경이며 반응할 필요가 없습니다;
- 3 — 포트를 체계적으로 훑는 것. 대개는 네트워크에 수십 개가 있는 연구용 스캐너입니다;
- 4–5 — 한 주소에서 많은 수의 포트를 의도적으로 탐색하는 것이며, 접촉의 성격을 감추려 드는 경우가 많습니다.
메일의 임계값은 EMAIL_ALERT_DANGER_LEVEL로 잡습니다. 3이면 대개 하루에 메일 몇 통이 되고, 그것은 꽤 빠르게 메일 클라이언트의 규칙으로 이어집니다. 4로 잡고 나머지는 요약 페이지에서 보는 편이 합리적입니다.
자동 차단: 하지 마세요
PSAD는 방화벽 규칙을 스스로 더할 수 있습니다(ENABLE_AUTO_IDS). 돌고 있는 서버 한 대에서는 켤 가치가 없고, 이유는 구체적입니다. 패킷의 출발지 주소는 위조될 수 있습니다. 주소를 바꿔치기한 패킷을 당신 쪽으로 보내는 것만으로 충분합니다 — 그러면 당신은 남이 고른 주소를 차단하게 됩니다. 그것이 당신 자신의 고객이거나 결제 게이트웨이이거나 모니터링 서비스일 수 있습니다.
그래도 차단이 필요하다면 높은 위험 임계값으로 켜고, 반드시 시간 제한(AUTO_BLOCK_TIMEOUT)을 두어 잘못된 항목이 영원히 남지 않게 하세요.
실제로 이것으로 무엇을 할 것인가
스캔 자체는 무해합니다. 아무것도 망가뜨리지 않고 모두에게 끊임없이 일어납니다. PSAD 데이터의 가치는 그 사실이 아니라 성격의 변화에 있습니다.
유용한 관찰:
- 겨냥된 관심. 평범한 스캐너는 수천 개의 주소와 열몇 개의 인기 포트를 훑습니다. 누군가 바로 당신의 서버의 포트를, 비표준 포트까지 포함해 체계적으로 훑고 있다면 그것은 더 이상 배경이 아닙니다;
- 특정 포트 하나에 대한 스캔. 데이터베이스 포트나 제어판 포트와의 접촉은 누군가 바로 그 서비스를 찾고 있다는 뜻입니다 — 대개 그것의 또 다른 취약점 소식 뒤에;
- 시도 전의 정찰. 스캔의 급증에 이어 몇 시간 뒤 같은 대역에서 비밀번호 추측이 오는 것은 전형적인 순서이며, 그 전반부가 약간의 시간을 벌어 줍니다.
그중 어떤 관찰에서든 실용적 결론은 같습니다. 밖을 향한 포트의 목록이 예상과 맞는지, 그리고 각 포트에서 도는 것이 올해 당신이 업데이트한 것인지 확인하세요.
도구 상자에서의 자리
PSAD는 방화벽도, Fail2ban도, 침입 탐지 시스템도 대신하지 않습니다. 좁은 틈 하나를 닫습니다 — 애플리케이션에 닿지 못해 다른 어디에도 흔적을 남기지 않는 시도들. 비용이 적게 들고 첫 실행 뒤에는 설정 없이 작동하며, 그 요약은 그러지 않으면 아무도 던지지 않는 질문에 답합니다. 일반적인 배경 말고 당신의 서버에 관심을 두는 사람이 있는가. 그 요약이 어떤 모습인지는 아래 데모 페이지에서.