BloxOne Cloud is a SaaS offering designed to provide protection to devices on and off-premises, including roaming, remote, and branch offices. It provides visibility into infected and compromised devices, prevents DNS-based data exfiltration, and automatically stops device communications with command-and-control servers (C&Cs) and botnets, in addition to providing recursive DNS services in the cloud. You can access the services by deploying the BloxOne Endpoint agent or the DNS forwarding proxy.
For remote office deployments or in cases where installing an endpoint agent is not desirable or possible, you can use the DNS forwarding proxy. It is a software that runs on bare-metal, VM infrastructures, or Infoblox NIOS appliances; and it embeds the client IPs in DNS queries before forwarding them to BloxOne Cloud. The communications are encrypted and client visibility is maintained. The proxy also provides DNS resolution to local DNS zones when you configure local resolvers. Once you set up a DNS forwarding proxy, it becomes the main DNS server for your remote site. It will also cache responses to speed resolution of future queries.
By implementing the DNS forwarding proxy, you can rest assured that BloxOne Cloud effectively enforces DNS client-based security policies at your remote sites. On-premises devices that send DNS queries reveal their actual client IP addresses (instead of their NAT IP address), which allows BloxOne Cloud to apply the security policies applicable to the respective endpoints and identify infected clients.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: v1
- Generator version: 7.5.0
- Build package: com.infoblox.codegen.BloxoneGoClientCodegen
Install the package using go get
:
go get github.com/infobloxopen/bloxone-go-client/dfp
Import the package into your code:
import "github.com/infobloxopen/bloxone-go-client/dfp"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
To create a new API client, you can use the NewAPIClient
function as shown below
client := dfp.NewAPIClient()
The NewAPIClient
function accepts a variadic list of option.ClientOption
functions that can be used to configure the client.
It requires the option
package to be imported. You can import the package using:
import "github.com/infobloxopen/bloxone-go-client/option"
The client name is used to identify the client in the logs. By default, the client name is set to bloxone-go-client
. You can change this using the option.WithClientName
option. For example:
client := dfp.NewAPIClient(option.WithClientName("my-client"))
The default URL for the Cloud Services Portal is https://csp.infoblox.com
. If you need to change this, you can use option.WithCSPUrl
to set the URL. For example:
client := dfp.NewAPIClient(option.WithCSPUrl("https://csp.eu.infoblox.com"))
You can also set the URL using the environment variable BLOXONE_CSP_URL
An API key is required to access DFP API. You can obtain an API key by following the instructions in the guide for Configuring User API Keys.
To use an API key with DFP API, you can use the option.WithAPIKey
option. For example:
client := dfp.NewAPIClient(option.WithAPIKey("YOUR_API_KEY"))
You can also set the API key using the environment variable BLOXONE_API_KEY
Note: The API key is a secret and should be handled securely. Hardcoding the API key in your code is not recommended.
You can set default tags for all API requests using the option.WithDefaultTags
option. For example:
client := dfp.NewAPIClient(option.WithDefaultTags(map[string]string{"tag1": "value1", "tag2": "value2"}))
This will add the tags tag1=value1
and tag2=value2
to all API requests that support tags in the request body.
All URIs are relative to https://csp.infoblox.com/api/atcdfp/v1
Class | Method | HTTP request | Description |
---|---|---|---|
AccountsAPI | CheckConfig | Post /config/check | Check Config. |
InfraServicesAPI | CreateOrUpdateDfpService | Put /dfp_services/{payload.service_id} | Update DNS Forwarding Proxy services. |
InfraServicesAPI | ListDfpServices | Get /dfp_services | List DNS Forwarding Proxy services. |
InfraServicesAPI | ReadDfpService | Get /dfp_services/{service_id} | Read DNS Forwarding Proxy services. |
- DNSProtocol
- Dfp
- DfpCreateOrUpdatePayload
- DfpCreateOrUpdateResponse
- DfpHost
- DfpListResponse
- DfpReadResponse
- InfraServicesCreateOrUpdateDfpService400Response
- InfraServicesCreateOrUpdateDfpService400ResponseError
- InfraServicesCreateOrUpdateDfpService404Response
- InfraServicesCreateOrUpdateDfpService404ResponseError
- InfraServicesListDfpServices500Response
- InfraServicesListDfpServices500ResponseError
- NetAddrPolicyAssignment
- Resolver
- TypesConfigCheckRequest
- TypesConfigCheckResponse
- TypesConfigCheckResult
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime