Compare commits

..

21 Commits

Author SHA1 Message Date
b622554b42 ajout clef mbp pour root (car radx n'est toujours pas en route) 2016-09-15 12:08:25 +02:00
332f40265d tout le monde peut exécuter mtr sans sudo 2016-09-10 15:27:35 +02:00
Yves Dubromelle
781973228f parce-que je m'ennuie à l'aéroport :) 2016-09-04 10:21:36 +02:00
Yves Dubromelle
65e1c6ff0e utilisation de slock sans sudo -> wrapper setuid 2016-08-27 19:39:13 +02:00
b42c8e3080 tout le monde peut faire 'sudo slock' 2016-08-27 18:11:11 +02:00
adaa4eeb61 ajout de la date après un full-auto 2016-08-26 23:48:27 +02:00
56d2c04cd6 app-dev: commentaires + outils git supplémentaire 2016-08-24 12:48:59 +02:00
ebe63ea5e0 organisation fichier 2016-08-24 12:47:23 +02:00
ea69ceba37 ajout de paquets : duff & odpdown 2016-08-24 12:31:07 +02:00
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
13 changed files with 108 additions and 26 deletions

View File

@@ -1,5 +1,6 @@
all: rebuild-switch
date
##--------- Commandes spécifiques pour NixOS
clean:
nix-collect-garbage -d --delete-older-than 15d
@@ -14,23 +15,26 @@ clean-log:
journalctl --vacuum-size=1G
full-auto: submodules-update upgrade clean optimise
munin:
pushd /var/www/munin/ ; python -m SimpleHTTPServer 8000
@date
optimise:
nix-store --optimise
push: submodules-push
git push --all
git push --tags
rebuild-switch:
nixos-rebuild switch --fallback --show-trace
store-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:
#git submodule update --remote
git submodule foreach git co master
@@ -49,6 +53,21 @@ template:
tag: submodules-tag
git tag -f "$$(date +%F)-$$(hostname -s)"
upgrade:
nixos-rebuild switch --upgrade --fallback --show-trace
##--------- Munin
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 {
# Gestion de fail2ban
# Paquets
environment.systemPackages = with pkgs; [
mailutils
whois
];
# Services
services = {
fail2ban = {
@@ -30,13 +38,27 @@ mkIf cfg.fail2ban {
maxretry = 3
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 = ''
filter = sshd
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";
}

View File

@@ -20,6 +20,7 @@ in {
users.extraUsers.root = {
openssh.authorizedKeys.keys = [
mbpJPierre03
radxJPierre03
radxRoot
phenomTaeradan

View File

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

View File

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

View File

@@ -38,7 +38,9 @@ mkIf true {
## Exploitation FS
inotify-tools # être notifié lorsque le contenu d'un répertoire change
duff # outil de recherche de fichiers en doublons
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
(mkIf profiles.isDesktop
## Gestion de FS
gparted # Gestion graphique de partitions
@@ -46,6 +48,5 @@ mkIf true {
(mkIf profiles.isDesktop
unetbootin # création de clefs USB bootables
)
#
];
}

View File

@@ -35,6 +35,7 @@ mkIf profiles.isDesktop {
gnuplot # générateur de graphes à partir de données numériques
graphviz # dot, neato : traçage de graphes (carré, rond)
jekyll # générateur statique de site web
odpdown # conversion md -> presentation ODP : https://github.com/thorstenb/odpdown
pandoc
texLiveFull # distribution LaTeX
#texLive # distribution LaTeX de base

View File

@@ -12,34 +12,37 @@ mkIf cfg.developpement {
# Paquets
environment.systemPackages = with pkgs; [
# Base de données
pgadmin
sqlitebrowser
pgadmin # interface d'administration de postgres
sqlitebrowser # interface d'administration de sqlite
# Développement
cloc
idea.idea-community
gcc # pour les appels depuis les scripts
idea.idea-community # IntelliJ IDEA
gcc # pour les appels depuis les scripts
# Documentation
zeal
zeal # consulter la documentation hors ligne
## Gestion des sources
# git # déjà présent dans "base"
git-cola
# git # déjà présent dans "base"
# gitg # interface pour utiliser git (historique, commit)
gitstats # génère un site web statique avec des statistiques
gitAndTools.gitFull # pour gitk
git-cola # interface pour utiliser git (historique, commit)
mercurial
subversion
## Haskell
ghc
ghc # pour les appels depuis les scripts
stack
## Rust
cargo # récupération des dépendances + compilation projet rust
rustPlatform.rustc
cargo # récupération des dépendances + compilation projet rust
rustPlatform.rustc # pour les appels depuis les scripts
## Visualisation & outils de diff
gource
meld
vbindiff # diff de fichier hexadecimaux avec vim
gource # visualisation en mouvement de l'historique git
meld # outil de comparaison graphique
vbindiff # diff de fichier hexadecimaux avec vim
];
}

View File

@@ -18,4 +18,5 @@ mkIf profiles.isDesktop {
slock # vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
yubikey-personalization-gui # utilisation de la clef Yubikey
];
security.setuidPrograms = [ "slock" ];
}

View File

@@ -15,5 +15,13 @@ mkIf cfg.virtualbox {
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;
}

View File

@@ -49,6 +49,7 @@ in
];
shellAliases = {
byobu = "byobu-tmux";
jacques-a-dit = "sudo";
tree = "tree -C";
tree1 = "tree -d -L 1";
tree2 = "tree -d -L 2";
@@ -58,6 +59,10 @@ in
};
etc.gitconfig.text = builtins.readFile ./gitconfig;
};
# programmes qui n'ont pas besoin de sudo pour fonctionner
security.setuidPrograms = [
"mtr"
];
programs.bash = {
enableCompletion = true;
promptInit = builtins.readFile ./bash-prompt.sh;

View File

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

18
public/sudo.nix Normal file
View File

@@ -0,0 +1,18 @@
{ 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
%users ALL = NOPASSWD: ${pkgs.slock}/bin/slock
'';
}