Implicaciones de seguridad de la ubicación de bitcoin.conf

Estoy configurando y fortaleciendo un daemon de bitcoind y relámpago sin cabeza dedicado y quería tener una discusión sobre la ubicación de bitcoin.conf.

Artículo 1:

Bitcoind usa por defecto ~/.bitcoin/bitcoin.conf, presumiblemente porque mantener todos los archivos relevantes en una ubicación hace que sea más fácil copiar y/o compartir la cadena de bloques entre diferentes máquinas. ¿Hay implicaciones de seguridad en esto? ¿Es sustancialmente más seguro almacenar bitcoin.conf en /etcsu lugar (como /etc/bitcoind/bitcoin.conf)?

Un argumento en contra ~/home/.bitcoin/bitcoin.confdel uso que pensé es que la contraseña RPC se almacena en el archivo .conf y puede ser vista por cualquier persona con acceso de lectura. Entonces, ¿es menos legible en ~/home o en /etc?

Obtendría +1 puntos de estilo POSIX por usar /etc...

Un argumento en contra del uso /etc/bitcoind/bitcoin.confes la portabilidad. Es menos conveniente tener el archivo .conf en una ubicación separada. Menos conveniente significa una mayor posibilidad de equivocación o error en algún momento del camino.

Artículo n.º 2 Similar al n.º 1, además de +1 puntos de estilo, ¿hay alguna ventaja en mover los troncos a /var/log? Tengo entendido que bitcoind ya rota los registros, pero ¿hay alguna ventaja en cómo systemd realiza la rotación de registros /var/log?


Gracias, estos son buenos puntos. Tienes razón acerca de que bitcoin.conf está en /etc y causa dificultad para acceder al daemon en el día a día. En mi caso, este servidor está destinado a servir a un pequeño grupo de trabajo local en la misma máquina y en la LAN y tiene bitcoind ejecutándose sin una billetera para servir a una instancia local de lnd y electrumx. Ambos acceden a bitcoind a través de RPC a través de localhost, por lo que la ubicación de bitcoin.conf es irrelevante para ellos.

Incluso si bitcoind se ejecutara como un servicio de nivel de sistema para usarse como una billetera, los usuarios no necesariamente tendrían que acceder a bitcoin.conf si usaran RPC. Cada uno de los usuarios locales podría tener su propio bitcoin.conf en sus carpetas de inicio con credenciales RPC. Esto eliminaría la necesidad de especificar bitcoin.conf en la línea de comandos.

Luego puede proteger el archivo con "chmod 600", de modo que solo el propietario pueda leer/escribir >el archivo bitcoind.conf (y rootear y/o los administradores después de ajustar los >permisos).

^^Esto haría más por la seguridad que simplemente moverse a /etc.

Por lo tanto, no hay una respuesta correcta, pero si se ejecuta bitcoind como un servicio a nivel del sistema, podría tener más sentido (si no aumenta la seguridad) y obtener +1 puntos de estilo POSIX para colocar bitcoin.conf en /etc, pero si se ejecuta bitcoind en el espacio de usuario para un solo usuario local, tiene más sentido simplemente mantener todo en ~/home para evitar problemas de acreditación de RPC.

Usted "quería tener una discusión" ; recuerde que este no es un foro de discusión. De acuerdo con el centro de ayuda , debemos evitar las preguntas conversacionales abiertas por las razones que se dan allí. Su elemento n. ° 2 está fuera de tema en su mayoría aquí y sería mejor responderlo leyendo las respuestas existentes en (por ejemplo) nuestro sitio hermano serverfault.com
Bien, entonces cambié de opinión. No quiero "tener una discusión", simplemente quiero una respuesta a la siguiente pregunta: ¿Es "mejor" mantener bitcoin.conf en /etc/ o en ~/home/.bitcoin?

Respuestas (1)

No veo la relevancia "necesaria" para bitcoin aquí. La seguridad de acceso a archivos se analiza mejor en el intercambio de pila relevante de Unix. Aún así, me gustaría compartir mi punto de vista con un poco de relevancia bitcoind.

Un argumento en contra del uso de ~/home/.bitcoin/bitcoin.conf que pensé es que la contraseña RPC se almacena en el archivo .conf y puede ser vista por cualquier persona con acceso de lectura.

depende de cómo configure su sistema bitcoin. Si bitcoind está configurado como un proceso relacionado con el usuario , tiene mucho sentido tener bitcoind.conf en el directorio de inicio. Luego puede proteger el archivo con "chmod 600", de modo que solo el propietario pueda leer/escribir el archivo bitcoind.conf (y la raíz y/o los administradores después de ajustar los permisos).

Cuando se almacena en /etc, "chmod 660" tiene más sentido, entonces el propietario y el grupo pueden leer/escribir el archivo. En este caso, tendría bitcoind ejecutándose como un demonio en todo el sistema. Pero para ser honesto, no he visto tal configuración discutida en ninguna parte. Esto estaría bien para una configuración estática (usando scripts de shell para el inicio), pero imagine que lo usa todos los días para la generación de tx o las comprobaciones de estado. Cada llamada al ejecutable de bitcoind requeriría la ruta correcta al archivo de configuración, y si no, bitcoind crea uno (en su directorio de inicio), y luego podría dar problemas de acceso a RPC...

Artículo n.º 2 Similar al n.º 1, además de +1 puntos de estilo, ¿hay alguna ventaja en mover los registros a /var/log?

Esto nuevamente depende de la distribución utilizada. Mi OpenBSD usa syslog (para /var/log), mientras que los sistemas OpenSuSE han introducido recientemente el sistema de diario, donde todo el registro está en una base de datos. Debo admitir que me siento más cómodo con /var/log, pero cuando mi amado OpenBSD también desaparezca de /var/log, ¿qué hacer con los registros del sistema bitcoin? Por lo general, diría que /var/log debe permanecer para el registro relacionado con el sistema Unix, y cada aplicación (considero bitcoind como una aplicación) debe tener su propio registro (y directorio relacionado). Esto hace que la separación de funciones en un sistema unixoide más grande sea más fácil, y los administradores de sistemas no encontrarán datos irrelevantes en su conocido directorio /var/log.