Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
pam_cracklib.
После установки этой программы, вы можете перейти в /etc/pam.d/system-auth и ввести примерно следующее:
password required pam_cracklib.so minlen=12 lcredit=-1 ucredit=-1 dcredit=-2 ocredit=-1
http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
$ rpm -ivh epel-release-7-9.noarch.rpm
После установки репозитория EPEL, вы сможете установить и Tripwire:
$ sudo yum install tripwire
Теперь создайте файл ключей:
$ tripwire-setup-keyfiles
Вам предложат ввести сложный пароль для файла ключей. После этого можно настроить Tripwire, внеся изменения в файл /etc/tripwire/twpol.txt. Работать с этим файлом несложно, так как каждая строка оснащена содержательным комментарием.
Когда настройка программы завершена, следует её инициализировать:
$ tripwire --init
Инициализация, в ходе которой выполняется сканирование системы, займёт некоторое время, зависящее от размеров ваших файлов.
Любые модификации защищённых файлов расцениваются как вторжение, администратор будет об этом оповещён и ему нужно будет восстановить систему, пользуясь файлами, в происхождении которых он не сомневается.
По этой причине необходимые изменения системы должны быть подтверждены с помощью Tripwire. Для того, чтобы это сделать, используйте следующую команду:
$ tripwire --check
И вот ещё одна рекомендация, касающаяся Tripwire. Защитите файлы twpol.txt и twcfg.txt. Это повысит безопасность системы.
У Tripwire есть множество параметров и установок. Посмотреть справку по ней можно так: man tripwire
Просмотреть предопределённые сетевые зоны можно так:
$ firewall-cmd --get-zones
Каждая из этих зон имеет определённый уровень доверия.
Это значение можно обновить следующим образом:
$ firewall-cmd --set-default-zone=<new-name>
Получить подробные сведения о конкретной зоне можно так:
$ firewall-cmd --zone=<zone-name> --list-all
Просмотреть список всех поддерживаемых служб можно следующей командой:
$ firewall-cmd --get-services
Затем можно добавлять в зону новые службы или убирать существующие:
$ firewall-cmd --zone=<zone-name> --add-service=<service-name>
$ firewall-cmd --zone=<zone-name> --remove-service=<service-name>
Можно вывести сведения обо всех открытых портах в любой зоне: $ firewall-cmd --zone=<zone-name> --list-ports
Добавлять порты в зону и удалять их из неё можно так: $ firewall-cmd --zone=<zone-name> --add-port=<port-number/protocol>
$ firewall-cmd --zone=<zone-name> --remove-port=<port-number/protocol>
Можно настраивать и перенаправление портов:
$ firewall-cmd --zone=<zone-name> --add-forward-port=<port-number>
$ firewall-cmd --zone=<zone-name> --remove-forward-port=<port-number>
Firewalld — это весьма продвинутый инструмент. Самое примечательное в нём то, что он может нормально работать, например, при внесении изменений в настройки, без перезапусков или остановок службы. Это отличает его от средства iptables, при работе с которым службу в похожих ситуациях нужно перезапускать.
Создайте новую группу:
$ groupadd compilerGroup
Затем измените группу бинарных файлов компилятора:
$ chown root:compilerGroup /usr/bin/gcc
И ещё одна важная вещь. Нужно изменить разрешения этих бинарных файлов:
$ chmod 0750 /usr/bin/gcc
Теперь любой пользователь, который попытается использовать gcc, получит сообщение об ошибке.
Атрибут иммутабельности можно удалить такой командой: $ chattr -i /mysсript
Так можно защищать любые файлы, но помните о том, что если вы обработали таким образом бинарные системные файлы, вы не сможете их обновить до тех пор, пока не снимите флаг иммутабельности.
pam_cracklib.
После установки этой программы, вы можете перейти в /etc/pam.d/system-auth и ввести примерно следующее:
password required pam_cracklib.so minlen=12 lcredit=-1 ucredit=-1 dcredit=-2 ocredit=-1
http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
$ rpm -ivh epel-release-7-9.noarch.rpm
После установки репозитория EPEL, вы сможете установить и Tripwire:
$ sudo yum install tripwire
Теперь создайте файл ключей:
$ tripwire-setup-keyfiles
Вам предложат ввести сложный пароль для файла ключей. После этого можно настроить Tripwire, внеся изменения в файл /etc/tripwire/twpol.txt. Работать с этим файлом несложно, так как каждая строка оснащена содержательным комментарием.
Когда настройка программы завершена, следует её инициализировать:
$ tripwire --init
Инициализация, в ходе которой выполняется сканирование системы, займёт некоторое время, зависящее от размеров ваших файлов.
Любые модификации защищённых файлов расцениваются как вторжение, администратор будет об этом оповещён и ему нужно будет восстановить систему, пользуясь файлами, в происхождении которых он не сомневается.
По этой причине необходимые изменения системы должны быть подтверждены с помощью Tripwire. Для того, чтобы это сделать, используйте следующую команду:
$ tripwire --check
И вот ещё одна рекомендация, касающаяся Tripwire. Защитите файлы twpol.txt и twcfg.txt. Это повысит безопасность системы.
У Tripwire есть множество параметров и установок. Посмотреть справку по ней можно так: man tripwire

Просмотреть предопределённые сетевые зоны можно так:
$ firewall-cmd --get-zones

Каждая из этих зон имеет определённый уровень доверия.
Это значение можно обновить следующим образом:
$ firewall-cmd --set-default-zone=<new-name>
Получить подробные сведения о конкретной зоне можно так:
$ firewall-cmd --zone=<zone-name> --list-all
Просмотреть список всех поддерживаемых служб можно следующей командой:
$ firewall-cmd --get-services

Затем можно добавлять в зону новые службы или убирать существующие:
$ firewall-cmd --zone=<zone-name> --add-service=<service-name>
$ firewall-cmd --zone=<zone-name> --remove-service=<service-name>
Можно вывести сведения обо всех открытых портах в любой зоне: $ firewall-cmd --zone=<zone-name> --list-ports
Добавлять порты в зону и удалять их из неё можно так: $ firewall-cmd --zone=<zone-name> --add-port=<port-number/protocol>
$ firewall-cmd --zone=<zone-name> --remove-port=<port-number/protocol>
Можно настраивать и перенаправление портов:
$ firewall-cmd --zone=<zone-name> --add-forward-port=<port-number>
$ firewall-cmd --zone=<zone-name> --remove-forward-port=<port-number>
Firewalld — это весьма продвинутый инструмент. Самое примечательное в нём то, что он может нормально работать, например, при внесении изменений в настройки, без перезапусков или остановок службы. Это отличает его от средства iptables, при работе с которым службу в похожих ситуациях нужно перезапускать.

Создайте новую группу:
$ groupadd compilerGroup
Затем измените группу бинарных файлов компилятора:
$ chown root:compilerGroup /usr/bin/gcc
И ещё одна важная вещь. Нужно изменить разрешения этих бинарных файлов:
$ chmod 0750 /usr/bin/gcc
Теперь любой пользователь, который попытается использовать gcc, получит сообщение об ошибке.

Атрибут иммутабельности можно удалить такой командой: $ chattr -i /mysсript

Так можно защищать любые файлы, но помните о том, что если вы обработали таким образом бинарные системные файлы, вы не сможете их обновить до тех пор, пока не снимите флаг иммутабельности.