Éclatement de config.py. Quand on git add les fichiers, c'est mieux.
This commit is contained in:
parent
076f466fdb
commit
e042224b6b
17 changed files with 1013 additions and 0 deletions
300
gestion/config/config.py
Normal file
300
gestion/config/config.py
Normal file
|
@ -0,0 +1,300 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
""" Définition de variables de configuration et de comportement des scripts Cr@ns """
|
||||
|
||||
import time
|
||||
import datetime
|
||||
|
||||
# Fichier généré à partir de bcfg2
|
||||
from config_srv import adm_only, role
|
||||
|
||||
##### Gestion des câblages
|
||||
# Selon la date, on met :
|
||||
# -ann_scol : Année scolaire en cours
|
||||
# -periode_transitoire : on accepte ceux qui ont payé l'année dernière
|
||||
|
||||
# Ne modifier que les dates !
|
||||
dat = time.localtime()
|
||||
if dat[1] < 8 or dat[1] == 8 and dat[2] < 16:
|
||||
# Si pas encore début août, on est dans l'année précédente
|
||||
ann_scol = dat[0]-1
|
||||
periode_transitoire = False
|
||||
# sinon on change d'année
|
||||
elif dat[1] < 10 or (dat[1] == 10 and dat[2] < 4):
|
||||
# Si pas encore octobre, les gens ayant payé l'année précédente sont
|
||||
# acceptés
|
||||
ann_scol = dat[0]
|
||||
periode_transitoire = True
|
||||
else:
|
||||
# Seulement ceux qui ont payé cette année sont acceptés
|
||||
ann_scol = dat[0]
|
||||
periode_transitoire = False
|
||||
|
||||
|
||||
## Bloquage si carte d'étudiants manquante pour l'année en cours
|
||||
# /!\ Par sécurité, ces valeurs sont considérées comme False si
|
||||
# periode_transitoire est True
|
||||
# Soft (au niveau du Squid)
|
||||
bl_carte_et_actif = True
|
||||
# Hard (l'adhérent est considéré comme paiement pas ok)
|
||||
bl_carte_et_definitif = True
|
||||
|
||||
#Sursis pour les inscription après le 1/11 pour fournir la carte étudiant
|
||||
sursis_carte=8*24*3600
|
||||
|
||||
# Gel des cableurs pas a jour de cotisation
|
||||
# Les droits ne sont pas retires mais il n'y a plus de sudo
|
||||
bl_vieux_cableurs = False
|
||||
|
||||
##Création de comptes
|
||||
# Gid des comptes créés
|
||||
gid=100
|
||||
club_gid=120
|
||||
# Shell
|
||||
login_shell='/bin/zsh'
|
||||
club_login_shell='/usr/bin/rssh'
|
||||
# Longueur maximale d'un login
|
||||
maxlen_login=15
|
||||
|
||||
# Quels droits donnent l'appartenance à quel groupe Unix ?
|
||||
droits_groupes = {'adm' : [u'Nounou'],
|
||||
'respbats' : [u'Imprimeur', u'Cableur', u'Nounou'],
|
||||
'moderateurs' : [u'Moderateur'],
|
||||
'disconnect' : [u'Bureau'],
|
||||
'imprimeurs' : [u'Imprimeur', u'Nounou', u'Tresorier'],
|
||||
'bureau' : [u'Bureau'],
|
||||
'webadm' : [u'Webmaster'],
|
||||
'webradio' : [u'Webradio'],
|
||||
}
|
||||
|
||||
####### Les ML
|
||||
# Le + devant un nom de ML indique une synchronisation
|
||||
# ML <-> fonction partielle : il n'y a pas d'effacement automatique
|
||||
# des abonnés si le droit est retiré
|
||||
droits_mailing_listes = {'roots' : [ u'Nounou', u'Apprenti'],
|
||||
'mailman' : [ u'Nounou'],
|
||||
'+nounou' : [ u'Nounou', u'Apprenti'],
|
||||
'respbats' : [ u'Cableur', u'Nounou', u'Bureau'],
|
||||
'+moderateurs' : [ u'Moderateur', u'Bureau'],
|
||||
'+disconnect' : [ u'Nounou', u'Bureau'],
|
||||
'+impression' : [ u'Imprimeur'],
|
||||
'bureau' : [u'Bureau'],
|
||||
'tresorier' : [u'Tresorier'],
|
||||
'+ca' : [u'Bureau', u'Apprenti', u'Nounou', u'Cableur'],
|
||||
|
||||
'+federez' : [u'Bureau', u'Apprenti', u'Nounou'],
|
||||
'+install-party' : [u'Bureau', u'Apprenti', u'Nounou'],
|
||||
|
||||
# Correspondance partielle nécessaire... Des adresses non-crans sont inscrites à ces ML.
|
||||
'+dsi-crans' : [u'Nounou', u'Bureau'],
|
||||
'+crous-crans' : [u'Nounou', u'Bureau'],
|
||||
|
||||
'+wrc' : [u'Webradio'],
|
||||
}
|
||||
|
||||
#: Répertoire de stockage des objets détruits
|
||||
cimetiere = '/home/cimetiere'
|
||||
|
||||
#: Adresses mac utiles
|
||||
mac_komaz = '00:19:BB:31:3B:80'
|
||||
mac_wifi = '00:0f:1f:66:e0:e8'
|
||||
mac_titanic = 'aa:73:65:63:6f:76'
|
||||
|
||||
#: Serveur principal de bcfg2
|
||||
bcfg2_main = "bcfg2.adm.crans.org"
|
||||
|
||||
#: Fichier de mapping lun/nom de volume iscsi
|
||||
ISCSI_MAP_FILE = "/usr/scripts/var/iscsi_names.py"
|
||||
ISCSI_MAP_FILE_TEMPLATE = "/usr/scripts/var/iscsi_names_%s.py"
|
||||
|
||||
#: Algorithmes de hashage pour le champ SSHFP
|
||||
# format : { algorithm : (IANA_id, ssh_algo) }
|
||||
# où algorithm est tel qu'il apparait dans les fichiers /etc/ssh/ssh_host_%s_key.pub % algorithm
|
||||
# IANA_id correspond à l'entier attribué par l'IANA pour l'algorithm dans les champs DNS SSHFP
|
||||
# ssh_algo correspond a la première chaine de caractères donnant le nom de l'algorithme de chiffrement lorsque la clef ssh est dans le format openssh (algo key comment)
|
||||
sshfp_algo = {
|
||||
"rsa" : (1, "ssh-rsa"),
|
||||
"dsa" : (2, "ssh-dss"),
|
||||
}
|
||||
|
||||
sshkey_max_age=2*(365.25*24*3600)
|
||||
sshkey_size = {
|
||||
'rsa':4096,
|
||||
'dsa':1024,
|
||||
}
|
||||
|
||||
#: Nombre de jours après le passage en chambre ???? où on supprime les machines
|
||||
demenagement_delai = 8
|
||||
|
||||
|
||||
|
||||
#############################
|
||||
## Paramètres des machines ##
|
||||
#############################
|
||||
|
||||
## >>>>>>>>>>>>>>> La modification des paramètres suivants doit se
|
||||
## >> ATTENTION >> faire avec précaution, il faut mettre la base à
|
||||
## >>>>>>>>>>>>>>> jour en parralèle de ces modifs.
|
||||
|
||||
# Sous réseaux alloués à chaque type de machine ou bâtiment
|
||||
# Pour la zone wifi, il faut penser à modifier le /etc/network/interfaces
|
||||
# de sable, zamok et komaz pour ajouter les zones en plus (et de
|
||||
# faire en sorte qu'ils prennent effet immédiatement ; c'est important pour
|
||||
# komaz car c'est la route par défaut mais aussi pour zamok et sable
|
||||
# à cause de leur firewall et de leur patte wifi.
|
||||
_filaire_adh = [ '138.231.137.0/24', '138.231.138.0/24', '138.231.139.0/24','138.231.140.0/22' ]
|
||||
|
||||
NETs = { 'serveurs' : [ '138.231.136.0/24' ],
|
||||
'adherents' : _filaire_adh,
|
||||
'bornes' : [ '138.231.148.0/24' ],
|
||||
'adm' : [ '10.231.136.0/24' ],
|
||||
'wifi-adh' : [ '138.231.144.0/24', '138.231.145.0/24', '138.231.146.0/24',
|
||||
'138.231.147.0/24', '138.231.149.0/24', '138.231.150.0/24', '138.231.151.0/24' ],
|
||||
'fil' : [ '138.231.136.0/21' ],
|
||||
'gratuit': [ '10.42.0.0/16' ],
|
||||
'wifi': [ '138.231.144.0/21' ],
|
||||
'accueil': ['10.51.0.0/16' ],
|
||||
'isolement': ['10.52.0.0/16' ],
|
||||
'personnel-ens': ['10.2.9.0/24' ],
|
||||
'ens' : ['138.231.135.0/24'],
|
||||
'all' : [ '138.231.136.0/21', '138.231.144.0/21' ],
|
||||
'multicast' : ['239.0.0.0/8'],
|
||||
}
|
||||
|
||||
NETs_regexp = { 'all' : '^138\.231\.1(3[6789]|4[0123456789]|5[01])\.\d+$' }
|
||||
|
||||
# Classes de rid
|
||||
# Merci d'essayer de les faire correspondre avec les réseaux
|
||||
# ci-dessus...
|
||||
rid = {
|
||||
# Rid pour les machines fixes
|
||||
'fil' : (256, 2047),
|
||||
# Rid pour les machines wifi
|
||||
'wifi' : (2048, 4095),
|
||||
# Rid pour les machines du vlan adm
|
||||
'adm' : (51200, 53247),
|
||||
# Rid pour les machines des personnels ens
|
||||
'personnel-ens' : (55296, 55551),
|
||||
# Mid pour les machines du vlan gratuit
|
||||
'gratuit' : (53248, 55295),
|
||||
# Rid pour machines spéciales
|
||||
'special' : (4096, 6143),
|
||||
# Rid pour les filaires v6-only
|
||||
'fil-v6' : (16384, 24575),
|
||||
# Rid pour les wifi v6-only
|
||||
'wifi-v6' : (24576, 32767),
|
||||
# Rid pour les serveurs
|
||||
'serveurs' : (0, 255),
|
||||
}
|
||||
|
||||
# rid pour les machines spéciales (classe 'special' ci-dessus)
|
||||
rid_machines_speciales = {
|
||||
# freebox.crans.org
|
||||
4096: '82.225.39.54',
|
||||
# ovh.crans.org
|
||||
4097: '91.121.84.138',
|
||||
}
|
||||
|
||||
ipv6_machines_speciales = {
|
||||
# freebox
|
||||
4096: 'fe80::210:5aff:feaf:a979',
|
||||
# ovh
|
||||
4097: 'fe80::219:d1ff:fea2:b611',
|
||||
}
|
||||
|
||||
# Les préfixes ipv6
|
||||
prefix = { 'subnet' : [ '2a01:240:fe3d::/48' ],
|
||||
'serveurs' : [ '2a01:240:fe3d:4::/64'],
|
||||
'fil' : [ '2a01:240:fe3d:4::/64' ],
|
||||
'adm' : [ '2a01:240:fe3d:c804::/64' ],
|
||||
'wifi' : [ '2a01:240:fe3d:c04::/64' ],
|
||||
'fil-v6' : [ '2a01:240:fe3d:4::/64' ],
|
||||
'wifi-v6' : [ '2a01:240:fe3d:c04::/64' ],
|
||||
'personnel-ens' : [ '2a01:240:fe3d:4::/64' ],
|
||||
'sixxs2' : [ '2a01:240:fe00:68::/64' ],
|
||||
'evenementiel' : [ '2a01:240:fe3d:d2::/64' ],
|
||||
}
|
||||
|
||||
# Domaines dans lesquels les machines sont placées suivant leur type
|
||||
domains = { 'machineFixe': 'crans.org',
|
||||
'machineCrans': 'crans.org',
|
||||
'machineWifi': 'wifi.crans.org',
|
||||
'borneWifi': 'wifi.crans.org' }
|
||||
|
||||
# VLans
|
||||
vlans = {
|
||||
# VLan d'administration
|
||||
'adm' : 2,
|
||||
# VLan pour le wifi
|
||||
'wifi' : 3,
|
||||
# VLan pour le wifi de l'ens
|
||||
'hotspot' : 4,
|
||||
# VLan des gens qui paient
|
||||
'adherent' : 1,
|
||||
# VLan des inconnus
|
||||
'accueil' : 7,
|
||||
# VLan de la connexion gratuite
|
||||
'gratuit' : 6,
|
||||
'radin' : 6,
|
||||
# Vlan isolement
|
||||
'isolement' : 9,
|
||||
# Vlan de tests de chiffrement DSI
|
||||
'chiffrement': 11,
|
||||
# VLan des appartements de l'ENS
|
||||
'appts': 21,
|
||||
# Vlan evenementiel (install-party, etc)
|
||||
'event': 10,
|
||||
# Vlan zone routeur ens (zrt)
|
||||
'zrt': 1132
|
||||
}
|
||||
|
||||
filter_policy = { 'komaz' : { 'policy_input' : 'ACCEPT',
|
||||
'policy_forward' : 'ACCEPT',
|
||||
'policy_output' : 'ACCEPT'
|
||||
},
|
||||
'zamok' : { 'policy_input' : 'ACCEPT',
|
||||
'policy_forward' : 'DROP',
|
||||
'policy_output' : 'ACCEPT'
|
||||
},
|
||||
'default' : { 'policy_input' : 'ACCEPT',
|
||||
'policy_forward' : 'ACCEPT',
|
||||
'policy_output' : 'ACCEPT'
|
||||
}
|
||||
}
|
||||
|
||||
# Cf RFC 4890
|
||||
authorized_icmpv6 = ['echo-request', 'echo-reply', 'destination-unreachable',
|
||||
'packet-too-big', 'ttl-zero-during-transit', 'parameter-problem']
|
||||
|
||||
output_file = { 4 : '/tmp/ipt_rules',
|
||||
6 : '/tmp/ip6t_rules'
|
||||
}
|
||||
|
||||
file_pickle = { 4 : '/tmp/ipt_pickle',
|
||||
6 : '/tmp/ip6t_pickle'
|
||||
}
|
||||
|
||||
blacklist_sanctions = ['upload', 'warez', 'p2p', 'autodisc_p2p','autodisc_virus','virus','autodisc_upload', 'bloq']
|
||||
blacklist_sanctions_soft = ['autodisc_virus','ipv6_ra','mail_invalide','virus',
|
||||
'upload', 'warez', 'p2p', 'autodisc_p2p', 'autodisc_upload', 'bloq','carte_etudiant','chambre_invalide']
|
||||
|
||||
adm_users = [ 'root', 'identd', 'daemon', 'postfix', 'freerad', 'amavis',
|
||||
'nut', 'respbats', 'list', 'sqlgrey', 'ntpd', 'lp' ]
|
||||
|
||||
open_ports = { 'tcp' : '22' }
|
||||
|
||||
# Debit max sur le vlan de la connexion gratuite
|
||||
debit_max_radin = 1000000
|
||||
debit_max_gratuit = 1000000
|
||||
|
||||
###############################
|
||||
## Vlan accueil et isolement ##
|
||||
###############################
|
||||
accueil_route = {
|
||||
'138.231.136.1':{'tcp':['80','443'],'hosts':['intranet.crans.org']},
|
||||
'138.231.136.67':{'tcp':['80','443'],'hosts':['www.crans.org', 'wiki.crans.org', 'wifi.crans.org']},
|
||||
'138.231.136.98':{'tcp':['20','21','80','111','1024:65535'],'udp':['69','1024:65535'], 'hosts':['ftp.crans.org']},
|
||||
'138.231.136.130':{'tcp':['80','443'],'hosts':['intranet2.crans.org']},
|
||||
'138.231.136.18':{'tcp':['80','443'],'hosts':['cas.crans.org', 'login.crans.org', 'auth.crans.org']},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue