Atualização 2017:
Muito melhor do que CAP_NET_BIND_SERVICE ou um kernel personalizado.
Como acompanhamento da fabulosa recomendação de Joshua (= não recomendada, a menos que você saiba o que faz) para hackear o kernel:
Eu publiquei aqui primeiro .
Simples. Com um kernel normal ou antigo, você não.
Como apontado por outros, o iptables pode encaminhar uma porta.
Como também apontado por outros, CAP_NET_BIND_SERVICE também pode fazer o trabalho.
É claro que CAP_NET_BIND_SERVICE falhará se você iniciar seu programa a partir de um script, a menos que defina o limite no interpretador de shell, o que é inútil, você poderá executar o serviço como root ...
por exemplo, para Java, você deve aplicá-lo para a JVM JAVA
sudo /sbin/setcap 'cap_net_bind_service=ep' /usr/lib/jvm/java-8-openjdk/jre/bin/java
Obviamente, isso significa que qualquer programa Java pode ligar portas do sistema.
Dito para mono / .NET.
Também tenho certeza de que o xinetd não é a melhor das idéias.
Mas como os dois métodos são hacks, por que não apenas elevar o limite, elevando a restrição?
Ninguém disse que você precisa rodar um kernel normal, então você pode rodar o seu próprio.
Você acabou de baixar a fonte para o kernel mais recente (ou o mesmo que você possui atualmente). Depois, você vai para:
/usr/src/linux-<version_number>/include/net/sock.h:
Lá você procura esta linha
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK 1024
e mude para
#define PROT_SOCK 0
se você não quiser ter uma situação ssh insegura, altere-a para o seguinte: #define PROT_SOCK 24
Geralmente, eu usaria a configuração mais baixa que você precisa, por exemplo, 79 para http ou 24 ao usar SMTP na porta 25.
Isso já é tudo.
Compile o kernel e instale-o.
Reinicie.
Concluído - esse limite estúpido é GONE e também funciona para scripts.
Aqui está como você compila um kernel:
https://help.ubuntu.com/community/Kernel/Compile
# You can get the kernel-source via package linux-source, no manual download required
apt-get install linux-source fakeroot
mkdir ~/src
cd ~/src
tar xjvf /usr/src/linux-source-<version>.tar.bz2
cd linux-source-<version>
# Apply the changes to PROT_SOCK define in /include/net/sock.h
# Copy the kernel config file you are currently using
cp -vi /boot/config-`uname -r` .config
# Install ncurses libary, if you want to run menuconfig
apt-get install libncurses5 libncurses5-dev
# Run menuconfig (optional)
make menuconfig
# Define the number of threads you wanna use when compiling (should be <number CPU cores> - 1), e.g. for quad-core
export CONCURRENCY_LEVEL=3
# Now compile the custom kernel
fakeroot make-kpkg --initrd --append-to-version=custom kernel-image kernel-headers
# And wait a long long time
cd ..
Em poucas palavras, use o iptables se quiser permanecer seguro, compile o kernel se quiser ter certeza de que essa restrição nunca mais o incomoda.