ХАРДЕНИНГ (Аринов Ильяс (determination))

89
ХАРДЕНИНГ

Upload: kristina-pomozova

Post on 16-Apr-2017

50 views

Category:

Software


12 download

TRANSCRIPT

ХАРДЕНИНГ

WHOAMI

Аринов Ильяс Бейбитович( determination )

Системный администратор+7 \708\ 9801532

ХАРДЕНИНГ

0Процесс усиления защищенности системы,

направленный на снижение рисков информационной безопасности. Дословно — закаливание (по

отношению к металлу или сплаву).

ХАРДЕНИНГ

1Пользоваться услугами дата-центров

ХАРДЕНИНГ

2Глушить радиосигналы в серверной

ХАРДЕНИНГ

3Опломбировать оборудование

ХАРДЕНИНГ

4Закрыть на ключ защитные панели серверов

ХАРДЕНИНГ

5Защитить BIOS/UEFI

ХАРДЕНИНГ

6Защитить загрузчик GRUB

ХАРДЕНИНГ

7Использовать множество разделов( /, /boot, /home, /tmp, /var )

ХАРДЕНИНГ

8Использовать LVM

ХАРДЕНИНГ

9Использовать RAID

ХАРДЕНИНГ

10Модифицировать настройки fstab

( nosuid, nodev, noexec )

ХАРДЕНИНГ

11Шифровать разделы на блочном уровне

( LUKS )

ХАРДЕНИНГ

12Использовать технологию PGP

ХАРДЕНИНГ

13Устанавливать только необходимые пакеты

ХАРДЕНИНГ

14Автоматизировать обновления безопасности

[ yum-cron ]

ХАРДЕНИНГ

15Отключить CTRL+ALT+DEL

( # systemctl mask ctrl-alt-del.target )

ХАРДЕНИНГ

16Удалить неиспользуемые пакеты

( # yum list installed >> mypacks )

ХАРДЕНИНГ

17Ввести профилактический перезапуск служб

( crontab )

ХАРДЕНИНГ

18Остановить и уничтожить неиспользуемые службы

( # systemctl list-units -t service )

ХАРДЕНИНГ

19Шифровать передачу данных

SSH, SFTP( # ssh -L 5902:localhost:5901 remote_machine )

ХАРДЕНИНГ

20Сканировать порты

( # nmap -sT -O 192.168.0.0/24 )

ХАРДЕНИНГ

21Использовать сетевой экран

( # firewall-cmd --list-all )

ХАРДЕНИНГ

22Делать периодический анализ трафика

( # tcpdump -i eth0 -w tcpdump.pcap )

ХАРДЕНИНГ

23Использовать resolv.conf

ХАРДЕНИНГ

24Отключить SUID и SGID

ХАРДЕНИНГ

25Уничтожить файлы и директории без хозяина

ХАРДЕНИНГ

26Исключить использование 777

ХАРДЕНИНГ

27Использовать стойкие пароли

( pwmake 128 )

ХАРДЕНИНГ

28Применить стойкую парольную политику

( password required pam_pwquality.so retry=3 )

ХАРДЕНИНГ

29Назначить срок жизни пароля( # chage -M 45 username )

ХАРДЕНИНГ

30Блокировать неиспользуемые учетные записи

( # passwd -l username )

ХАРДЕНИНГ

31Предотвратить доступ к оболочке

( # usermod -s /bin/false username )

ХАРДЕНИНГ

32Блокировать виртуальные консоли

( vlock )

ХАРДЕНИНГ

33Централизованное управление учетными записями

( Kerberos )

ХАРДЕНИНГ

34Переключить USB накопители в режим «RO» в UDEV ( SUBSYSTEM=="block",ATTRS{removable}=="1",RUN{program}="/sbin/blockdev --setro %N" )

ХАРДЕНИНГ

35Отключить доступ суперпользователя к TTY

( # cat /dev/null > /etc/securetty )

ХАРДЕНИНГ

36Отключить доступ суперпользователя по SSH

( PermitRootLogin no )

ХАРДЕНИНГ

37POSIX ACL

( # setfacl -m u:user:rw file )

ХАРДЕНИНГ

38Использовать SELinux( # setenforce 1 )

ХАРДЕНИНГ

39Использовать расширения SELinux

( # setsebool -P httpd_enable_ftp_server on )

ХАРДЕНИНГ

40Применить централизованное логирование

( rsyslog )

ХАРДЕНИНГ

41Наблюдать за активностью пользователей( ac, lastcomm, accton, sa, lastb )

ХАРДЕНИНГ

42Настроить параметры работы ядра

( /etc/sysctl.conf )

ХАРДЕНИНГ

43Использовать VPN

ХАРДЕНИНГ

44Использовать дополнительные меры защиты

( AIDE, Fail2Ban, OSSEC, Lynis, Rkhunter )

ХАРДЕНИНГ

45Модифицировать переменные окружения

( # echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> .bashrc' )( # echo ‘PROMPT_COMMAND="history -a"’ >> .bashrc )

ХАРДЕНИНГ

46Автоматически отключать SSH при простое

ХАРДЕНИНГ

47Автоматизировать резервное копирование

( tar, cat, scp, rsync, duplicity, lvm )

ХАРДЕНИНГ

48Изменить служебные порты по умолчанию

ХАРДЕНИНГ

49Защитить от сканирования портов

ХАРДЕНИНГ

50 APACHE + PHPСкрыть версии служебного ПО

ХАРДЕНИНГ

51 APACHEЗапретить листинг директорий глобально

ХАРДЕНИНГ

52 APACHEОтключить неиспользуемые модули

ХАРДЕНИНГ

53 PHPЗапретить неиспользуемые функции

ХАРДЕНИНГ

54 PHPОтключить отображение ошибок

ХАРДЕНИНГ

55 APACHEНастроить удаленное логирование веб сервера

ХАРДЕНИНГ

56 APACHE Еще раз: Исключить использование 777

ХАРДЕНИНГ

57 APACHEУправлять доступом к директориям

( Order, Deny, Allow )

ХАРДЕНИНГ

58 APACHEЗадействовать mod_evasive

ХАРДЕНИНГ

59 APACHEЗадействовать mod_security

ХАРДЕНИНГ

60 APACHEИгнорировать симлинки

ХАРДЕНИНГ

61 APACHEУстановить ограничение на размер запроса

ХАРДЕНИНГ

62 APACHEУстановить ограничение по времени для событий

( TimeOut )

ХАРДЕНИНГ

63 APACHEУстановить ограничение одновременных подключений

( MaxClients )

ХАРДЕНИНГ

64 APACHEУстановить время ожидания последующего запроса

( KeepAliveTimeout )

ХАРДЕНИНГ

65 APACHEВвести ограничения для запросов

( LimitRequestFields, LimitRequestFieldSize )

ХАРДЕНИНГ

66 APACHEПроизвести тонкую настройку логирования( TransferLog, CustomLog, LogFormat )

ХАРДЕНИНГ

67 APACHEЗадействовать SSL

ХАРДЕНИНГ

68 APACHEОтключить HTTP, включить HTTPS

ХАРДЕНИНГ

69 MYSQLИспользовать mysql_security_installation

ХАРДЕНИНГ

70 MYSQLЗапретить чтение и запись файлов

( local-infile=0 )

ХАРДЕНИНГ

71 MYSQLПереключить работу на сокеты

( для локальных систем )

ХАРДЕНИНГ

72 MYSQLИспользовать SSL

( для удаленных систем )

ХАРДЕНИНГ

73 MYSQLОтключить использование симлинков

ХАРДЕНИНГ

74 MYSQLПереименовать административную учетную запись

ХАРДЕНИНГ

75 MYSQLНастроить логирование ошибок

ХАРДЕНИНГ

76 MYSQLУничтожить неиспользуемые базы данных

ХАРДЕНИНГ

76 MYSQLИзменить порт по умолчанию

ХАРДЕНИНГ

77 MYSQLИспользовать список разрешенных IP адресов для

удаленного подключения

ХАРДЕНИНГ

78 MYSQLОтключить возможность удаленного подключения

административных учетных записей

ХАРДЕНИНГ

79 MYSQLНикогда не выдавать FILE, PROCESS или SUPER

ХАРДЕНИНГ

80 MYSQLУничтожать учетные записи без паролей

ХАРДЕНИНГ

Обратитесь к эксперту в области информационной безопасности, чтобы он попытался осуществить

попытку проникновения и оценил уровень защищенности вашего сервера.

ХАРДЕНИНГ

Создайте, поддерживайте, используйте и усиливайте эталонную конфигурацию системы для

новых проектов.

ХАРДЕНИНГ

Практический пример: Нестандартный SSH порт

# vi /etc/ssh/sshd_config [Port 2222]# firewall-cmd --permanent --zone=public --add-port=2222/tcp# firewall-cmd --permanent --zone=public --remove-service=ssh# semanage port -a -t ssh_port_t -p tcp 2222# systemctl restart sshd# firewall-cmd --reload

ХАРДЕНИНГ

Практический пример: Против shell'ов

# cd /var/www/site/uploads/# vi ./.htaccessOptions -Indexes -FollowSymLinks<FilesMatch "(?i)\.(php|php3?|phtml|pl)$"> Order Deny,Allow Deny from All</FilesMatch><IfModule mod_php5.c> php_flag engine off</IfModule># service httpd restart

*FilesMatch можно переписать так, чтобы доступен был только один тип файлов*php_flag engine off отключает возможность исполнения шелла в этой директории

ХАРДЕНИНГ