HomeTopicsAccelerated Transfer › Passing Security Review

Getting UDP Transfer Flows Through Security Review

You measured the link, proved the case, and picked a UDP-based accelerated-transfer product. Then you filed the firewall change request, and it came back with a single sentence: "We do not permit inbound UDP." If that moment is in your future — or you are living it now — this article is the preparation you need. Not to bulldoze the security team, but to arrive at the review with the specific facts, tight rule design, and monitoring plan that let them say yes responsibly.

The framing matters, so let us set it in the first paragraph: the security team's suspicion of a sustained, high-rate UDP flow is not obstruction. It is pattern recognition, formed by years of UDP-borne floods, amplification attacks, and exfiltration channels. A review that waves such a flow through without questions would be a bad review. Your job is to show that this flow is not that pattern — encrypted end to end, pinned to known hosts and one known port, rate-capped, logged, and watched. All of that is achievable, and this article walks through each piece.

This is part of our Accelerated Transfer series. If you have not yet confirmed you need acceleration at all, start with the measurement guide — the easiest security review is the one you never have to request.

Why Security Teams Distrust UDP — and Why They Are Not Wrong

Firewalls think in connections. A TCP session announces itself with a handshake, carries sequence numbers a middlebox can sanity-check, and ends with a goodbye; a stateful firewall can follow that story and verify each packet belongs to it. UDP has no story — each datagram is a self-contained envelope, and "connection" exists only as a guess the firewall makes by remembering recent address-and-port pairs for a few seconds. Less story means less to verify, and less to verify means more trust placed in the endpoints alone.

The track record makes it worse. The internet's most famous traffic floods have ridden UDP, because senders can emit datagrams as fast as hardware allows with no handshake to slow them; several classic amplification attacks abused innocent UDP services; and quiet UDP trickles to odd ports are a staple of data exfiltration, precisely because so much tooling watches TCP more closely.

Since the word will come up in your meeting, here is what an amplification attack actually is. An attacker sends a small UDP request to some innocent public service, but forges the sender address so it appears to come from the victim. The service obligingly sends its response — often many times larger than the request — to the victim, and thousands of such services queried together bury the victim in traffic they never asked for. Two ingredients make a service usable this way: it answers strangers without authentication, and its replies are bigger than the queries. Keep those two ingredients in mind; they are exactly what a properly built transfer listener lacks, which is why the objection is answerable.

So when your change request describes "a sustained UDP stream at hundreds of megabits to an outside host," you are — from the reviewer's chair — describing the silhouette of an attack. This is the same institutional reflex that greets any unusual flow shape; we tell a related story about a much older protocol in why firewalls block active FTP. The reflex is healthy. The answer to it is specificity.

Assemble the Fact Sheet Before the Meeting

Most failed reviews fail on vagueness: the requester cannot say exactly what the product does on the wire, so the reviewer must assume the worst. Close that gap first. From the product's documentation (and the vendor's engineers, who answer these questions routinely), assemble a one-page fact sheet:

ACCELERATED TRANSFER FLOW - SECURITY FACT SHEET

Endpoints:        which hosts, exactly (IPs/names, both ends)
Direction:        who initiates; is anything listening on our side?
Control channel:  protocol and port (commonly TCP with TLS- or
                  SSH-style protection) used for login and setup
Data channel:     UDP port(s) - fixed single port? configurable?
Authentication:   how users/hosts prove identity before any data moves
Encryption:       key exchange method, symmetric cipher, integrity
                  checks; can encryption be switched off? by whom?
Unsolicited input:how does the listener respond to random/spoofed
                  datagrams from unknown sources? (answer should be:
                  it doesn't)
Rate control:     where the bandwidth cap is set; who can change it
Logging:          what is recorded per session/file; export format
Accounts:         service accounts, privilege level, storage touched

Two of these lines deserve special attention because they decide the meeting. If the data channel can be configured to a single fixed UDP port, your firewall request shrinks from "a range of UDP ports" to one precise line — always push the product into that configuration. And the unsolicited input line is your amplification answer: a well-built listener silently drops datagrams that do not carry valid session credentials, which means it cannot be used as a reflector. If the vendor cannot give a crisp answer to that question, that is worth knowing before you stake your credibility on the product.

A word on timing: assemble this sheet — and have the first informal conversation with the security team — before the purchase is signed, not after. A reviewer consulted early becomes a co-designer of the deployment; a reviewer handed a finished purchase order becomes an auditor of it, and auditors say no more often. The questions on the sheet double as vendor-selection criteria anyway, so the work is never wasted.

Encryption: What "Secure UDP" Should Actually Mean

There is no TLS socket to lean on when you leave TCP, so an accelerated protocol must bring its own cryptography. The construction you want to hear described is the same one TLS and SSH use, relocated: a public-key handshake on the control channel authenticates the endpoints and agrees on per-session keys, and then every data datagram is encrypted and integrity-protected with a standard symmetric cipher — the widely deployed block cipher families every security team already trusts, in modes that detect tampering. Reputable products describe exactly this, name their algorithms, and publish independent assessments.

Verify three things rather than assuming them. First, the algorithms are named and standard — "proprietary encryption" or vague "military-grade" language without cipher names is a red flag worth escalating. Second, encryption is on and cannot be casually disabled — some products allow plaintext mode for benchmarking; policy should pin it off, and the fact sheet should say who controls that setting. Third, integrity checking covers the whole file, not just each packet: a checksum or cryptographic hash verified at completion, so corruption and truncation are caught. With those three confirmed, the honest security summary is that the flow's confidentiality story matches your SFTP and FTPS traffic — same mathematics, different envelope.

Firewall Rules for a Sustained UDP Flow

Now the part the change request actually asks for. The design principle is maximum specificity: this flow has two known endpoints, one control port, and one data port, so the rules should name all of them and nothing more. In portable pseudo-syntax (adapt to your firewall; documentation-range IPs used here):

# Accelerated transfer: site A (203.0.113.10) <-> site B (198.51.100.20)

# 1. Control channel - session setup, authentication, key exchange
allow tcp  src 203.0.113.10  dst 198.51.100.20  dport 47001

# 2. Data channel - one fixed UDP port, same two hosts only
allow udp  src 203.0.113.10  dst 198.51.100.20  dport 47001

# 3. Return path: rely on the firewall's UDP state entries created
#    by the outbound datagrams - do NOT add a broad inbound rule.
#    Raise the UDP state timeout for THIS rule (e.g. to 300s) above
#    the product's keepalive interval, or long transfers die quietly.

# 4. Everything else stays denied - no "allow udp any high ports",
#    no whole-subnet source, no "temporary" wildcard that outlives us.

Three operational notes turn that sketch into a working deployment. Timeouts: firewalls expire idle UDP state aggressively — often after 30 to 60 seconds — and an accelerated session can look idle to the firewall in quiet moments (or between jobs on a persistent tunnel). Align the product's keepalive interval and the firewall's per-rule timeout deliberately, or you will chase mysterious mid-transfer failures. Direction: have the flow initiated from your side wherever the product allows it, so your perimeter needs no inbound-first UDP acceptance at all; the state table then admits only replies to conversations your host started. NAT: if either endpoint sits behind address translation, the single-fixed-port design is what makes the port-forwarding entry precise and auditable — one more argument against letting the product roam a port range.

Remember: never buy approval with a broad exception. "Allow UDP high ports outbound" passes review meetings and fails audits — and it converts one managed flow into a permanent hole every future incident responder must reason about. Two hosts, two ports, capped rate, named owner: if the request cannot be written that tightly, the deployment is not ready for review.

Answering the Objections, One by One

The review meeting itself usually walks through a familiar set of concerns. Here they are, with the answers that respect both the question and the facts:

Objection The honest answer
"UDP is unreliable and can't be secured." Raw UDP, agreed. This product rebuilds reliability (sequencing, retransmission, whole-file verification) and encrypts every datagram with named standard ciphers after an authenticated key exchange — here is the algorithm list and the assessment report.
"This creates an amplification or DDoS surface." The listener answers only authenticated session traffic and silently drops everything else, so it cannot reflect or amplify. It is also reachable from exactly one peer address in the rule set — a scanner never gets a packet back.
"We'll have no visibility into it." Payload inspection is off the table — as it is for our TLS and SSH traffic. Visibility comes from the product's per-session, per-file logs feeding the log platform, plus flow records at the firewall. The monitoring plan (below) is part of this request.
"A rate-based sender will trample the WAN." Uncapped, it could. The deployment sets the product's rate cap below link capacity (with the number written in the config), schedules bulk jobs off-peak, and network can mark the flow into a bulk QoS class. Here is the cap and who controls it.
"It bypasses the proxy/DLP path our other transfers use." True, and worth saying plainly. Mitigation is scoping: fixed endpoints, named service accounts, restricted directories, and logs of every file moved — the same controls our managed SFTP servers satisfy. If that scoping is unacceptable, the fallback is tuned TCP, not shadow IT.
"Who owns this when it breaks or misbehaves?" A named team, a documented runbook, credentials in the vault, patching in the normal cycle, and a review date on the firewall exception so it expires if abandoned.

Notice the pattern in the answers: none of them argue that the concern is silly. Each concedes the general risk and shows the specific control that addresses it. That posture — and arriving with the fact sheet instead of promising to find out — is what moves a review from "no" to "yes, with these conditions."

Monitoring the Flow in Production

Approval is usually conditional on monitoring, and the conditions are worth embracing because they protect you too. A reasonable baseline:

  • Transfer logs, centralized. Every session and file event — who, what, when, how many bytes, success or failure — exported from the product into the same log platform as your other transfer systems, with matching retention.
  • Flow records at the firewall. Per-interval byte and packet counts for the two rules. This is your independent check on the product's own accounting, and the data source for the next bullet.
  • Alerts on shape changes. Traffic on the UDP port from or to any unexpected address; transfers outside the scheduled windows; sustained rates near the cap for unusual durations; and login failures on the control channel. Each is either a misconfiguration or an incident, and both deserve a page.
  • A normal-traffic baseline. After the first weeks, record what typical days look like — sessions per day, bytes per job, the times jobs run. Anomaly detection is only as good as the definition of normal, and you are the one who can define it.
  • Periodic re-review. Put a date on the exception. When it comes up, confirm the endpoints, the cap, the cipher configuration, and the patch level, and renew deliberately rather than by inertia.

If the Answer Stays No

Sometimes the review ends in a firm no — a regulated environment, a perimeter standard with no UDP exceptions, a risk appetite the numbers do not change. Take the outcome gracefully, because the fallback position is genuinely strong: everything in the TCP tuning article — full-size windows, keepalives, parallel streams, compression, off-peak scheduling — works over the TCP protocols your firewall already understands and your team already audits. A tuned SFTP or FTPS service, such as Sysax Multi Server on the Windows side with its activity logging feeding the same review process, moves a surprising fraction of "we need acceleration" workloads inside their deadlines with no new attack surface at all. And if measured loss on the long path still leaves an unclosable gap, you now have clean data to bring back to the security conversation — reviews reopen far more easily for a requester whose last exception ran clean, capped, and fully logged.

The Version to Tell the Review Board

This request is one flow between two named hosts: a TLS-protected TCP control channel on one port and an encrypted UDP data channel on one port, initiated from our side. The listener ignores unauthenticated datagrams, so it cannot reflect or amplify. The sender is rate-capped below link capacity in configuration we control. Every session and file is logged to the central platform, flow records provide independent accounting, alerts cover any deviation in peers, ports, schedule, or volume, and the exception carries an owner and an expiry date. It is, in short, a managed transfer channel with the same controls as our SFTP estate — wearing a different transport because physics, as measured and documented, required it. For how that transport actually works under the hood, the companion article is how UDP-based accelerated protocols work.

Frequently Asked Questions

Is UDP inherently less secure than TCP?
Neither transport encrypts or authenticates anything by itself — security always comes from the layer above (TLS over TCP, or the accelerated protocol's own cryptography over UDP). UDP is harder for firewalls to track statefully, which is a real operational difference, but a well-designed protocol over UDP can match the confidentiality and integrity of TLS-protected TCP.
Do accelerated transfer products encrypt by default?
Reputable ones do, using a standard key exchange plus a named symmetric cipher per datagram — but "usually" is not a control. Verify the algorithms in the documentation, confirm encryption cannot be silently disabled, and write the required setting into your deployment standard.
Which ports do I actually have to open?
Typically two, between exactly two hosts: one TCP port for the control channel (login and key exchange) and one UDP port for the data channel — most products can be pinned to a single fixed UDP port, and you should insist on that configuration. Broad UDP port ranges are neither necessary nor acceptable.
Can our intrusion-detection system inspect the transfer?
Not the payload — it is encrypted, exactly like your TLS and SSH traffic. Visibility instead comes from metadata: the product's session and file logs, firewall flow records, and alerts on unexpected peers, ports, or volumes. Reviewers accept this daily for HTTPS; the same logic applies here.
Why do long transfers die even after the firewall rule was approved?
Usually UDP state timeout: firewalls forget "connections" they have not seen packets on for 30–60 seconds, and the next datagram gets dropped as unsolicited. Raise the timeout on that specific rule and align the product's keepalive interval below it.
What if security simply refuses any UDP exception?
Fall back to tuned TCP: proper window sizing, keepalives, parallel streams, compression, and off-peak scheduling recover most of the gap on clean links, entirely inside the existing firewall model. Keep your measurements — if loss on the path still leaves a large, documented shortfall, that data is what eventually reopens the conversation.

From the Sysax team: we build secure file transfer software for Windows — Sysax Multi Server, an FTP, FTPS, SFTP, and HTTPS server, and Sysax FTP Automation for scheduled, scripted transfers. Free trials are on the download page.