Firedoor

所属分类:数据库系统
开发工具:HTML
文件大小:529KB
下载次数:0
上传日期:2019-11-17 22:15:52
上 传 者sh-1993
说明:  Web服务器防火墙管理器监控数据库管理Web外壳
(Webserver firewall manager monitoring database administration Web shell)

文件列表:
build.sh (191, 2019-11-15)
screenshots (0, 2019-11-15)
screenshots\blacklist.png (15608, 2019-11-15)
screenshots\blacklist_facts.png (23456, 2019-11-15)
screenshots\docker.png (32023, 2019-11-15)
screenshots\home.png (163307, 2019-11-15)
screenshots\login.png (28277, 2019-11-15)
screenshots\monitoring.png (142677, 2019-11-15)
src (0, 2019-11-15)
src\TLS (0, 2019-11-15)
src\TLS\cert.pem (1842, 2019-11-15)
src\TLS\key.pem (3272, 2019-11-15)
src\config_database.py (952, 2019-11-15)
src\core_modules (0, 2019-11-15)
src\core_modules\locked (0, 2019-11-15)
src\core_modules\locked\default_block_rules.conf (2, 2019-11-15)
src\core_modules\locked\default_management_rules.conf (577, 2019-11-15)
src\core_modules\locked\default_static_rules.conf (2048, 2019-11-15)
src\core_modules\locked\essential_rules.conf (952, 2019-11-15)
src\core_modules\locked\icon.png (4121, 2019-11-15)
src\core_modules\locked\interface.html (2197, 2019-11-15)
src\core_modules\locked\locked.py (2505, 2019-11-15)
src\core_modules\settings (0, 2019-11-15)
src\core_modules\settings\icon.png (14201, 2019-11-15)
src\core_modules\settings\interface.html (4387, 2019-11-15)
src\core_modules\settings\settings.py (3696, 2019-11-15)
src\data_files (0, 2019-11-15)
src\data_files\default_database.json (499, 2019-11-15)
src\data_files\firedoor.service (232, 2019-11-15)
src\firedoor.py (2269, 2019-11-15)
src\firedoor_modules_manager.py (4702, 2019-11-15)
src\html (0, 2019-11-15)
src\html\home.html (878, 2019-11-15)
src\html\login.html (2225, 2019-11-15)
src\installer.py (2380, 2019-11-15)
src\modules (0, 2019-11-15)
src\modules\DNS_shield (0, 2019-11-15)
... ...

# Firedoor Le but de ce projet est de concevoir un gestionnaire de serveur : * standalone * simple * modulaire ## Introduction Lors de la mise en service d'un serveur, apres l'installation de l'OS, nous obtenons une machine vierge, disponsant la plupart du temps d'un unique acces SSH pour l'administrer. L'objectif de Firedoor, et d'intervenir a ce moment la, pour securiser cet unique acces, et vous accompagner dans la gestion et securisation de votre serveur. C'est en quelque sorte la brique elementaire que l'on place en 1er, avant de positionner les services derriere ## Standalone ? Firedoor est entirerement developpe en Python, puis packadge par PyInstall pour obtenir un binaire sans dependance. ## Simple ? Firedoor s'installe en une commande, apres cela, toutes les actions d'administration se font depuis l'interface web via des menus intuitifs. *Pour ceux qui n'ont pas besoins de boutons, il est possible d'effectuer l'administration directement en ligne de commande, avec les memes fonctionnalites* ## Modulaire ? Firedoor est un peu comme une passerelle qui fait le lien entre les differents services de votre machine au travers des differents modules. Dans Firedoor, **TOUT EST MODULE**, y compris ses fonctionnalitees principales (*core modules*). Une template de module a ete etablie, qui definie les variables et methodes auquelles les modules on acces, ainsi que leurs entrypoints On peut ajouter n'importe quelle fonctionnalite imaginable et l'ajouter, sans jamais toucher au code principal de Firedoor. Chaque module et un dossier, qu'il suffi de glisser dans le dossier modules avant de generer le binaire. Voici quelques exemples du fonctionnement modulaire de Firedoor : ### Installation Lors de son installation Firedoor va inventorier ses modules afin de voir si ils disposent d'un entrypoint d'installation. Si c'est le cas, les pre-requis de chacun vont etres valides pour garantir le bon fonctionnement de chaque modules ### Interfaces web Lors de l'acces a l'interface web, Firedoor liste les modules disposants d'une interface web, afin de les integrer graphiquement. ### CLI De la meme maniere lors de la saisi d'un commande, les arguments sont directement envoye dans l'entrypoint CLI du module concerne (si il en dispose) ## Liste des modules | Nom | Status | Type | Fontion | | :------------ | :-------- | :----------------- | :---------------------------- | | Settings | Pret | Core module | Permet de modifier les parametres basiques (MDP, Hostname, port, TLS...) ainsi qu'activer et desactiver les autres modules | | Locked | Pret | Core module | Cache les ports d'administration (SSH, FTP...) quand ils ne sont pas utiles. Cela permet de prevenir les scans et les indexations comme Shodan ou ZoomEye | | The blacklist | Pret | Core module | Enregistre les raport des modules de detection, evalue le danger de chaque IP puis la bloque si necessaire | | Rules manager | Pret | Module additionnel | Permet de gerer simplement les regles du firewall pour rendre accessible les services legitimes | | Monitoring | Pret | Module additionnel | Assure la surveillance l'enregistrement et la consultation des constantes vitales de votre serveur | | WAF | Pret (basique) | Module additionnel | Analyse du trafic entrant, detection SQLI/XSS | | DNS Shield | Pret (basique) | Module additionnel | Analyse du trafic entrant, detection des DDoS par reflexion/amplification | | Docker | Pret | Module additionnel | Permet la visualisation et l'administration de ses conteneurs Docker | | SSHTTP | En cours | Module additionnel | Client ligne de commande web pour administrer votre serveur depuis n'importe quel poste sans rien installer | | Updater | A faire | Module additionnel | Verifie les MAJ a effectuer et permet de definire une politique de MAJ automatique | | Bake-up | A faire | Module additionnel | [Sauvegarde incrementielle par Hard-linking](https://github.com/H4ckd4ddy/Bake-up) | # Installtion Python 3.7 requis ### Execution directe du code source ``` cd src/ pip3 install -r requirements.txt # Installation des dependances ./firedoor.py install # Installation de Firedoor ./firedoor.py # Lancement de Firedoor ``` ###### ou ### Construction et installation du binaire ``` pip3 install -r src/requirements.txt # Installation des dependances pip3 install pyinstaller ./build.sh # Creation du binaire chmod +x dist/firedoor cp dist/firedoor /usr/sbin/firedoor /usr/sbin/firedoor install systemctl start firedoor ``` # Utilisation Une fois Firedoor lance, un serveur web se lance par defaut sur le port 80 (Si vous devez modifier la configuration avant de lancer Firedoor, editez directement /etc/firedoor/database.json) Le mot de passe par defaut est ```firedoor``` Vous pouvez alors gerer Firedoor directement via l'interface web, avec les differents modules (Pour activer les autres modules, utilisez le modules settings) # A faire * Commentaires * PEP8 * Homogenisation du code des modules * Interface utilisant un API REST a ajouter : | Module | Fontion a ajouter | | :------------ | :----------------------------------------------------------- | | Settings | Activation de l'authentification par OTP | | The blacklist | Ajout d'une interface de reglages (duree de ban, scoring...) | | Rules manager | Ajouter un tableau de gestion des regles de management | | Monitoring | Ajout d'une sonde pour le disque | | WAF | Ajout d'une interface de gestion des analyzers | | Docker | Ajout de la visualisation des ports et des logs | | SSHTTP | Le faire fonctionner | | Updater | Le faire | | Bake-up | Le faire | # Screenshots ![Page de connexion](screenshots/login.png) ![Page de connexion](screenshots/home.png) ![Page de connexion](screenshots/docker.png) ![Page de connexion](screenshots/blacklist.png) ![Page de connexion](screenshots/blacklist_facts.png) ![Page de connexion](screenshots/monitoring.png)

近期下载者

相关文件


收藏者