Esta es una gran pregunta, por lo que solo busco una respuesta general de alto nivel que me ayude a investigar las partes que no conozco.
Esencialmente, el problema es este: necesito tomar una Mac Mini dedicada (o una máquina macOS similar) y usarla para alojar un sitio web al que solo pueden acceder aquellos en la misma red local.
Mi primer instinto fue comprar un dominio (y un certificado) y apuntarlo a una dirección local (por ejemplo, 10.10.10.152) en la que sé que estará ubicado mi servidor. De esa manera, cualquiera que intente acceder a ese dominio será redirigido localmente a mi sitio web si está en la red correcta.
esto funcionara? Si es así, ¿cuáles son los pasos principales para tomar un dominio, instalar un certificado y apuntarlo a una IP local?
Respuesta1
compre un dominio (y un certificado) y apúntelo a una dirección local (por ejemplo, 10.10.10.152) en la que sé que estará ubicado mi servidor. De esa manera, cualquiera que intente acceder a ese dominio será redirigido localmente a mi sitio web si está en la red correcta.
Eso funcionaría, pero no hay absolutamente ninguna necesidad de comprar nada.
Puede configurar DNS local, por ejemploservicio.ejemplo.org(si eres dueñoejemplo.org), oservicio.lansin un dominio propio. Apunte el registro A a su servidor web privado.
Si necesita HTTPS (TLS), puede autofirmar un certificado y confiar explícitamente en ese certificado de cada uno de sus clientes, o iniciar una nueva CA (solo toma un minuto con OpenSSL), firmar un certificado paraservicio.lane implemente el certificado raíz de CA para sus clientes como ancla de confianza.
Respuesta2
Según la discusión de los comentarios, puede usar, por ejemplo, Apache y configurar algo como: usando el módulo mod_authz_host
y las Require
directivas.
<Directory /var/www/web/>
Require host localhost
Require ip 127.0.0.1
Require ip 192.168.0
</Directory>
(arriba supongo que tu red local es 192.168.0.0/24
)
Esta configuración limitará el acceso a localhost/127.0.0.1
todos los hosts de la red.192.168.0.0/24
Respuesta3
No estoy seguro de si se me ocurrió la idea de registrar/configurar un dominio y comprar un certificado por accidente o intencionalmente, pero en ausencia de experiencia con la configuración de redes y la administración de sistemas, esta es probablemente la ruta más corta hacia su objetivo.
Enfoques alternativos serían
- aprovisione el sitio web en Internet, solo permita el acceso a la ruta ACME y obtenga un certificado gratuito de LetsEncrypt (que también requiere que tenga un registro DNS público válido, por lo tanto, una IP razonablemente estática o un servicio DNS dinámico)
- cree su propia autoridad de certificación, distribuya el certificado de CA a los clientes y utilícelo para firmar un certificado para el servicio
- o no usar TLS en absoluto (no recomendado).
Necesitará un dominio registrado con registros para obtener un certificado de una autoridad certificadora de terceros. Si elige uno de los otros métodos, entonces no necesita un dominio registrado/registros DNS de acceso público; podría (por ejemplo) usar dnsmasq para su DNS interno (fácil de aprovisionar anulaciones de nombres DNS específicos).
Siempre que su conexión a Internet no permita el acceso externo a la dirección IP del host, no necesita controles de seguridad adicionales, pero agregarlos ahora podría evitar accidentes en el futuro.