나는 방화벽과 동등한 것을 찾고 있습니다 ufw default deny
. SSH를 통해 새 서버에 로그인한 후 시스템을 업데이트하고 보안할 시간을 갖기 위해 들어오는 모든 새 연결을 차단하려는 아이디어입니다. 방화벽과 함께 CentOS7을 사용하고 있습니다.
답변1
이러한 관점에서서버 장애 이후더 높은 수준의 트래픽 제한"풍부한" 규칙이 필요합니다.
모든 IPv4 트래픽을 삭제하도록 기본 영역에 작성된 풍부한 규칙을 적용하려면 다음을 수행하십시오.
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 drop'
이는 ufw default deny
동작과 유사합니다. 대신 ICMP 거부 메시지를 보내려면 drop
로 변경하세요 reject
. 위의 규칙은 IPv6용 IPv4에만 적용됩니다.
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--add-rich-rule='rule family=ipv6 source address=::/0 drop'
조사하면 iptables에 항목이 추가됩니다.뒤쪽에기존 SSH 세션이 파괴되지 않도록 "관련되고 이미 설정된" 연결을 수락합니다. 내 테스트에서 결과 iptables "체인"(기본 영역 "public"의 경우)은 다음과 같습니다.
INPUT -> INPUT_ZONES -> IN_public -> IN_public_deny
업데이트 프로세스 중에 다시 시작하려면 이 --permanent
플래그를 추가하세요.
업데이트 프로세스 중에 재부팅하지 않으려면 이 플래그를 사용하면 됩니다. 이 플래그 는 각각 "5초", "10분", "15시간"을 의미하는 , 또는 와 --timeout
같은 값을 허용합니다 . 이러한 규칙은 이 제한 시간이 지나면 삭제됩니다.5s
10m
15h
추가한 규칙을 제거하려면 firewall-cmd
이전과 같이 실행하되 IPv4를 예로 들어 --add-rich-rule
;--remove-rich-rule
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--remove-rich-rule='rule family=ipv4 source address=0.0.0.0/0 accept'
인용하다:http://www.firewalld.org/documentation/man-pages/firewalld.rich언어.html