Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
linux:install:server:ubuntu20043 [26/11/2021 05:22] – creat matelinux:install:server:ubuntu20043 [16/01/2024 05:50] (actual) mate
Línia 5: Línia 5:
 <code bash> <code bash>
 sudo apt update -y && sudo apt upgrade -y sudo apt update -y && sudo apt upgrade -y
-sudo apt install -y git vim +sudo apt install -y git vim curl 
 +</code> 
 +<code bash> 
 +sudo update-alternatives --config editor # canvi d'editor per defecte 
 +sudo visudo -f /etc/sudoers.d/nopass # %sudo ALL=(ALL:ALL) NOPASSWD:ALL 
 +</code> 
 +<code bash> 
 +sudo groupadd docker 
 +getent group docker # Get entries from administrative database. 
 +sudo usermod -aG docker ${USER} 
 +sudo chown :docker /var/run/docker.sock 
 +sudo chmod 660 /var/run/docker.sock 
 +</code> 
 +<code bash> 
 +# https://bytexd.com/x2go-ubuntu/ 
 +sudo apt-get install x2goserver x2goserver-xsession 
 +sudo apt install mate-core mate-desktop-environment mate-notification-daemon 
 +sudo apt-get install nfs-common
 </code> </code>
 === zsh === zsh
Línia 15: Línia 32:
 sudo apt-get install -y zsh-syntax-highlighting sudo apt-get install -y zsh-syntax-highlighting
 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting
- +git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
-git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting+
 </code> </code>
-<code properties .zshrc>+<code properties .zshrc>
 ZSH_THEME="agnoster" ZSH_THEME="agnoster"
 plugins=(git     plugins=(git    
Línia 33: Línia 49:
 sudo apt install -y ntp sudo apt install -y ntp
 sudo ln -s /usr/share/zoneinfo/Etc/UTC localtime_old sudo ln -s /usr/share/zoneinfo/Etc/UTC localtime_old
-sudo unlink localtime+sudo unlink /etc/localtime
 sudo ln -s /usr/share/zoneinfo/Europe/Andorra /etc/localtime sudo ln -s /usr/share/zoneinfo/Europe/Andorra /etc/localtime
 sudo systemctl restart ntp.service sudo systemctl restart ntp.service
Línia 52: Línia 68:
 sudo usermod -aG docker fidmag sudo usermod -aG docker fidmag
 </code> </code>
 +=== seguridad
 +  * instalar libreria contraseñas en diccionario:<code bash>sudo apt install libpam-cracklib</code>
 +  * añadir/reeemplazar:<code bash; /etc/pam.d/common-password>password requisite pam_cracklib.so retry=3 minlen=8 difok=3</code>
 +  * parámetros:
 +    * retry: número de intentos antes de que el sistema devuelva un error en la autenticación y nos expulse.
 +    * minlen: es la longitud mínima de la contraseña, por defecto está en 8 caracteres.
 +    * difok: número de caracteres diferentes que debe tener la nueva clave en comparación con la antigua.
 +    * ucredit: caracteres en mayúscula que debe tener como mínimo o máximo.
 +    * lcredit: caracteres en minúscula que debe tener como mínimo o máximo.
 +    * dcredit: el número de dígitos que debe tener como mínimo o máximo.
 +    * ocredit: el número de otros caracteres (símbolos) que debe tener la clave como mínimo o máximo.
 +    * para los credit:
 +       * lcredit=-2 : significa que como mínimo debe tener 2 caracteres en minúscula.
 +       * lcredit=+2 : significa que como máximo debe tener 2 caracteres en minúscula.
 +  * expira la contaseña y obliga a cambio en próximo login:<code bash>paswd -e <USUARIO></code>
 +  * caducidad:<code bash>passwd -w 5 -x 30-i 1 <USUARIO></code>
 +    * **w**: aviso X dias antes de la caducidad
 +    * **x**: expira cada X dias
 +    * **i**: desactiva la cuenta a los X dias si no ha habido cambio de contraseña. Solo root puede reactivar.
 +
 +/via:[[https://www.redeszone.net/tutoriales/seguridad/configurar-politica-contrasenas-debian/]]
 +
 === ufw === ufw
 <code bash> <code bash>
Línia 62: Línia 100:
 ufw app list ufw app list
 </code> </code>
 +/more: [[linux:ufw:start|]]\\
 /via: [[https://community.hetzner.com/tutorials/simple-firewall-management-with-ufw]] /via: [[https://community.hetzner.com/tutorials/simple-firewall-management-with-ufw]]
  
Línia 67: Línia 106:
 /via: [[https://community.hetzner.com/tutorials/securing-ssh]] /via: [[https://community.hetzner.com/tutorials/securing-ssh]]
 <code properties ; /etc/ssh/sshd_config> <code properties ; /etc/ssh/sshd_config>
 +Protocol 2                              # Disables protocol 1
 AllowTcpForwarding no                   # Disables port forwarding. AllowTcpForwarding no                   # Disables port forwarding.
 X11Forwarding no                        # Disables remote GUI view. X11Forwarding no                        # Disables remote GUI view.
Línia 72: Línia 112:
 MaxAuthTries 2 MaxAuthTries 2
 AllowUsers fidmag AllowUsers fidmag
-ClientAliveInterval 300 +ClientAliveInterval 300                 # Timeout por inactividad 
-ClientAliveCountMax 1+ClientAliveCountMax 1                   # cliente ssh que no responde
 PermitRootLogin no PermitRootLogin no
 +LoginGraceTime 30                       # tiempo disponible para teclear usuario y contraseña
 </code> </code>
 <code bash> <code bash>
Línia 85: Línia 126:
 sudo apt install -y fail2ban sudo apt install -y fail2ban
 sudo systemctl enable fail2ban sudo systemctl enable fail2ban
-sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local +sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/custom.conf 
-sudo vim /etc/fail2ban/jail.local # add enabled = true in [sshd] section+sudo vim /etc/fail2ban/jail.d/custom.conf # add enabled = true in [sshd] section 
 +</code> 
 +<code properties /etc/fail2ban/jail.d/custom.conf> 
 +[sshd] 
 +enabled = true 
 +</code> 
 +<code bash> 
 +fail2ban-client status sshd 
 +sudo zgrep 'Ban' /var/log/fail2ban.log # IPs baneadas 
 +sudo iptables -L INPUT -v -n | less
 </code> </code>
- 
 === sudo === sudo
 ==== sudoreplay ==== sudoreplay
Línia 104: Línia 153:
 sudo dpkg-statoverride --update --add root admin 4750 /bin/su sudo dpkg-statoverride --update --add root admin 4750 /bin/su
 </code> </code>
-/via: [[https://www.techrepublic.com/article/how-to-limit-access-to-the-su-command-in-linux/]]+ 
 +=== IPv6 disable 
 +<code bash> 
 +# comprobar estado 
 +ip a | grep inet6 
 + 
 +# desactivar ya 
 +sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 
 +sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 
 +sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1 
 + 
 +# persistencia (solo activa tras un reboot) 
 +echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf 
 +echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf 
 +echo "net.ipv6.conf.lo.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf 
 +</code> 
 + 
 +=== IPv4 forward disable 
 +<code bash> 
 +# comprobar estat 
 +sysctl net.ipv4.ip_forward 
 + 
 +# desactivar inmediatament 
 +sudo sysctl -w net.ipv4.ip_forward=0 
 + 
 +# persistència 
 +cho "net.ipv4.ip_forward=0" | sudo tee -a /etc/sysctl.conf 
 +</code> 
 + 
 +== updates 
 +=== expand filesystem 
 +<code bash> 
 +parted -l /dev/sda 
 +sudo cfdisk 
 +sudo resize2fs /dev/sda2 
 +</code> 
 + 
 +=== canvi IP 
 +<code bash> 
 +sudo vim /etc/netplan/00-installer-config.yaml 
 +sudo netplan apply 
 +</code> 
 +  * [[linux:tcpip:netplan|]] 
 + 
 +=== canvi hostname 
 +<code bash> 
 +sudo vim /etc/hostname 
 +</code> 
 + 
 +== scripts 
 +  * git:%%//%%fidmag.org:/home/git/vmw-master 
 +    * setup.sh 
 +    * post-clone.sh 
 +    * new-docker-certificates.sh 
 +  * certificats: 
 +    * en local:<code bash>scp CA_FIDMAG.crt CA_FIDMAG.key openssl.cnf fidmag@10.213.6.154:~</code> 
 +    * en remot:<code bash>sudo mv CA_FIDMAG.crt CA_FIDMAG.key openssl.cnf /root</code> 
 +    * en local:<code bash>mkdir ~/Documents/certificats-CA/10.213.6.154; scp vmware-master:~/.docker/\* ~/Documents/certificats-CA/10.213.6.154</code> 
 + 
 +== apache+php 
 +<code bash>sudo apt install apache2</code> 
 +<code bash>sudo apt install ca-certificates apt-transport-https software-properties-common -y 
 +echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list 
 +wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - 
 +#wget -qO - https://packages.sury.org/php/apt.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/php-archive-keyring.gpg 
 +#echo "deb [signed-by=/usr/share/keyrings/php-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list 
 +sudo apt update -y 
 +sudo apt install php8.0 
 +sudo apt install php8.0-{mysql,cli,common,xml,fpm,curl,mbstring,zip,gd} 
 +#apt install php php-common php-xml php-gd php-mbstring php-tokenizer php-json php-bcmath php-zip -y 
 +</code> 
 +<code properties; /etc/php/8.0/apache2/php.ini> 
 +upload_max_filesize = 32M  
 +post_max_size = 48M  
 +memory_limit = 256M  
 +max_execution_time = 600  
 +max_input_vars = 3000  
 +max_input_time = 1000</code> 
 +<code bash>systemctl restart apache2</code> 
 +=== default php 
 +<code bash> 
 +a2dismod php7.4 # disable 7.4 
 +a2enmod php8.0 
 +systemctl restart apache2 
 +</code> 
 + 
 +/via: [[https://www.howtoforge.com/how-to-install-php-8-on-debian-11/]]\\ 
 +/via: [[https://computingforgeeks.com/how-to-install-php-on-debian-linux/]]
  • linux/install/server/ubuntu20043.1637932965.txt.gz
  • Darrera modificació: 26/11/2021 05:22
  • per mate