Si todo el acceso es a través de SSL, entonces es razonablemente seguro.
La autenticación básica sin SSL solo envía el nombre de usuario / contraseña como codificado en base64, por lo que es trivial extraer los tokens mediante MITM o sniffing.
La autenticación implícita sin SSL es mucho mejor (un mecanismo basado en desafíos) pero aún no es tan segura como una conexión encriptada. Sin embargo, hay pocas indicaciones para el usuario de que la autenticación se está implementando como Digest en lugar de Básico. También los desafíos de autenticación proxy son muy similares.
Los mecanismos de autenticación incorporados no proporcionan una buena experiencia de usuario. Si esto es para un sitio con un grupo de usuarios pequeño y definido, entonces el uso de los métodos integrados es una solución rápida (pero podría considerar la autenticación de certificados del lado del cliente). Pero para un sitio web público, debería pensar en implementar algo un poco más sofisticado.
Debe configurar su servidor web de manera apropiada para evitar el acceso directo al archivo htaccess y la base de datos de contraseñas. Ya sea poniendo la configuración fuera de la raíz del documento (obviamente, esto no va a funcionar para los archivos htaccess, pero son solo una extensión local de la configuración del servidor web) o bloqueando el acceso a los archivos. Todas las distribuciones de Apache que he encontrado bloquean el acceso a los archivos con nombres que comienzan por '.ht'
Si bien puede evitar el acceso directo a la base de datos de contraseñas, no hay mucho margen para limitar los ataques de fuerza bruta en el servidor a través de HTTP, otra razón para considerar un enfoque basado en formularios.