„Ubuntu szerver általános biztonsági beállításai (Fossa)” változatai közötti eltérés
30. sor: | 30. sor: | ||
<pre>deb-systemd-invoke restart procps.service</pre> | <pre>deb-systemd-invoke restart procps.service</pre> | ||
===A sudo és az umask beállításai=== | ===A sudo és az umask beállításai=== | ||
Az Ubuntu alapértelmezett ''umask''-ja 002 (vagyis az újonnan létrehozott file-ok 664-es [rwxrw-r--] jogokkal jönnek létre), ami nézetem szerint nagyon engedékeny (640-et [rw-r--r--] szeretnénk). A ''root'' számára szeretnénk meghagyni a 644-es [rw-r--r--] alapértelmezett jogokat (akár ''sudo''-val, akár ''su''-val tettünk szert a ''root'' jogosultságra). | |||
Az ''umask'' system-wide beállításához | |||
* egyrészt a ''/etc/login.defs''-ben módosítsuk az ''UMASK'' értékét: | |||
<pre>-rw-r--r-- root root /etc/login.defs | |||
[...] | |||
UMASK 027 | |||
[...]</pre> | |||
* másrészt a PAM beállítások között módosítsuk a ''pam_umask'' meghívását a ''/etc/pam.d/common-session'' állomány vége felé: | |||
<pre>-rw-r--r-- root root /etc/pam.d/common-session | |||
[...] | |||
#session optional pam_umask.so | |||
session optional pam_umask.so debug umask=027</pre> | |||
* Ez a beállítás valamennyi (ezután bejelentkező, shell, system, stb.) felhasználóra érvényes lesz (a ''root''-ra is - korábban kivétel volt), ezért speciálisan a ''root'' login shelljénél hagyjuk meg a megszokott ''022''-t: | |||
<pre>-rw-r----- root root /root/.profile | |||
[...] | |||
umask 022 | |||
[...]</pre> | |||
Így ha a virtuális ''root'' konzolt a ''su -'' paranccsal indítjuk vagy valódi konzolon ''root''-ként jelentkezünk be (de csak ekkor!) az ''umask'' értéke ''022'' lesz. | |||
* A ''sudo'' módosításához a ''visudo'' paranccsal szerkesszük meg a ''/etc/sudoers'' állományt, adjuk hozzá ezt a két paramétert: | |||
<pre>[...] | |||
Defaults umask_override | |||
Defaults umask=0022 | |||
[...]</pre> | |||
A beállítások a következő újraindításkor lépnek életbe. | |||
'''Figyelem: ezt ne toljuk el!''' - ''root''-ként a 027-es ''umask'' pl. azt eredményezheti, hogy szerencsétlen esetben egy ''apt install'' után a ''/var''-ra nem lesz semmilyen ''other's'' jog. Ezért most, egy reboot után, ''sysadmin'' felhasználóként végezzük el az alábbi tesztet: | |||
<pre> | |||
touch user-test | |||
sudo touch sudo-test | |||
sudo -i | |||
touch /home/$SUDO_USER/root-test | |||
exit | |||
ls -l *-test | |||
</pre> | |||
Az elvárt eredmény: | |||
<pre> | |||
-rw-r--r-- 1 root root [...] root-test | |||
-rw-r--r-- 1 root root [...] sudo-test | |||
-rw-r----- 1 sysadmin sysadmin [...] user-test</pre> | |||
Sikeres teszt esetén takarítsuk el a teszt állományokat: | |||
<pre>sudo rm *-test</pre> | |||
Ügyeljünk arra, hogy ha valamiért a későbbiekben a ''su''-t használnánk, azt mindig ''su -i'' formában tegyük! |
A lap 2020. május 18., 18:04-kori változata
Ez a fejezet egy Ubuntu Fossa szervergép nyilvános elérésűvé tételéhez minimálisan szükséges beállításokkal foglalkozik. Feltételezzük, hogy a szerver saját csomagszűrő tűzfallal már rendelkezik.
TODO: SELinux, PaX, grsecurity
Általános szigorítások, beállítások
Az alábbi beállítások jó része a Securing Debian Manual illetve a közismert Zákány-dolgozat alapján készült.
Kernel paraméterek
Célszerű lehet a syn flood elleni védelem beállítása, esetleges kernel pánik esetén az automatikus reboot kérése, illetve hasznos lehet az alapértelmezésben 5 napos established connection tracking time lecsökkentése 0,5 napra (paranoid beállítás esetén 10 percre).
Mindezeket egy, az alapértelmezett kernel paramétereket felülbíráló állományban lehet előírni:
-rw-r--r-- root root /etc/sysctl.d/local.conf # Uncomment the next line to enable TCP/IP SYN cookies # See http://lwn.net/Articles/277146/ # Note: This may impact IPv6 TCP sessions too net.ipv4.tcp_syncookies=1 ################################################################### # Extra settings # Reboot after 1 minute on kernel panic kernel.panic=60 # reduce TCP conntrack time net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=43200 # paranoid restriction # net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600
A beállított paraméterek az alábbi paranccsal (vagy a számítógép újraindításával) érvényesíthetőek:
deb-systemd-invoke restart procps.service
A sudo és az umask beállításai
Az Ubuntu alapértelmezett umask-ja 002 (vagyis az újonnan létrehozott file-ok 664-es [rwxrw-r--] jogokkal jönnek létre), ami nézetem szerint nagyon engedékeny (640-et [rw-r--r--] szeretnénk). A root számára szeretnénk meghagyni a 644-es [rw-r--r--] alapértelmezett jogokat (akár sudo-val, akár su-val tettünk szert a root jogosultságra).
Az umask system-wide beállításához
- egyrészt a /etc/login.defs-ben módosítsuk az UMASK értékét:
-rw-r--r-- root root /etc/login.defs [...] UMASK 027 [...]
- másrészt a PAM beállítások között módosítsuk a pam_umask meghívását a /etc/pam.d/common-session állomány vége felé:
-rw-r--r-- root root /etc/pam.d/common-session [...] #session optional pam_umask.so session optional pam_umask.so debug umask=027
- Ez a beállítás valamennyi (ezután bejelentkező, shell, system, stb.) felhasználóra érvényes lesz (a root-ra is - korábban kivétel volt), ezért speciálisan a root login shelljénél hagyjuk meg a megszokott 022-t:
-rw-r----- root root /root/.profile [...] umask 022 [...]
Így ha a virtuális root konzolt a su - paranccsal indítjuk vagy valódi konzolon root-ként jelentkezünk be (de csak ekkor!) az umask értéke 022 lesz.
- A sudo módosításához a visudo paranccsal szerkesszük meg a /etc/sudoers állományt, adjuk hozzá ezt a két paramétert:
[...] Defaults umask_override Defaults umask=0022 [...]
A beállítások a következő újraindításkor lépnek életbe.
Figyelem: ezt ne toljuk el! - root-ként a 027-es umask pl. azt eredményezheti, hogy szerencsétlen esetben egy apt install után a /var-ra nem lesz semmilyen other's jog. Ezért most, egy reboot után, sysadmin felhasználóként végezzük el az alábbi tesztet:
touch user-test sudo touch sudo-test sudo -i touch /home/$SUDO_USER/root-test exit ls -l *-test
Az elvárt eredmény:
-rw-r--r-- 1 root root [...] root-test -rw-r--r-- 1 root root [...] sudo-test -rw-r----- 1 sysadmin sysadmin [...] user-test
Sikeres teszt esetén takarítsuk el a teszt állományokat:
sudo rm *-test
Ügyeljünk arra, hogy ha valamiért a későbbiekben a su-t használnánk, azt mindig su -i formában tegyük!