Registered · Cross-platform

5223 XMPP over SSL / APNs

TCP Yes
UDP Unofficial
SCTP
DCCP

What it is

Legacy XMPP-over-SSL; also Apple Push Notification Service.

When / why

APNs requires outbound 5223 from networks with Apple devices.

Protocol status detail

TransportStatusMeaning
TCP Yes Assigned by IANA and standardized, specified, or widely used on this port.
UDP Unofficial Not assigned by IANA, but standardized, specified, or widely used on this port.
SCTP Not applicable for this transport.
DCCP Not applicable for this transport.

Port range

Registered (1024–49151). Assigned by IANA on request; usable without elevated privileges on most systems.

Browse all ports →

Firewall rules for port 5223

Copy-ready inbound rules for the active transports. Replace every <source> placeholder with the specific host, subnet, or CIDR that should reach this port.

ufw

sudo ufw allow proto tcp from <source> to any port 5223

Allow TCP 5223 (XMPP over SSL / APNs). Replace <source> with the network/host that should reach it.

sudo ufw allow proto udp from <source> to any port 5223

Allow UDP 5223 (XMPP over SSL / APNs). Replace <source> with the network/host that should reach it.

firewalld

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="5223" protocol="tcp" accept'

Allow TCP 5223 (XMPP over SSL / APNs) from <source>. Run 'firewall-cmd --reload' afterwards.

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="5223" protocol="udp" accept'

Allow UDP 5223 (XMPP over SSL / APNs) from <source>. Run 'firewall-cmd --reload' afterwards.

nftables

nft add rule inet filter input ip saddr <source> tcp dport 5223 accept

Allow TCP 5223 (XMPP over SSL / APNs). Assumes table 'inet filter' with an 'input' chain.

nft add rule inet filter input ip saddr <source> udp dport 5223 accept

Allow UDP 5223 (XMPP over SSL / APNs). Assumes table 'inet filter' with an 'input' chain.

iptables

sudo iptables -A INPUT -p tcp -s <source> --dport 5223 -j ACCEPT

Allow TCP 5223 (XMPP over SSL / APNs). Persist with iptables-save/netfilter-persistent.

sudo iptables -A INPUT -p udp -s <source> --dport 5223 -j ACCEPT

Allow UDP 5223 (XMPP over SSL / APNs). Persist with iptables-save/netfilter-persistent.

Azure NSG

az network nsg rule create -g <resource-group> --nsg-name <nsg> -n Allow-xmppoversslapns-5223 --priority 1000 --access Allow --direction Inbound --protocol "*" --source-address-prefixes <source> --destination-port-ranges 5223

Inbound rule for 5223 (XMPP over SSL / APNs). Set <source> to a CIDR; lower priority number = higher precedence.

AWS Security Group

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=tcp,FromPort=5223,ToPort=5223,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound TCP 5223 (XMPP over SSL / APNs). Replace <source-cidr> (e.g. 10.0.0.0/16).

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=udp,FromPort=5223,ToPort=5223,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound UDP 5223 (XMPP over SSL / APNs). Replace <source-cidr> (e.g. 10.0.0.0/16).

GCP firewall

gcloud compute firewall-rules create allow-xmppoversslapns-5223 --direction=INGRESS --action=ALLOW --rules=tcp:5223,udp:5223 --source-ranges=<source-cidr> --network=<network>

Ingress rule for 5223 (XMPP over SSL / APNs). Scope with --source-ranges and optionally --target-tags.

Windows netsh

netsh advfirewall firewall add rule name="Allow XMPP over SSL / APNs 5223/TCP" dir=in action=allow protocol=TCP localport=5223 remoteip=<source>

Inbound TCP 5223 (XMPP over SSL / APNs). Set remoteip to a host/subnet; 'any' is discouraged.

netsh advfirewall firewall add rule name="Allow XMPP over SSL / APNs 5223/UDP" dir=in action=allow protocol=UDP localport=5223 remoteip=<source>

Inbound UDP 5223 (XMPP over SSL / APNs). Set remoteip to a host/subnet; 'any' is discouraged.

Windows PowerShell

New-NetFirewallRule -DisplayName "Allow XMPP over SSL / APNs 5223/TCP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 5223 -RemoteAddress <source>

Inbound TCP 5223 (XMPP over SSL / APNs). Replace <source> with a host or subnet.

New-NetFirewallRule -DisplayName "Allow XMPP over SSL / APNs 5223/UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 5223 -RemoteAddress <source>

Inbound UDP 5223 (XMPP over SSL / APNs). Replace <source> with a host or subnet.

Rules are generated only for transports marked active for this port. They default to an inbound allow with an explicit source placeholder — never any. Review direction, scope, and rule precedence before applying in production.