There are a number of freely available news servers, including B-News, C-News, and INN. There are also number of commercial servers, which claim to have better performance.
These days, not all sites choose to offer news. If you do not have your own news server, you may wish to allow your users to contact external NNTP servers. The risk involved is relatively low; although NNTP has been used to attack news servers, there are no known serious problems with the NNTP protocol for clients. NNTP does, of course, provide another way for information to flow into and out of your organization, where the inbound information may include undesirable things like viruses, illegitimate copies of copyrighted information, and data that is illegal to distribute in some jurisdictions (including hate speech and pornography), and the outbound information may include your organization's secrets. These are the same risks found in protocols like HTTP and SMTP, and an NNTP client is vulnerable to the same data-driven risks as an electronic mail client, including the risks associated with handling of MIME- and HTML-enhanced messages.
If you do choose to run your own news server, the best way to configure it is the same way that you configure SMTP; set up a server on a bastion host that talks to external sites, possibly sanitizing information in the process, and relays news to an internal server. Your internal clients then exchange news with the internal server. The external server needs only a minimal configuration, since the news will be stored on the internal server. This configuration gives you a maximum of security and control, but it is a significant amount of administrative overhead. In addition, even minimal news servers place a heavy load on machines, and it is advisable to put the externally visible news server on a dedicated bastion host.
If you are unable to use a configuration with two news servers, the next best option is to use a single news server on a bastion host. If you do this, you will be able to support only news readers that use NNTP; older Unix clients that expect to read files directly will not have access to the bastion host. In addition, you should not create private newsgroups that are intended to be internal to your organization if your news server is a bastion host. The probability that the newsgroups will leak to the outside universe is far too high.
Finally, you can use a single news server on your internal network and very carefully control which hosts can reach it. This is the most dangerous option, since you are letting external hosts make connections directly to your internal network. However, you can limit the connections to those servers you exchange news with, and this solution will let you have internal newsgroups and non-NNTP news readers. In this situation, you should try to use servers and feed sites that support NNTP authentication, so that you have some authentication besides the IP source address. NNTP authentication is not standard but is implemented in many servers.
Direction | SourceAddr. | Dest.Addr. | Protocol | SourcePort | Dest.Port | ACKSet | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 119 |
[68]
|
Incoming news |
Out | Int | Ext | TCP | 119 | >1023 | Yes | Incoming news responses |
Out | Int | Ext | TCP | >1023 | 119 | [68] | Outgoing news, or internal client contacting external server |
In | Ext | Int | TCP | 119 | >1023 | Yes | Outgoing news responses, or external server responding to internal client |
[68]ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.