시간 제한이 있는 화이트리스트에 IP를 추가하는 방법은 무엇입니까?

시간 제한이 있는 화이트리스트에 IP를 추가하는 방법은 무엇입니까?

특정 이벤트에 따라 시간 제한이 있는 자동 IP 화이트리스트를 생성하기 위해 Firewalld 및 ipsets를 사용하려고 합니다.

내가 여기까지 왔는데

firewall-cmd --permanent --new-ipset=whitelist --type=hash:ip --option=timeout=30
firewall-cmd --reload
firewall-cmd --zone=external --add-rich-rule='rule source ipset=whitelist accept'
firewall-cmd --ipset=whitelist --add-entry=AA.BB.CC.DD

그러나 마지막 명령에서 다음과 같은 오류 메시지가 나타납니다.

Error: IPSET_WITH_TIMEOUT: whitelist

여기서 분명한 것을 놓치고 있는 것 같습니다.

답변1

나는 분명한 것을 놓쳤고 덜 분명한 것을 발견했습니다.

이것은 방화벽에서 시간 제한이 있는 IPset을 생성하는 명령 체인입니다.

firewall-cmd --permanent --new-ipset=whitelist --type=hash:ip --option=timeout=30
firewall-cmd --reload
firewall-cmd --zone=external --add-source=ipset:whitelist

--add-source 비트가 누락되었습니다(강화 규칙은 필요하지 않습니다). 그러나 Firewall-cmd를 통해 ipset에 항목을 추가하려고 하면 여전히 원래 질문과 동일한 오류가 발생합니다. 그러나 기본 ipset 명령을 직접 사용할 수 있습니다.

#ipset add whitelist AA.BB.CC.DD
#ipset list whitelist
Name: whitelist
Type: hash:ip
Revision: 1
Header: family inet hashsize 1024 maxelem 65536 timeout 30
Size in memory: 16592
References: 7
Members:
AA.BB.CC.DD timeout 22

이 설정은 특정 IP 주소를 30초 동안 화이트리스트에 추가합니다. 나에게 딱 필요한 것.

그 이유는 SSH를 사용하여 당사 서버에 로그인하는 사용자에게 원격 데스크톱 서비스에 대한 액세스를 제공하는 자동화된 메커니즘을 제공할 수 있기 때문입니다. ipset add 명령은 성공적인 SSH 로그인을 감지하고 사용자 로그인의 관련 소스 IP를 얻는 syslog 이벤트 핸들러에서 실행됩니다. 화이트리스트 시간 초과는 원격 VNC 연결에 대한 공격 창을 크게 제한합니다. 우리는 tcp-wrapper를 기반으로 CentOS6에서 유사한 설정을 사용해 왔습니다. 이제 우리는 CentOS7로 전환하고 있으며 ipset 시간 초과를 사용하면 시간 초과 기간이 만료된 후 허용된 IP 주소를 닫기 위해 자체 기록을 할 필요가 없습니다.

관련 정보