Compare commits

..

18 Commits

Author SHA1 Message Date
Yves Dubromelle
e8521880e1 bloc commenté pour activer le pack d'extention virtualbox 2016-08-20 09:54:46 +02:00
Yves Dubromelle
313457be31 wrapper setuid pour udevil (montage USB, smb, etc...) 2016-08-20 09:54:46 +02:00
df0951ce65 ajout de commentaires 2016-08-19 19:53:59 +02:00
1323e6dee1 commandes pour gérer un système de fichier temporaire en mémoire 2016-08-19 19:50:13 +02:00
Yves Dubromelle
d16271c61e fix: monstre est censé servir de résolveur pour le LAN dubronetwork 2016-08-17 09:48:48 +02:00
6c45e0bfa2 autorisation de 'sudo mtr' pour tous les users 2016-08-16 20:05:02 +02:00
c2d3bb8cb4 désactivation de l'envois de mail par fail2ban. Erreur de PATH nixos 2016-08-16 20:03:49 +02:00
d5c79218fa ajout whois 2016-08-15 17:11:55 +02:00
e7ef51ecbe il faut configurer un peu plus la règle 2016-08-15 17:07:45 +02:00
6c02c2200c envois de mails lors d'un ban avec informations whois & lignes 2016-08-15 16:57:07 +02:00
c8592c769e ajout des valeurs par défaut car remplacées 2016-08-15 16:17:46 +02:00
7b298ac8a3 activation règle ssh-iptable 2016-08-15 16:14:06 +02:00
9190d21a65 il manquait la commande mail pour munin 2016-08-15 14:46:09 +02:00
Yves Dubromelle
b4c960d3d3 fix: quand isDesktop = true, les autres paquets n'étaient plus là 2016-08-15 02:47:53 +02:00
516976ccf9 désactivation de sudo sans mot de passe 2016-08-14 11:25:32 +02:00
634af07219 ajout d'assertion à users.nix 2016-08-14 10:43:41 +02:00
91d414d3e1 ajustement description 2016-08-14 10:42:15 +02:00
ca0171b70e une partie des outils d'admin sont disponibles en permanence 2016-08-14 10:27:17 +02:00
10 changed files with 103 additions and 23 deletions

View File

@@ -1,5 +1,6 @@
all: rebuild-switch all: rebuild-switch
date date
##--------- Commandes spécifiques pour NixOS
clean: clean:
nix-collect-garbage -d --delete-older-than 15d nix-collect-garbage -d --delete-older-than 15d
@@ -15,22 +16,24 @@ clean-log:
full-auto: submodules-update upgrade clean optimise full-auto: submodules-update upgrade clean optimise
munin:
pushd /var/www/munin/ ; python -m SimpleHTTPServer 8000
optimise: optimise:
nix-store --optimise nix-store --optimise
push: submodules-push
git push --all
git push --tags
rebuild-switch: rebuild-switch:
nixos-rebuild switch --fallback --show-trace nixos-rebuild switch --fallback --show-trace
store-repair: store-repair:
nix-store --verify --check-contents --repair nix-store --verify --check-contents --repair
upgrade:
nixos-rebuild switch --upgrade --fallback --show-trace
##--------- Commandes spécifiques pour GIT
push: submodules-push
git push --all
git push --tags
submodules-update: submodules-update:
#git submodule update --remote #git submodule update --remote
git submodule foreach git co master git submodule foreach git co master
@@ -49,6 +52,21 @@ template:
tag: submodules-tag tag: submodules-tag
git tag -f "$$(date +%F)-$$(hostname -s)" git tag -f "$$(date +%F)-$$(hostname -s)"
upgrade: ##--------- Munin
nixos-rebuild switch --upgrade --fallback --show-trace
munin:
pushd /var/www/munin/ ; python -m SimpleHTTPServer 8000
##--------- Gestion d'un système de fichier monté en mémoire
tmpfs-create:
mkdir -p /mnt/tmpfs
tmpfs-mount: tmpfs-create
mount -t tmpfs -o size=10G tmpfs /mnt/tmpfs
tmpfs-umount:
umount /mnt/tmpfs
tmpfs-destroy: tmpfs-umount
rmdir /mnt/tmpfs

View File

@@ -13,6 +13,14 @@ in
mkIf cfg.fail2ban { mkIf cfg.fail2ban {
# Gestion de fail2ban # Gestion de fail2ban
# Paquets
environment.systemPackages = with pkgs; [
mailutils
whois
];
# Services # Services
services = { services = {
fail2ban = { fail2ban = {
@@ -30,13 +38,27 @@ mkIf cfg.fail2ban {
maxretry = 3 maxretry = 3
destemail = ${destemail} destemail = ${destemail}
# https://github.com/Baughn/nixpkgs/blob/master/nixos/modules/services/security/fail2ban.nix
findtime = 600
maxretry = 3
backend = systemd
enabled = true
''; '';
ssh-route = '' ssh-route = ''
filter = sshd filter = sshd
action = route[blocktype=blackhole] action = route[blocktype=blackhole]
maxretry = 3
''; '';
# désactivation car souci de PATH avec les commandes mail ou sendmail. Nécessite un path motifiable
# ticket à ouvrir
#ssh-mail = ''
# filter = sshd
# action = sendmail[sendername=Fail2ban @${config.networking.hostName}]
#'';
}; };
}; };
}; };
# https://github.com/NixOS/nixpkgs/issues/8437
services.fail2ban.jails.ssh-iptables = "enabled = true";
} }

File diff suppressed because one or more lines are too long

View File

@@ -106,7 +106,7 @@ in
(mkIf pfl.isHome { (mkIf pfl.isHome {
r6d.profiles.isDesktop = true; r6d.profiles.isDesktop = true;
}) })
(mkIf pfl.isServer { (mkIf (pfl.isServer && !comp.isMonstre) {
r6d.config-generator = { r6d.config-generator = {
#database_postgres = true; #database_postgres = true;
dns_autorite = true; dns_autorite = true;
@@ -118,7 +118,7 @@ in
}; };
}) })
# /!\ PAS un serveur # /!\ PAS un serveur
(mkIf (!pfl.isServer) { (mkIf (!pfl.isServer || comp.isMonstre) {
r6d.config-generator = { r6d.config-generator = {
dns_resolveur = true; dns_resolveur = true;
}; };

View File

@@ -55,4 +55,6 @@ in
clawsMail = pkgs.clawsMail.override { enablePluginFancy = true; }; clawsMail = pkgs.clawsMail.override { enablePluginFancy = true; };
mumble = pkgs.mumble.override { pulseSupport = true; }; mumble = pkgs.mumble.override { pulseSupport = true; };
}; };
security.setuidPrograms = [ "udevil" ];
} }

View File

@@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles; profiles = config.r6d.profiles;
in in
mkIf profiles.isDesktop { mkIf true {
# Paquets # Paquets
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@@ -23,9 +23,6 @@ mkIf profiles.isDesktop {
python27Packages.glances python27Packages.glances
usbutils usbutils
# DNS
unbound
# Compression # Compression
lz4 lz4
lzop lzop
@@ -37,14 +34,18 @@ mkIf profiles.isDesktop {
sshfsFuse # ssh sshfsFuse # ssh
## Gestion de FS ## Gestion de FS
gparted
nfs-utils nfs-utils
## Exploitation FS ## Exploitation FS
inotify-tools # être notifié lorsque le contenu d'un répertoire change inotify-tools # être notifié lorsque le contenu d'un répertoire change
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
(mkIf profiles.isDesktop
# ## Gestion de FS
unetbootin # création de clefs USB bootables gparted # Gestion graphique de partitions
)
(mkIf profiles.isDesktop
unetbootin # création de clefs USB bootables
)
#
]; ];
} }

View File

@@ -15,5 +15,13 @@ mkIf cfg.virtualbox {
linuxPackages.virtualboxGuestAdditions linuxPackages.virtualboxGuestAdditions
]; ];
# À décommenter pour activer le pack d'extension
#boot.kernelPackages = pkgs.linuxPackages // {
# virtualbox = pkgs.linuxPackages.virtualbox.override {
# enableExtensionPack = true;
# pulseSupport = true;
# };
#};
virtualisation.virtualbox.host.enable = true; virtualisation.virtualbox.host.enable = true;
} }

View File

@@ -13,6 +13,7 @@ in
./environment.nix ./environment.nix
./localisation.nix ./localisation.nix
#./network-ipv6.nix #./network-ipv6.nix
./sudo.nix
./service-haveged.nix ./service-haveged.nix
./service-monitoring.nix ./service-monitoring.nix
./service-ssh.nix ./service-ssh.nix

View File

@@ -9,6 +9,11 @@ in
mkIf true { mkIf true {
# Paquets
environment.systemPackages = with pkgs; [
mailutils
];
# Services # Services
## Noeud de supervision munin = pas de stockage des données locales ## Noeud de supervision munin = pas de stockage des données locales

17
public/sudo.nix Normal file
View File

@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkMerge mkThenElse;
cfg = config.r6d.config-generator;
computers = config.r6d.computers;
profiles = config.r6d.profiles;
in
mkIf true {
# Authorisation de certaines applications par sudo sans mot de passe
security.sudo.extraConfig = ''
%users ALL = NOPASSWD: ${pkgs.mtr}/bin/mtr
'';
}