There are numerous ports that should be open on your cPanel server:
port service protocol direction
20 ftp tcp inbound/outbound
21 ftp tcp,udp inbound/outbound
22 ssh tcp inbound
25 smtp tcp inbound/outbound
26 smtp tcp inbound/outbound [1]
37 rdate tcp outbound
43 whois tcp outbound
53 DNS tcp/udp inbound/outbound [2]
80 http tcp inbound/outbound
110 pop3 tcp inbound
113 ident tcp outbound
143 imap4 tcp inbound
443 https tcp inbound
465 smtp tls/ssl tcp/udp inbound/outbound
873 rsync tcp/udp outbound
953 bind9 tcp outbound [4]
993 imap4 ssl tcp inbound
995 pop3 ssl tcp inbound
2082 cpanel tcp inbound
2083 cpanel ssl tcp inbound
2086 whm tcp inbound
2087 whm ssl tcp inbound
2089 cp licence tcp outbound
2095 Webmail tcp inbound
2096 Webmail SSL tcp inbound
3306 mysql tcp inbound
6666 chat tcp inbound
50000 ftp tcp inbound [5]
through
50400 ftp tcp inbound
[1] Only in use if Exim-26
is enabled in WHM, in order to allow those customers who's ISP block
port 25 outgoing to use your SMTP servers.
[2] Inbound is only needed if you run a public nameserver.
[3] Only needed if you connect to MySQL remotely.
[4] Only needed if you use a trust relationship for your nameservers
[5] For Passive mode FTP you should open up twice as many FTP ports as
you plan on having clients, assuming you will have 200 clients, 400
ports should be open. You will also need to specify which ports the FTP
daemon should use.