Безопасность

Предыдущая  Содержание  Следующая  V*D*V

(недоделано)

 

После отладки всей системы необходимо повысить надёжность работы, отключив всё лишнее и проверить безопасность системы.


В файле /etc/profile:

Добавить автоматическое завершение сеанса пользователя:
export TMOUT=3600

Уменьшить число хранимых команд истории оболочки:
export HISTSIZE=10

Уничтожать файл истории команд .ash_history после выхода пользователя:
export HISTFILESIZE=0


В файле /etc/passwd удалить неиспользуемых пользователей и указать домашние директории.

 

root:x:0:0:root:/root:/bin/sh

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

sync:x:4:100:sync:/bin:/bin/sync

mail:x:8:8:mail:/var/spool/mail:/bin/sh

--proxy:x:13:13:proxy:/bin:/bin/sh

--www-data:x:33:33:www-data:/var/www:/bin/sh

--backup:x:34:34:backup:/var/backups:/bin/sh

--operator:x:37:37:Operator:/var:/bin/sh

haldaemon:x:68:68:hald:/:/bin/sh

--dbus:x:81:81:dbus:/var/run/dbus:/bin/sh

--nobody:x:99:99:nobody:/home:/bin/sh

sshd:x:103:99:Operator:/var:/bin/sh

--default:x:1000:1000:Default non-root user:/home/default:/bin/sh

 

Найти всех "мёртвых" пользователей, можно командой:

 

cut -f 1 -d : /etc/passwd |

     while read i; do find / -user "$i" | grep -q . && echo "$i"; done


В файле /etc/group удалить неиспользуемые группы.

http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html

http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/usernames.html

 

root:x:0:

daemon:x:1:

bin:x:2:

sys:x:3:

--adm:x:4:

tty:x:5:

--disk:x:6:

wheel:x:10:root

--utmp:x:43:

--staff:x:50:

haldaemon:x:68:

--dbus:x:81:

netdev:x:82:

--nobody:x:99:

nogroup:x:99:

users:x:100:

default:x:1000:


Установить атрибут immutable для файлов /etc/passwd, /etc/shadow, /etc/group:

 

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/services


Запретить доступ к сценариям запуска программ всем, кроме root:

 

chmod 0700 /etc/init.d/*


Запретить обычному пользователю выполнять программы с правами root, сняв s-бит у файлов /bin/mount, /bin/umount, /bin/ping:

 

chmod a-s /bin/mount

chmod a-s /bin/umount

chmod a-s /bin/ping

 

Найти все программы, у которых стоит разрешение на запуск можно:

 

find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls ­lg {} \;


В файле /etc/sysctl.conf:

Установить запрет ответа на широковещательные ping-запросы:
net.ipv4.icmp_e_cho_ignore_broadcasts=1
 

Запретить использование сервером информации об источнике пакета:
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
 

Включить защиту от SYN-атак:
net.ipv4.tcp_syncookies=1
 

Включить защиту от подделки IP-адреса:
ipv4.conf.all.rp_filter=2
net.ipv4.conf.default.rp_f liter=2
 

Выключить ICMP-переадресацию (при необходимости для сетей несложной структуры):
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0

 

Если требуется доступ только с определённых IP-адресов:

Создать или отредактировать файл /etc/hosts.deny и добавить в него запрет доступа для всех, кто не прописан в файле разрешений:

 

ALL: ALL@ALL, PARANOID 

 

Создать или отредактировать файл /etc/hosts.allow и добавить в него список разрешений:

 

ftp: 200.20.20.200 example.com

 

Проверить конфигурацию на наличие проблем:

 

tcpdchk


Отключить доступ root:

Оставить только физическую консоль ttyS0 в файле /etc/securetty;

Запретить доступ через SSH. Для dropbear: добавить в строку запуска ключ -w. Либо вообще его выключить;

Запретить доступ через FTP. Для ProFTP: RootLogin off;

При необходимости выключить возможность логина, заменить в /etc/passwd оболочку /bin/sh на /sbin/nologin (?такой нет...);

 

Предыдущая  Содержание  Следующая