• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Совет Безопасность ... как много в этом слове.

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
Решил написать небольшую заметку о безопасности на уровне хоста, те кто не пользуется VDS серверами это скорее всего не пригодится.
Пользуясь исключительно VDS и Dedicated, всегда обеспокоен безопасностью работы, тк на сервере находится очень и очень много информации это как правило не один сайт, базы данных и прочее, если взломают сайт это не критично, в худшем варианте придется восстановить один сайт (из архива например) ну ладно два... В случае взлома сервера все гораздо печальнее от полной потери данных до проблем в последующем в виде попадания вашего IP в блек листы поисковых систем и блокировки от провайдеров и прочие ужасы.
И так расскажу секретную информацию по защите своих серверов.
Первое что я делаю после установки системы (исключительно речь о *nix системах) это передаю авторизацию по паролю SSH в режим авторизации по сертификату и полностью отключаю возможность авторизации по паролю. (на всякий случай напишу что конечно создаю сертификат и прочее)
Второй шаг меняю порт SSH
Третье настраиваю LAMP в формате Apache MPM-Prefork(FastCGI)+Nginx(PHP-FPM)+MySQL+ZendOpcach+memcached+proftpd+Fail2ban

Настраиваю Fail2ban, в принципе по умолчанию Fail2ban хорошо настроен, но я правлю несколько моментов, 3 неверных пароля бан 6000 сек, дописываю такую строчку в jail.conf: action = iptables[name=sshd, port=ssh, protocol=tcp] это исключает такой момент во первых помогает от ошибок в логах и блокирует даже если введен логин пользователя (по умолчанию если логин присутствует в системе и брутят с логином то пароль можно вводить очень долго)
Потом добавляю такую строчку в MySQL иначе ошибки резольва вам забьют лог читать устанете этот мусор, в my.cnf эту строку skip_name_resolve = 1 Желательно настраивать MySQL на локальную работу если только не требуется выпускать его в мир.

Итогом настроек Fail2ban:
Соответственно все кто ломится к Вам с брутом будут банится после 3 попыток на 6000 сек. Используя Iptables.

Немного об iptables, почему немного, с переходом в моем случае на Centos, по умолчанию в нем iptables закрыт насмерть и каждые изменения в системе требует открытия портов в iptables (а не закрытия) так что немного только по этому. Но не все *nix имеют такие настройки по умолчанию в целом проверяйте закрыты ли порты и открывайте только необходимые.
И добавьте в iptables эти строки
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
Это дропнет лишнее типа нулевых пакетов для проверки вашей системы на уязвимость и прочее.

Добавляю такой код в sysctl.conf
Код:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_mem = 50576 64768 98152
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.netfilter.ip_conntrack_max = 16777216
net.netfilter.nf_conntrack_max = 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.route.flush = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_forward = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.inotify.max_user_watches = 16777216
Это для определенного вида атак защищает, кратко от атак с нулевыми пакетами итд. настройки для высоко нагруженных проектов. Если захотите посмотреть гугл в помощь иначе статья на уровень Войны и Мир Л.Н.Толстого выйдет )))

Ну вот почти все. Просматривайте логи на ошибки и ремонтируйте ошибки.
Заключения. Данные действия на сервере могут дать снижение нагрузки на 30-40% во первых за счет не работаем с мусором в логах и удаляем всяческие атаки которые тратят не только процессорное время но и оперативную память кушают. Плюс готовим систему для развития.
Добавлю что такая связка LAMP меня очень устраивает как производительность и гибкость. Нюансы настроек конечно отдельная тема и тема достаточно спорная как говорят каждый кулик свое болото хвалит. Но данная связка работает на разных системах у меня с 2007 года и нареканий не имею, до 2007 года было почти тоже самое но как бы в других нюансах тк многие моменты совершенствовались создателями ПО и прочее прочее и сформированный образ возник примерно в 2007г. у меня лично и с тех пор точатся нюансы, в целом все стандартно, плюс это стабильно работаете в связке с ISPmanager что так же радует.
Всех благ и быстрых Вам каналов связи.
 

Fishka

ЭКСПЕРТ

Fishka

ЭКСПЕРТ
Сообщения
604
ни в коем случае не хочу спорить, но защита и поддержание своего сервера - это намного более сложный процесс, чем описано выше :(

лично моя глубокая убежденность - если вас не гонят пока с шареда, если не готовы вникать в тонкости настройки - не переходите, да простит меня Wildcdu,

лучше поищите надежного хостера с нормальным шаред хостингом.
а свой сервер - это уже уровень совсем не для новичка.
 

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
ни в коем случае не хочу спорить, но защита и поддержание своего сервера - это намного более сложный процесс, чем описано выше :(

лично моя глубокая убежденность - если вас не гонят пока с шареда, если не готовы вникать в тонкости настройки - не переходите, да простит меня Wildcdu,

лучше поищите надежного хостера с нормальным шаред хостингом.
а свой сервер - это уже уровень совсем не для новичка.
Ну конечно сложнее чем написано ))) это краткое изложение базовых моментов, то что обязательно нужно сделать, а учитывая нюансы то холивар будет на страниц 20 мелкого почерка )))
Хотя следуя даже столь краткому изложению можно защитить свой сервер на 80-95% выше если только работает он с персональными данными.
 

Burt

ПРОВЕРЕННЫЙ

Burt

ПРОВЕРЕННЫЙ
Сообщения
7
Для новичков для защиты от вечно долбящего софта "начинающих хакеров" подходит плагин Ithemes Security. В настройках указываем защиту от записи в каталоги uploads, запрет на включение php кода, защиту от брутфорса админки и т.д.
С помощью перевода в хроме прекрасно можно разобраться с остальными настройками плагина.
 

Wildcdu

ЭКСПЕРТ

Wildcdu

ЭКСПЕРТ
Сообщения
1,120
Для новичков для защиты от вечно долбящего софта "начинающих хакеров" подходит плагин Ithemes Security. В настройках указываем защиту от записи в каталоги uploads, запрет на включение php кода, защиту от брутфорса админки и т.д.
С помощью перевода в хроме прекрасно можно разобраться с остальными настройками плагина.
Да конечно Вы правы есть плагины (Вами представленный один из них и популярный надежный) для защиты WP от взломов и прочего. В теме я несколько другого коснулся, хотя Ваше дополнение так же имеет место быть.
 
Сверху