Файл: Общие сведения о honeypotтехнологиях Описание классификации honeypotтехнологий.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 220
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
106 20 ГОСТ 12.0.003-2015. Межгосударственный стандарт. Система стандартов безопасности труда. Опасные и вредные производственные факторы. Классификация - [Электронный ресурс]. - Режим доступа: https://docs.cntd.ru/document/1200136071
(дата последнего обращения:
08.06.2021).
21 Умственное переутомление - [Электронный ресурс]. - Режим доступа: https://cenyvaptekah.ru/articles/umstvennoe-pereutomlenie-cg (дата последнего обращения: 08.06.2021).
22 Зрительная утомляемость. Причины и профилактика - [Электронный ресурс]. - Режим доступа: http://provisor.com.ua/archive/2007/N19/zrenie.php
(дата последнего обращения: 08.06.2021).
23 Психофизиологические опасные и вредные производственные факторы - [Электронный ресурс]. - Режим доступа: https://lektsii.org/13-
33494.html (дата последнего обращения: 08.06.2021).
24 Дёмочкин,
А.С. Классификация honeypot-технологий. Обзор программных реализаций honeypot с низким уровнем взаимодействия / А.С.
Дёмочкин, А.П. Иванов // Информационные технологии в науке и образовании. Проблемы и перспективы: сб. ст. по материалам VIII
Всеросcийской. межвузовской. науч.-практической. конференции. Под редакцией Л.Р. Фионовой. - Пенза: Изд-во ПГУ, 2021. - С. 381-396.
25 Дёмочкин А.С. Анализ программных реализаций Honeypot- технологий с высоким уровнем взаимодействия / А.С. Дёмочкин, А.П. Иванов
// Инжиниринг и технологии. – 2021. – Vol. 6(1). – С. 1–8. – DOI 10.21685/2587-
7704-2020-6-1-9.
26 Дёмочкин А.С. Реализация высокоинтерактивной honeypot-системы для обнаружения сетевых атак / А.С. Дёмочкин, А.П. Иванов // Безопасность информационных технологий : сб. науч. ст. по материалам III Всерос. науч.- техн. конф. – Пенза : Изд-во ПГУ, 2021. – С. 27–34.
107
Приложение А
(обязательное)
Алгоритм работы honeypot-системы
108
Рисунок А.1 – Алгоритм работы высокоинтерактивной honeypot-системы
109
Приложение Б
(обязательное)
Dockerfile разработанного docker-контейнера
FROM ubuntu:20.04
RUN apt update && apt upgrade -y
RUN apt update && apt install openssh-server nginx rsyslog iputils- ping net-tools nano vsftpd sudo=1.8.31-1ubuntu1 -y
RUN apt-get -y install openjdk-8-jdk wget supervisor apache2
RUN mkdir /usr/local/tomcat
RUN wget https://archive.apache.org/dist/tomcat/tomcat-
9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz -O /tmp/tomcat.tar.gz
RUN cd /tmp && tar xvfz tomcat.tar.gz
RUN cp -Rv /tmp/apache-tomcat-9.0.27/* /usr/local/tomcat/
RUN apt-get install -y python3 python3-pip && pip3 install supervisor-stdout
RUN groupadd user
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g user user
RUN echo 'user:qwerty123' | chpasswd
RUN service ssh start
RUN sudo service rsyslog start
RUN sudo rsyslogd
CMD chmod +x /usr/local/tomcat/bin/catarina.sh
RUN mkdir -p /var/lock/apache2 /var/run/apache2 /var/run/sshd
/var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
EXPOSE 22 80 8080
CMD ["/usr/bin/supervisord", "-n"]
110
Приложение В
(обязательное)
Файлы конфигурации стека «Loki»
#Файл запуска сервисов стека «Loki» в виде docker-контейнеров version: '3' networks: loki: services: loki: image: grafana/loki:master-2739551 ports:
- "3100:3100" networks:
- loki restart: unless-stopped grafana: image: grafana/grafana:6.4.4 ports:
- "3000:3000" networks:
- loki restart: unless-stopped promtail: image: grafana/promtail:master-2739551 networks:
- loki volumes:
- /opt/loki/loki-promtail-conf.yml:/etc/promtail/docker- config.yaml
- /var/log:/var/log command: -config.file=/etc/promtail/docker-config.yaml
111
#Файл конфигурации сервиса Promtail для сбора данных из
/var/log/honeypot server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml client: url: http://loki:3100/api/prom/push scrape_configs:
- job_name: system entry_parser: raw static_configs:
- targets:
- localhost labels: job: varlogs
__path__: /home/user/honeypot/*log
- job_name: honeypot entry_parser: raw
112
Приложение Г
(обязательное)
Код bash-скрипта «honeypot.sh»
#!/bin/bash if /usr/bin/docker network loki_loki ps &> /dev/null; then echo "loki don't work!" fi sudo docker-compose -f /opt/loki/loki-stack.yml up &> /dev/null
2>&1 & echo "CHOICE OF INTERFACE" echo "--------" for iface in $(ip -o -4 addr list | awk '{print $2}' | tr '\n' '
') do printf "$iface\n" done echo "--------" echo "ENTER HOST-INTERFACE :" echo "--------" read HOST_INTERFACE echo "--------"
EXIT_INTERFACE=${HOST_INTERFACE}
LIMIT_MIN=128M
HOST_NAME=$(ifconfig
${EXIT_INTERFACE}
| grep
-E
"([0-
9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }'
| cut -f2 -d:)
CONTAINER_NAME="honeypot"
#проверка, существует ли контейнер if /usr/bin/docker inspect ${CONTAINER_NAME} &> /dev/null; then if
/usr/bin/docker inspect
-f
'{{.State.Running}}'
$CONTAINER_NAME &> /dev/null; then echo "the honeypot is running!"
113
exit fi
CONTAINER_ID=$(/usr/bin/docker run --name ${CONTAINER_NAME}
-m ${LIMIT_MIN} -d -t -i ${CONTAINER_NAME})
CONTAINER_IP=$(/usr/bin/docker inspect
-f
'{{range
.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
${CONTAINER_ID})
PROCESS_ID=$(/usr/bin/docker inspect --format '{{ .State.Pid
}}' ${CONTAINER_NAME}) iptables -A FORWARD -p tcp -d ${CONTAINER_IP} -m state -- state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A PREROUTING -i ${EXIT_INTERFACE} -p tcp -d
${HOST_NAME} -j DNAT --to-destination ${CONTAINER_IP}
/usr/bin/nsenter --target ${PROCESS_ID} -n /sbin/iptables -A
OUTPUT -p tcp -m tcp --dst 192.168.0.200 --dport 514 -j ACCEPT sudo chmod +x /pipework/pipework sudo /pipework/pipework docker0 -i eth1 ${CONTAINER_NAME}
10.10.3.3/24 sudo sysdig -pc -A -c echo_fds container.name=${CONTAINER_NAME} and proc.name=sshd and "evt.is_io_read=true and not fd.type contains pipe and not fd.name contains
/"
>
/var/log/honeypot/password_garbage.log
&& sed
-i
'/^$/d'
/var/log/honeypot/password_garbage.log && sed -rni '/^.{4,10}$/p'
/var/log/honeypot/password_garbage.log && sed -i '/eth\|%\|+/d' password_garbage.log
&& sed
-i
's/^/ENTER_PASSWORD
/' password_garbage.log && cp /var/log/honeypot/password_garbage.log
/var/log/honeypot/password_${CONTAINER_NAME}.log 2>&1 & sudo sysdig -pc -A -c /usr/share/sysdig/chisels/spy_users container.name=${CONTAINER_NAME}
"and not fd.name contains
/usr/local/tomcat/ and not fd.name contains /usr/bin/" & sudo sysdig
-pc
-A
-c
/usr/share/sysdig/chisels/spy_file container.name=${CONTAINER_NAME}
"and not fd.name contains
/lib/x86_64-linux-gnu/ and not fd.name contains /dev/null and not fd.name contains /usr/share/nano/ and not fd.name contains
114
/etc/nsswitch.conf and not fd.name contains /lib/terminfo/x/ and not fd.name contains /usr/lib/ssl/ and not fd.name contains
/etc/ssh and not fd.name contains /usr/local/tomcat/ and not fd.name contains
/dev/urandom and not fd.name contains
/usr/lib/jvm/ and not fd.name contains /etc/localtime and not fd.name contains /usr/local/tomcat/ and not fd.name contains
/etc/apache2/ and not fd.name contains /proc/filesystems and not fd.name contains /etc/gai.conf and not fd.name contains
/proc/self/ and not fd.name contains /usr/lib/apache2/ and not fd.name contains /proc/self/ and not fd.name contains /sys/fs/ and not fd.name contains /proc/net/ and not fd.name contains
/etc/resolv.conf and not fd.name contains /proc/sys/ and not fd.name contains /sys/devices/ and not fd.name contains
/etc/timezone and not fd.name contains /usr/bin/which and not fd.name contains
/etc/group and not fd.name contains
/etc/host.conf and not fd.name contains etc/resolv.conf and not fd.name contains
/dev/random and not fd.name contains
/etc/mime.types and not fd.name contains /etc/nanorc" & sudo docker logs
-f
${CONTAINER_NAME}
>
/var/log/honeypot/docker_logs.log 2>&1 & sudo tcpdump dst
${CONTAINER_IP}
-n
-nn
-q
-t
>
/var/log/honeypot/docker_net.log 2>&1 &
#sudo tcpdump dst ${HOST_NAME} -n -nn -q > net_host.log 2>&1 & echo "--------" echo "honeypot run! ip-address - " ${CONTAINER_IP} echo "--------" echo "Enter the command..." echo "[0] - end of the program" echo "[1] - start again" read COMAND
#do case ${COMAND} in
"0") sudo pkill -f "sysdig" iptables -D FORWARD -p tcp -d ${CONTAINER_IP} -m state
--state NEW,ESTABLISHED,RELATED -j ACCEPT
115
iptables -t nat -D PREROUTING -i ${EXIT_INTERFACE} -p tcp -d ${HOST_NAME} -j DNAT --to-destination ${CONTAINER_IP}
/usr/bin/docker stop ${CONTAINER_NAME} > /dev/null
/usr/bin/docker rm ${CONTAINER_NAME} > /dev/null sudo docker-compose -f /opt/loki/loki-stack.yml kill &>
/dev/null 2>&1 & exit
;;
"1") iptables -D FORWARD -p tcp -d ${CONTAINER_IP} -m state
--state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -D PREROUTING -i ${EXIT_INTERFACE} -p tcp -d ${HOST_NAME} -j DNAT --to-destination ${CONTAINER_IP}
/usr/bin/docker stop ${CONTAINER_NAME} > /dev/null
/usr/bin/docker rm ${CONTAINER_NAME} > /dev/null clear sudo ./honeypot.sh esac else echo "the container image with this name was not found" exit fi