Firewall Rule
Define Firewall rules using filter expressions for more control over how traffic is matched to the rule. A filter expression permits selecting traffic by multiple criteria allowing greater freedom in rule creation. Filter expressions needs to be created first before using Firewall Rule.
If you want to configure Custom Firewall rules, you need to use
cloudflare.Ruleset
, because Custom Rules are built upon the Cloudflare Ruleset Engine.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.Filter;
import com.pulumi.cloudflare.FilterArgs;
import com.pulumi.cloudflare.FirewallRule;
import com.pulumi.cloudflare.FirewallRuleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var wordpressFilter = new Filter("wordpressFilter", FilterArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.description("Wordpress break-in attempts that are outside of the office")
.expression("(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.src ne 192.0.2.1")
.build());
var wordpressFirewallRule = new FirewallRule("wordpressFirewallRule", FirewallRuleArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.description("Block wordpress break-in attempts")
.filterId(wordpressFilter.id())
.action("block")
.build());
}
}
Content copied to clipboard
Import
$ pulumi import cloudflare:index/firewallRule:FirewallRule example <zone_id>/<firewall_rule_id>
Content copied to clipboard