Безопасность: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
м (Защищена страница «Безопасность» ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только адм…)
 
(Не показано 10 проміжних версій цього користувача)
Рядок 1: Рядок 1:
=Https доступ к админке=
=Https доступ к админке=


Включаем ssl в apache. Следующая команда раскоментирует в конфиге строку «LoadModule ssl_module ...»:
Включаем ssl в apache. Раскоментируем в конфиге строки:
* LoadModule ssl_module ...
* LoadModule socache_shmcb_module ...
* Include ... httpd-ssl.conf
 
Следующими командами:


<source lang='bash'>
<source lang='bash'>
cd /usr/local/etc/apache24/
cd /usr/local/etc/apache24/
sed -i '' 's/#LoadModule *ssl_module/LoadModule ssl_module/' httpd.conf
sed -i '' 's/#LoadModule *ssl_module/LoadModule ssl_module/' httpd.conf
sed -i '' 's/#LoadModule *socache_shmcb_module/LoadModule socache_shmcb_module/' httpd.conf
sed -i '' 's/#Include \(.*\)ssl.conf/Include \1ssl.conf/' httpd.conf
</source>
</source>
ee /usr/local/etc/apache22/httpd.conf
Для включения HTTPS, перемещаем курсор в конец конфига и раскомментируем
Include etc/apache22/extra/httpd-ssl.conf


Создаем сертификат
Создаем сертификат
#mkdir /usr/local/etc/apache24/ssl
#chmod 700 /usr/local/etc/apache24/ssl


<source lang='bash'>
<source lang='bash'>
Рядок 39: Рядок 39:
</source>
</source>


Настройка ssl-конфига
ee /usr/local/etc/apache22/extra/httpd-ssl.conf
Редактируем файл httpd-ssl.conf
SSLCertificateFile "/usr/local/etc/apache24/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"
Перезапускаем apache
Перезапускаем apache
<source lang='bash'>
apachectl restart
apachectl restart
</source>
Открываем в браузере
Открываем в браузере
https://10.0.0.2/
https://10.0.0.2/
Если не получаем приветствующего сообщения «It works!»:
 
Смотрим логи
Если не получаем приветствующего сообщения «It works!», то:
 
* Смотрим логи
 
<source lang='bash'>
tail /var/log/httpd-error.log
tail /var/log/httpd-error.log
Пароли к mysql
</source>
 
* Проверяем, что в httpd.conf были раскоментированы строки, связанные с ssl
* Проверяем, что в extra/httpd-ssl.conf правильные пути к сертификату (параметры SSLCertificateFile и SSLCertificateKeyFile)
 
 
<hr>
 
=Пароли к mysql=


Необходимо поменять пароли пользователям root и nodeny в mysql, если при установке вы использовали такие же как в документации.
Необходимо поменять пароли пользователям root и nodeny в mysql, если при установке вы использовали такие же как в документации.


Пароль root
Пароль root
mysqladmin -u root -p'hardpass' password new_VERY_hard_PASS
 
<source lang='bash'>
mysqladmin -u root -p'hardpass' password
</source>
 
Пароль nodeny
Пароль nodeny
mysql> use mysql;
 
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='nodeny';
<source lang='mysql'>
mysql> flush privileges;
use mysql;
mysql> quit
update user set password=PASSWORD("NEWPASSWORD") where User='nodeny';
flush privileges;
quit
</source>
 
После изменения пароля nodeny измените его в sat.cfg.
После изменения пароля nodeny измените его в sat.cfg.


Не логиниться под суперадмином
 
 
<hr>
 
=Не логиниться под суперадмином=


Создайте себе вторую учетную запись без прав суперадмина, этим вы обезопасите себя в случае когда отойдете от компьютера - если кто-то подойдет к нему, не сможет поменять настройки, добавить/изменить администраторов, удалить клиентов, платежи и т.д
Создайте себе вторую учетную запись без прав суперадмина, этим вы обезопасите себя в случае когда отойдете от компьютера - если кто-то подойдет к нему, не сможет поменять настройки, добавить/изменить администраторов, удалить клиентов, платежи и т.д


Пр
 
 
<hr>
 
=Бекапы=
 
В /usr/local/nodeny находится скрипт  backup_nodeny.sh, который бекапит базу данных в /var/backups/. Проверьте его работу:
 
<source lang='bash'>
sh backup_nodeny.sh
</source>
 
Результат бекапа появится в /var/backups/
 
Закажем запуск бекапов каждую неделю:
 
<source lang='bash'>
echo -e '#!/bin/sh\nbackup_nodeny.sh' > /etc/periodic/weekly/800.backup_nodeny.sh
chmod 555 /etc/periodic/weekly/800.backup_nodeny.sh
</source>

Поточна версія на 19:55, 29 жовтня 2016

Https доступ к админке

Включаем ssl в apache. Раскоментируем в конфиге строки:

  • LoadModule ssl_module ...
  • LoadModule socache_shmcb_module ...
  • Include ... httpd-ssl.conf

Следующими командами:

cd /usr/local/etc/apache24/
sed -i '' 's/#LoadModule *ssl_module/LoadModule ssl_module/' httpd.conf
sed -i '' 's/#LoadModule *socache_shmcb_module/LoadModule socache_shmcb_module/' httpd.conf
sed -i '' 's/#Include \(.*\)ssl.conf/Include \1ssl.conf/' httpd.conf

Создаем сертификат

openssl genrsa -out server.key -rand randfile -des3 2048

будет запрошен пароль для сертификата, вводим `1234`, учитывая, что через несколько шагов от него избавимся.

openssl req -new -x509 -key server.key -out server.crt -days 1000

здесь 1000 - количество дней работы сертификата. Удаляем пароль в сертификате

openssl rsa -in server.key -out server.key

вводим `1234`.

chmod 400 server.key

Перезапускаем apache

apachectl restart

Открываем в браузере https://10.0.0.2/

Если не получаем приветствующего сообщения «It works!», то:

  • Смотрим логи
tail /var/log/httpd-error.log
  • Проверяем, что в httpd.conf были раскоментированы строки, связанные с ssl
  • Проверяем, что в extra/httpd-ssl.conf правильные пути к сертификату (параметры SSLCertificateFile и SSLCertificateKeyFile)



Пароли к mysql

Необходимо поменять пароли пользователям root и nodeny в mysql, если при установке вы использовали такие же как в документации.

Пароль root

mysqladmin -u root -p'hardpass' password

Пароль nodeny

use mysql;
update user set password=PASSWORD("NEWPASSWORD") where User='nodeny';
flush privileges;
quit

После изменения пароля nodeny измените его в sat.cfg.



Не логиниться под суперадмином

Создайте себе вторую учетную запись без прав суперадмина, этим вы обезопасите себя в случае когда отойдете от компьютера - если кто-то подойдет к нему, не сможет поменять настройки, добавить/изменить администраторов, удалить клиентов, платежи и т.д



Бекапы

В /usr/local/nodeny находится скрипт backup_nodeny.sh, который бекапит базу данных в /var/backups/. Проверьте его работу:

sh backup_nodeny.sh

Результат бекапа появится в /var/backups/

Закажем запуск бекапов каждую неделю:

echo -e '#!/bin/sh\nbackup_nodeny.sh' > /etc/periodic/weekly/800.backup_nodeny.sh
chmod 555 /etc/periodic/weekly/800.backup_nodeny.sh