Nous vous conseillons d'utiliser un firewall, si vous utilisez Naja sur Internet. Naja ne devrait jamais être utilisé comme serveur de production sous les systèmes d'exploitation tel que Windows 95, 98, or ME (Millenium Edition). Seuls Windows NT 4.0, 2000, XP devraient être considérés, et seulement avec un système de fichiers approprié (NTFS) et une gestion utilisateur, ou si vous êtes dans votre réseau local.
L'Interface Web Admin vous permet de prendre le contrôle sur Naja à distance en passant par une connexion internet. Pour celà, vous devez activer l'interface web et un serveur dans les options, puis appliquer et appuyer sur le bouton 'start' du serveur considéré (le serveur sécurisé ne fonctionne que sur la version eXtended). Avant de vous connecter, vous devez impérativement changer de login et de password. Ensuite, connectez vous à cette adresse http://localhost:4761/webadmin/login.py, pour vous connectez depuis l'extérieur de votre réseau vous devez connaître votre adresse publique (Aide/Adresse publique). Si vous changez le paramètre du port, vous devez stopper, appliquer et redémarrer le serveur. L'Interface Web Admin évoluera dans les prochaines versions.
Le Serveur peut publier des pages internet dynamiques écrites en Python, comme pour PHP (PHP est un script de langage pour les serveurs internet), ou les scripts CGI. Il y a quelques exemples dans le répertoires 'web' (http://localhost:4761/test/test.py). Attention, avant d'utiliser ce serveur sur Internet, il est important de supprimer les fichiers exemples (testXX.py, testXX.pyc).
Pour accéder aux scripts, il existe deux méthodes. La méthode 'requesthandler' stoque les données dans un buffer avant de les envoyées, et la méthode 'requesthandlerstream' envoie directement dans le flux de sortie. Le serveur appelle une seule méthode, cette méthode se trouve dans le tableau suivant __all__ = ['requesthandlerstream'].
Vous pouvez partager vos ressources, et vos clients peuvent les récupérer avec le module mod_dav_ftp. Par défaut, le serveur utilise seulement les méthodes GET, POST, et HEAD. Pour ajouter des méthodes supplémentaires à votre serveur vous devez utiliser l'interface authentification (Options). Les méthodes doivent être séparées par des virgules (voir la liste des méthodes). Ajouter la méthode PROPFIND pour lister le contenu d'une URL en utilisant mod_dav_ftp.
Pour protéger un répertoire, vous pouvez utiliser 2 types d'authentification 'Basic' ou 'Digest', sachant que 'Digest' est l'authentification la plus sûre des deux. Ajouter ensuite vos utilisateurs. L'exemple /public/ représente l'adresse suivante http://localhost:4761/public/ sans authentification (Attention, ajouter NOCGI avant PROPFIND pour l'URI /public/).
Liste des méthodes
NOCGI n'exécute pas les CGI (.py, .pyc, ...)
INDEXES permet d'afficher le contenu d'un répertoire dans un navigateur
DELETE efface une ressource (fichier ou répertoire)
PROPFIND permet de donner le contenu et les attributs d'une ressource (fichier ou répertoire)
MKCOL est utilisée pour créer un répertoire
PUT permet de stoquer des fichiers sur votre serveur
Les autres méthodes seront ajoutées dans les prochaines versions.
Pour démarrer le serveur, vous devez avoir la version eXtended. Le but est de fournir une sécurité plus importante sur la partie WebAdmin.
Comment lancer le serveur?
Le serveur a besoin d'une clé PEM et d'un certificat. Dans les options, section web, cliquez sur le boutton 'Connexion Sécurisée', sélectionnez votre fichier PEM (ex: naja_server.pkey), sélectionnez votre certificat (ex: naja_server.crt), et remplissez le champs 'Passphrase' avec un mot de passe (ex naja pour naja_server.pkey). Cette passphrase décrypte votre clé PEM. Vous pouvez lancer votre serveur. Testez cette configuration, vous pouvez activer la partie WebAdmin sur 'https', quittez les propriétés principales, cliquez sur WebAdmin (Aide/WebAdmin), et acceptez ce certificat temporairement pour cette session.

Avec ces paramètres, toutes personnes peuvent se connecter au serveur, mais toutes les sessions seront sécurisées. Si vous voulez plus de sécurités, et vous voulez être le seul à vous connecter, remplissez le champs 'Certificat d'Autorité' (naja_CA.crt), Stoppez le serveur, cliquez sur le boutton 'Appliquer', réouvrez la fenêtre des options, et redémarrez votre serveur. Essayez de vous connecter. Vous ne pouvez pas. Installez votre fichier PKCS12 dans votre navigateur internet (sous Windows, Double cliquez sur le fichier p12, et suivez les instructions), dans ce cas utilisez naja_client.p12 (la passphrase est naja), réessayez de vous connecter. Le navigateur vous demande d'utiliser un certificat, utilisez 'Naja Client'. ATTENTION, vous ne devez pas utilisez ces clés et certificats d'exemple, car ces fichiers sont dans toutes les distributions de Naja. Vous devez créer vos propres clés et certificats, vous pouvez le faire avec la version eXtended.
Comment créer mes clés et mes certificats?
Keyphrene a créé ces fichiers naja_CA.pkey , naja_CA.crt, naja_server.pkey, naja_server.crt, naja_client.pkey, naja_client.crt, naja_client.p12, vous allez créer maintenant les votres my_CA.pkey , my_CA.crt, my _server.pkey, my_server.crt, my_client.pkey, my_client.crt, my_client.p12.
Première étape: Outils/Crypto/Clé Génération

La passphrase crypte la clé PEM. Créez 3 clés PEM:
my_CA.pkey avec passphrase
my_server.pkey avec passphrase
my_client.pkey sans passphrase (les librairies standards de python n'utilisent pas de passphrase pour les connexions SSL)
ATTENTION: plus la clé est longue, plus le temps de construction est long (PII 266 Mhz: une clé de 8192 = 1 hour), pendant cette période la fenêtre peut geler.
Seconde étape: Outils/Crypto/Certificat Génération
Créez 3 certificats (my_CA.crt, my_server.crt, my_client.crt)



Troisième étape: Outils/Crypto/PKCS Génération

Vous pouvez tester ces nouvelles clés et certificats sur votre serveur.
ATTENTION: les fichiers les plus importants sont les fichiers clés, évitez de garder sur votre ordinateur my_CA.pkey (le plus précieux, avec lui on peut recréer d'autres certificats).