En mi red doméstica estoy configurando un servidor CentOS que será utilizado por aproximadamente una docena más o menos con fines educativos, por ejemplo, aprender a usar el shell de Linux y los sitios web host, entre otras cosas. Tengo el puerto 22 y el puerto 80 en mi enrutador para que puedan iniciar sesión a través de SSH a través de Internet.
Como no puedo confiar plenamente en estos usuarios, actualmente estoy tratando de bloquear el servidor tanto como sea posible (verificando permisos, bloqueando torrents, etc.) Ya que no quiero que las personas prueben el resto de las computadoras en mi red a través del servidor , Me gustaría bloquear el tráfico a las computadoras en la LAN local sin dejar de permitir el tráfico a Internet.
No estoy muy familiarizado con iptables, pero he intentado establecer algunas reglas de iptables: primero permite el tráfico a 192.168.1.1 (enrutador) y 192.168.1.2 (computadora que estoy usando para configurar el servidor), y luego bloquea tráfico a 192.168.1.0/24 y registra dicho tráfico. Se debe permitir el resto del tráfico. Sin embargo, el problema es que el servidor no puede hacer conexiones a Internet.
Aquí está mi configuración actual de iptables:
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.1.2
2 ACCEPT all -- 0.0.0.0/0 192.168.1.1
3 LOGGING all -- 0.0.0.0/0 0.0.0.0/0
4 DROP all -- 0.0.0.0/0 192.168.1.0/24
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain LOGGING (1 references)
num target prot opt source destination
1 LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 10/min burst 5 LOG flags 0 level 7 prefix `DROP: '
2 DROP all -- 0.0.0.0/0 0.0.0.0/0
Hacer ping a las IP permitidas (192.168.1.1 y 192.168.1.2) funciona (bien), pero hacer ping a Google no (mal):
[root@server ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1950ms
[root@server ~]# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.294 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.270 ms
Por supuesto, entiendo que hay un cierto nivel de confianza involucrado en otorgar a las personas acceso a un servidor en mi red, pero todavía quiero fortalecerlo tanto como pueda. Si alguien puede comentar sobre otras cosas que puedo hacer, también lo agradecería.
¡Gracias por adelantado!