[Настройка] Безопасность сервера
Модератор: immortal
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
[Настройка] Безопасность сервера
Други, я когда проект поставил на Pi всем файлам поставил максимальные права, чтобы не иметь проблем при настройке.
Отсюда вопрос - когда я систему установлю в квартире, как мне ее защитить?
В смысле какие права каким файлам назначить, каким вообще запретить, какие пароли где прописать и прочее?
Будет доступ из инета - надо защищаться.
Поставлю цисковский свич гиговый и роутер, что там прописывать в смысле безопасности?
Кто это уже прошел - подскажите.
UPD:
Для .nix
1 - сменить порты SSH на нестандартные с 22 на 54343 например
2 - поставить программу fail2ban, которая блокирует особо борзых
3 - желательно доступ по VPN
Отсюда вопрос - когда я систему установлю в квартире, как мне ее защитить?
В смысле какие права каким файлам назначить, каким вообще запретить, какие пароли где прописать и прочее?
Будет доступ из инета - надо защищаться.
Поставлю цисковский свич гиговый и роутер, что там прописывать в смысле безопасности?
Кто это уже прошел - подскажите.
UPD:
Для .nix
1 - сменить порты SSH на нестандартные с 22 на 54343 например
2 - поставить программу fail2ban, которая блокирует особо борзых
3 - желательно доступ по VPN
Последний раз редактировалось PAV Пн окт 27, 2014 11:02 am, всего редактировалось 1 раз.
-
- Сообщения: 33
- Зарегистрирован: Вт апр 01, 2014 2:38 am
- Благодарил (а): 1 раз
- Поблагодарили: 6 раз
- Контактная информация:
Re: Безопасность сервера
Для начала надо поставить пароль на вход через интернет:
Права файлам:
Ещё я могу посоветовать подключить CloudFlare для DDoS-атак (или Cisco свитч для того же)
Запретить доступ к файлам конфигурации:
(первый для апача, второй для nginx)
Код: Выделить всё
pi@raspberrypi ~ $ tail /var/www/config.php
//Define('ONEWIRE_SERVER', 'tcp://localhost:8234'); // 1-wire OWFS server
Define('HOME_NETWORK', '192.168.1.*'); // домашняя сеть (optional)
Define('EXT_ACCESS_USERNAME', 'имя пользователя'); // access details for external network (internet)
Define('EXT_ACCESS_PASSWORD', 'пароль');
//Define('DROPBOX_SHOPPING_LIST', 'c:/data/dropbox/list.txt'); // (Optional)
?>
Код: Выделить всё
sudo chown -R www-data /var/www
sudo usermod -a -G audio www-data
Запретить доступ к файлам конфигурации:
Код: Выделить всё
<FILES config.php>
deny from all
</FILES>
<FILES debmes.txt>
deny from all
</FILES>
<DIRECTORY debmes>
deny from all
</DIRECTORY>
<DIRECTORY cached>
deny from all
</DIRECTORY>
<DIRECTORY backup>
deny from all
</DIRECTORY>
Код: Выделить всё
location /config.php {
deny all;
}
location /debmes.txt {
deny all;
}
location /cached {
deny all;
}
location /debmes {
deny all;
}
location /backup {
deny all;
}
-
- Сообщения: 309
- Зарегистрирован: Вт сен 17, 2013 10:11 pm
- Благодарил (а): 3 раза
- Поблагодарили: 56 раз
Re: Безопасность сервера
Запустить на том же RasPi OpenVPN-сервер или на роуетере.PAV писал(а):Други, я когда проект поставил на Pi всем файлам поставил максимальные права, чтобы не иметь проблем при настройке.
Отсюда вопрос - когда я систему установлю в квартире, как мне ее защитить?
В смысле какие права каким файлам назначить, каким вообще запретить, какие пароли где прописать и прочее?
Будет доступ из инета - надо защищаться.
Поставлю цисковский свич гиговый и роутер, что там прописывать в смысле безопасности?
Кто это уже прошел - подскажите.
И из любого инета на своем телефоне/планшете/ноуте/работе подключаться к своему VPN-серверу и работать...
Проверено - работает.
В идеале можно даже пробросить инет через VPN-сетку, чтобы для всяких бесплатных WiFi и сотовых операторов не палить свой трафик...
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: Безопасность сервера
Да я все понимаю, но что и как позакрывать в PI? Сейчас на все файлы стоят права 7777. Менять надо?
-
- Сообщения: 33
- Зарегистрирован: Вт апр 01, 2014 2:38 am
- Благодарил (а): 1 раз
- Поблагодарили: 6 раз
- Контактная информация:
Re: Безопасность сервера
Да, надо!PAV писал(а):Да я все понимаю, но что и как позакрывать в PI? Сейчас на все файлы стоят права 7777. Менять надо?
http://joomla-book.ru/blog/filesystem-p ... 777-is-bad
http://nodesquad.blogspot.ru/2011/01/666777.html
http://hosting101.ru/qa/68/10017
Исправить:
Код: Выделить всё
find /var/www/ -type f -exec chmod 0666 {} \;
find /var/www/ -type d -exec chmod 0777 {} \;
chown -R www-data:www-data /var/www/
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Безопасность сервера
Я пытался на rapberry шаманить с правами. И запускать от www-data. Но со временем проявились некоторые баги:
1. Цикл правильно работает только от root. Если нет отваливается половина сервисов: Log, Ping, Voice, и другие связки с оборудованием. Их конечно можно все прописать и добавить в группу www-data - но это очень муторно. И иногда не знаешь куда копать пока не убьёшь кучу времени на 1 сервис.
2. Возникает проблема обновления. То есть при каждом обновлении отключается что-то. Долго боролся с этим, и обновлял прова после обновления. Но пришёл к выводу что во время самого обновления возникают куча ошибок что приводит к неправильному обновлению.
3. Получается нельзя иметь веб сервер с одними правами а цикл с другими
В итоге. Пришлось всё загнать под Root. ДА это неправильно и не безопастно. Я вообще считаю что лучше не открывать МД во внешнюю сетку. А если и очень хочется то VPN или Connect вам в помощь
1. Цикл правильно работает только от root. Если нет отваливается половина сервисов: Log, Ping, Voice, и другие связки с оборудованием. Их конечно можно все прописать и добавить в группу www-data - но это очень муторно. И иногда не знаешь куда копать пока не убьёшь кучу времени на 1 сервис.
2. Возникает проблема обновления. То есть при каждом обновлении отключается что-то. Долго боролся с этим, и обновлял прова после обновления. Но пришёл к выводу что во время самого обновления возникают куча ошибок что приводит к неправильному обновлению.
3. Получается нельзя иметь веб сервер с одними правами а цикл с другими
В итоге. Пришлось всё загнать под Root. ДА это неправильно и не безопастно. Я вообще считаю что лучше не открывать МД во внешнюю сетку. А если и очень хочется то VPN или Connect вам в помощь
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: Безопасность сервера
О, Ivan, если разбирались с правами, может поможете? http://smartliving.ru/forum/viewtopic.p ... 3&start=20
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Безопасность сервера
Смотрите:
От кого запущен цикл
Есть ли у этого юзера права на выполнение этой команды. Зачастую у юзера www-data нет прав на запуск команд консоли
От кого запущен цикл
Есть ли у этого юзера права на выполнение этой команды. Зачастую у юзера www-data нет прав на запуск команд консоли
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: Безопасность сервера
Полез я сегодня логи смотреть и увидел вот такое:
Это что, кто-то ломануть пытается? Как бороться.
А главное, как научить МЖД сообщать о таких фактах?
Это что, кто-то ломануть пытается? Как бороться.
А главное, как научить МЖД сообщать о таких фактах?
Код: Выделить всё
ct 24 13:09:44 localhost sshd[20656]: PAM 4 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.50.229 user=root
Oct 24 13:09:44 localhost sshd[20656]: PAM service(sshd) ignoring max retries; 5 > 3
Oct 24 13:09:46 localhost sshd[20681]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.50.229 user=root
Oct 24 13:09:48 localhost sshd[20681]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:09:50 localhost sshd[20681]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:09:52 localhost sshd[20681]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:09:54 localhost sshd[20681]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:09:57 localhost sshd[20681]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:09:57 localhost sshd[20681]: fatal: Read from socket failed: Connection reset by peer [preauth]
Oct 24 13:09:57 localhost sshd[20681]: PAM 4 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.50.229 user=root
Oct 24 13:09:57 localhost sshd[20681]: PAM service(sshd) ignoring max retries; 5 > 3
Oct 24 13:10:04 localhost sshd[20683]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.50.229 user=root
Oct 24 13:10:06 localhost sshd[20683]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:10:10 localhost sshd[20683]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:10:16 localhost sshd[20683]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:10:25 localhost sshd[20683]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:10:28 localhost sshd[20683]: Failed password for root from 222.186.50.229 port 3640 ssh2
Oct 24 13:10:29 localhost sshd[20683]: fatal: Read from socket failed: Connection reset by peer [preauth]