본문 바로가기

Trouble Shooting

Event ID 4283 IPSEC (Bad SPI event)

1. 본 Event ID 4283 (Bad SPI event)가 발생하는 경우는 key lifetime value가 매우 낮게 설정되어 있거나, 이 SA (Security Associations)가 만료됨에도 불구하고, 데이터를 전송하였을 경우입니다.

2. SPI는 inbound packet을 matching할 때 사용되게 됩니다. SPI가 적절하지 않다는 것은 Inboudn SPI가 만료되어, old SPI를 사용하는 packet이 도착되었음을 의미할 수 있습니다.

3. 따라서, bad SPI 로 인해, IP Security가 반드시 실패한다는 것을 의미하지는 않습니다. 이는 대부분의 경우, busy한 상황에서의 일시적인 현상이며, 결국 자동으로 제거되는 Event입니다.

4. 보내주신 data를 기반으로 가능한 원인을 아래와 같이 생각해 볼 수 있습니다.

(1) Virtual IP가 다른 node로 이동한 상태에서 client는 old SPI를 사용하려고 했습니다. 아래의 Oakley.log.bak.sav에서 보면, DELETE nofitication을 받는 것을 확인할 수 있습니다. 이는 new node에 존재하지 않는 SPI를 이용하여, IPSec packet을 전달하고 있었음을 알 수 있습니다.

(2) 수집된 data에 의하면, Default key lifetime 3,600 초 또는 100,000kb을 사용하고 있었습니다. 그러나, 특정 application을 위한 default lifetime value가 이보다 낮을 수도 있으며, 이는 빈번하게 IPSec SA에 사용되는 key가 자주 변경되어, 이와 같은 문제가 발생할 수 있습니다.

(3) 그 밖에 Firewall 또는 mismatched IPSec policy로 인해서도 이와 같은 문제가 발생할 수 있습니다.

추가적으로 이미 말씀드린바와 같이, Windows 2000 MSCS 에서 구현되는 IPSec을 지원하지 않습니다. (kb 306677 참조).

그 이유는 IKE SAs 정보가 각 개별 node에 local database형태로 저장되며, cluster환경에 사용하도록 design되지 않았으므로, 이에 대한 기술지원이나, Product Team에서의 Test도 진행된 바 없습니다.

따라서, Microsoft는 Cluster server에서 IPSec을 사용하지 말기를 권장.

IPSec is not designed for failover