diff --git a/README.md b/README.md deleted file mode 100644 index d41dd3a..0000000 --- a/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Coisas para leres que sao fixes wowowowowowow !!!!! (Assignment 2) -- Os slides (duh) -- Okay o mais importante é os slides. - -- [X.509 (ssl.com)](https://www.ssl.com/faqs/what-is-an-x-509-certificate/) -- [X.509 (youtube)](https://www.youtube.com/watch?v=kAaIYRJoJkc) diff --git a/SERVER.sh b/SERVER.sh index a4e2a76..e12cccc 100644 --- a/SERVER.sh +++ b/SERVER.sh @@ -27,12 +27,23 @@ instalar httpd instalar mod_security instalar mod_security_crs +# Enable ModSecurity blocking engine (change DetectionOnly to On) +if [ -f /etc/httpd/conf.d/mod_security.conf ]; then + sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/g' /etc/httpd/conf.d/mod_security.conf +fi +if [ -f /etc/httpd/modsecurity.d/modsecurity.conf ]; then + sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/g' /etc/httpd/modsecurity.d/modsecurity.conf +fi + instalar iptables-services s stop firewalld s disable firewalld s mask firewalld s enable iptables sudo iptables -F +sudo iptables -A INPUT -p tcp --dport 420 -j ACCEPT +sudo iptables -A INPUT -i lo -p tcp --dport 3000 -j ACCEPT +sudo iptables -A INPUT -p tcp --dport 3000 -j REJECT # nat sudo sysctl -w net.ipv4.ip_forward=1 @@ -54,9 +65,9 @@ if [[ ! -f "$jspath/package.json" ]]; then sudo chown -R $USER:$USER "$jspath" fi -# apache WAF (desativado por default) -s stop httpd -s disable httpd +# apache WAF (ativado por default) +s enable httpd +s start httpd # correr juice shop via npm cd "$jspath" diff --git a/assignment1/DMZ.sh b/assignment1/DMZ.sh deleted file mode 100644 index 226034c..0000000 --- a/assignment1/DMZ.sh +++ /dev/null @@ -1,45 +0,0 @@ -# ============================== -# DMZ -# NETWORK: 23.214.219.128/25 -# ============================== -ip=23.214.219.129 -routerIp=23.214.219.254 -mask25=255.255.255.128 - -dns=23.214.219.130 -mail=23.214.219.134 -vpn_gw=23.214.219.133 -www=23.214.219.132 -smtp=23.214.219.131 - -dnsPort=53 -mailPort=888 -vpn_gwPort=443 -wwwPort=587 -smtpPort=80 -sudo yum install iptables-services -y -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl mask firewalld -sudo systemctl enable iptables - -sudo iptables -F -sudo ifconfig enp0s8 $ip netmask $mask25 -sudo ip route add 192.168.10.0/24 via $routerIp -sudo route add default gw $routerIp -# alias dos ips -sudo ip addr add $dns dev enp0s8 -sudo ip addr add $mail dev enp0s8 -sudo ip addr add $vpn_gw dev enp0s8 -sudo ip addr add $www dev enp0s8 -sudo ip addr add $smtp dev enp0s8 - -# netcart -internalIp=192.168.10.1 -nc -l & -nc -v -s $dns -p $dnsPort $internalIp -nc -v -s $mail -p $mailPort $internalIp -nc -v -s $vpn_gw -p $vpn_gwPort $internalIp -nc -v -s $smtp -p $smtpPort $internalIp -nc -v -s $www -p $wwwPort $internalIp -nc -v -s $www -p $wwwPort $internalIp diff --git a/assignment1/INTERNAL.sh b/assignment1/INTERNAL.sh deleted file mode 100644 index c984ddb..0000000 --- a/assignment1/INTERNAL.sh +++ /dev/null @@ -1,30 +0,0 @@ -# ============================== -# INTERNAL -# NETWORK: 192.168.10.0/24 -# ============================== - -ip=192.168.10.1 -routerIp=192.168.10.254 -mask24=255.255.255.0 - -ftp=192.168.10.2 -datastore=192.168.10.3 -dhcpClient=192.168.10.4 -sudo yum install iptables-services -y -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl mask firewalld -sudo systemctl enable iptables -sudo iptables -F -sudo ifconfig enp0s8 $ip netmask $mask24 -sudo ip route add 23.214.219.128/25 via $routerIp -sudo route add default gw $routerIp -# aliasing -sudo ip addr add $ftp dev enp0s8 -sudo ip addr add $datastore dev enp0s8 - -# netcar -dmz=23.214.219.129 -nc -l & -nc -v -s $ftp -p 53 $dmz -nc -v -s $datastore -p 888 $dmz diff --git a/assignment1/INTERNET.sh b/assignment1/INTERNET.sh deleted file mode 100644 index 2211083..0000000 --- a/assignment1/INTERNET.sh +++ /dev/null @@ -1,15 +0,0 @@ -ip=87.248.214.98 -dns2=87.248.214.99 -eden=87.248.214.100 -mask24=255.255.255.0 -routerIp=87.248.214.97 -sudo yum install iptables-services -y -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl mask firewalld -sudo systemctl enable iptables -sudo iptables -F -sudo ifconfig enp0s8 $dns2 netmask $mask24 -sudo route add default gw $routerIp -#sudo ip addr add $dns2 dev enp0s8 -sudo ip addr add $eden dev enp0s8 \ No newline at end of file diff --git a/assignment1/Practical Assignment 1.pdf b/assignment1/Practical Assignment 1.pdf deleted file mode 100644 index 2a2c452..0000000 Binary files a/assignment1/Practical Assignment 1.pdf and /dev/null differ diff --git a/assignment1/ROUTER.sh b/assignment1/ROUTER.sh deleted file mode 100644 index 5689ba8..0000000 --- a/assignment1/ROUTER.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash - -dns2="87.248.214.99" -eden="87.248.214.100" - -# Router 1 -dmzIP="23.214.219.254" -internalIP="192.168.10.254" -externalIP="87.248.214.97" - -# DMZ /25 -dns="23.214.219.130" -smtp="23.214.219.131" -www="23.214.219.132" -vpn_gw="23.214.219.133" -mail="23.214.219.134" - -# Internal -ftp="192.168.10.2" -datastore="192.168.10.3" -dhcpClient="192.168.10.4" - -# Interfaces -dmzIF="enp0s8" -internalIF="enp0s9" -externalIF="enp0s10" - -sudo ifconfig $dmzIF $dmzIP netmask 255.255.255.128 -sudo ifconfig $internalIF $internalIP netmask 255.255.255.0 -sudo ifconfig $externalIF $externalIP netmask 255.255.255.0 - -sudo yum install iptables-services -y -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl mask firewalld -sudo systemctl enable iptables -sudo iptables -F -sudo iptables -t nat -F -sudo iptables -t mangle -F -sudo sysctl -w net.ipv4.ip_forward=1 -iptables -P INPUT DROP -iptables -P FORWARD DROP -iptables -P OUTPUT ACCEPT -sudo iptables -A INPUT -i lo -j ACCEPT -sudo iptables -A OUTPUT -o lo -j ACCEPT - -#sudo iptables -t nat -A POSTROUTING -i $internalIF -o enp0s3 -j MASQUERADE #SUS -sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #CAREFULL - -#DNS name resolution requests sent to outside servers and want a response: -sudo iptables -A INPUT -i $externalIF -p udp --dport 53 -j ACCEPT - -#SSH connections to the router system that originate from the inside and want an answer: -sudo iptables -A INPUT -i $internalIF -p tcp --dport 22 -j ACCEPT -sudo iptables -A INPUT -i $dmzIF -s $vpn_gw -p tcp --dport 22 -j ACCEPT - -#The dns server should be able to resolve names using the internet (and others???) -sudo iptables -I FORWARD -j NFQUEUE --queue-bypass -sudo iptables -I INPUT -j NFQUEUE --queue-bypass -sudo iptables -A FORWARD -i $dmzIF -o $externalIF -s $dns -p udp --dport 53 -j ACCEPT - -#The internal network should be able to send and recieve dns name resolutions to the dns server (1!) -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $dns -p udp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #THIS IS IMPORTANT AND MIGHT FUCK US - -#The dns and dns2 servers should be able to synchronize the contents of DNS zones. (protocol tcp port 53) -sudo iptables -A FORWARD -i $dmzIF -o $externalIF -s $dns -p tcp --dport 53 -j ACCEPT - -#SMTP connections to the smtp server and returns -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $smtp -p tcp --dport 587 -j ACCEPT -#sudo iptables -A FORWARD -i $dmzIF -o $internalIF -p tcp --dport 587 -m state --state ESTABLISHED,RELATED -j ACCEPT - -#POP and IMAP connections to the www server -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $mail -p tcp --dport 143 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $mail -p tcp --dport 110 -j ACCEPT - -#HTTP and HTTPS connectins -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $www -p tcp --dport 80 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $www -p tcp --dport 443 -j ACCEPT - -#OpenVPN connections to the vpn-gw server -sudo iptables -A FORWARD -i $internalIF -o $dmzIF -d $vpn_gw -p udp --dport 1194 -j ACCEPT -#sudo iptables -A FORWARD -i $dmzIF -o $internalIF -p udp --dport 1194 -j ACCEPT - -#VPN clients connected to the gateway vpn-gw ???? vpn should be able to acess ftp e datastore -sudo iptables -A FORWARD -i $dmzIF -o $internalIF -s $vpn_gw -d $ftp -j ACCEPT -sudo iptables -A FORWARD -i $dmzIF -o $internalIF -s $vpn_gw -d $datastore -j ACCEPT - -#FTP da internet WORRIED ??? -sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $ftp -p tcp --dport 21 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --sport 20 -j ACCEPT #MIGHT BE NEEDED - -#SSH CONNECTIONS datastore server but only from eden or dn2 DNAT -s servers, and port and -d interface -sudo iptables -t nat -A PREROUTING -s $dns2 -p tcp --dport 22 -j DNAT --to-destination $datastore -sudo iptables -t nat -A PREROUTING -s $eden -p tcp --dport 22 -j DNAT --to-destination $datastore -sudo iptables -t nat -A PREROUTING -i $externalIF -p tcp --dport 21 -j DNAT --to-destination $ftp -sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $datastore -s $dns2 -p tcp --dport 22 -j ACCEPT #Need to check and make diferent ip addresses -sudo iptables -A FORWARD -i $externalIF -o $internalIF -d $datastore -s $eden -p tcp --dport 22 -j ACCEPT - -#$internalIF to internet DNS, http, https, ssh, FTP(SERVERS??????(WHO INVITED THIS GUY)) SNAT -sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o $externalIF -j SNAT --to-source $externalIP -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p udp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 80 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 443 -j ACCEPT -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --sport 21 -j ACCEPT #MIGHT NOT BE ENOUGH -sudo iptables -A FORWARD -i $internalIF -o $externalIF -p tcp --dport 21 -j ACCEPT diff --git a/assignment1/entrega.zip b/assignment1/entrega.zip deleted file mode 100644 index 642a314..0000000 Binary files a/assignment1/entrega.zip and /dev/null differ diff --git a/assignment1/entrega.zip.asc b/assignment1/entrega.zip.asc deleted file mode 100644 index 4e3050d..0000000 --- a/assignment1/entrega.zip.asc +++ /dev/null @@ -1,2281 +0,0 @@ ------BEGIN PGP MESSAGE----- - -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 -aL/jnoXIyVeM0wlqA8dZuVfArKggNItL3DJg6GFSWZfFSWcoSOdQ0B79YxA0a+W0 -nfkeiIl/CEG0QdQ7pumFdqBkHai1Un9r38x7kbtf0WoV311XsgreptUyMO19ncfB -iy8QVh20hISJya+GuD4V/oxaQQ+wSI1Sm8ypkFkJ0AsSVgbcc9w7n11TA9DEtEe2 -XsRrTb4Sw3CVdAxo5tnq2Uq2oTn/zySwW0EwndTT3F5xm2GSFodVkOfZ1z+fc22v -pQiXs7EViroIYbNgrQgyoopsEq7ItSv+Uepx6nfZa9J0skRij6CMJmBco1JdJL11 -pXLPdqVQn8ZIylVKqWFRRZ9WsrdmYjKQk3l7SqiVchd7U+Krk7j77DBfYqi+oBP9 -uGoMR3FI4fgltGJ5B9FxaG+xvKhA3jMCLkfqoy6e8Rl/liiWMScDqPQESfuQ25yc -Z38RezZovWAukxxhFLSQ0NWri7zVSOssXjQnVRLX3mTYVFFYaugqC1mf4eEkooi8 -qN2h19nCJvdq0/9R3qAAt8foy4RHzjTvmzYDvZavVXgK6vVHknLpr96mYD9dHF9w -2nNS7zCxKf05lh70wlam4ULcJweIgOcXXyP6N+5Jhkft53XZpp7I7tCdilf/eEfg -eabwFsdCqQjAlKfSd05MobSrAbdzUsM9EQeF8E7ZigEJjVGE5oepCdnzmzLY4vJl -/y+51cZK2eT7MsE8i4PQ4tyzkXE1tAO5/ok7ho0ds0rSNqiDTKkYH7yDUOcrDY8l -b8iR199d6BXBiAXQCotMd/v9eAjXs3L7APvIBnTGIxLdoP8jQUqMBMph6DSxTp4r -szSWbVrXN1qOe+dx+BZwZvJOkIjcA7ogiTkbypDwRM3+biH/mUfKN+u01Oyqsevg -ZmxqQxiy09UPQq7ZQDlmS9l9rXiow7MVm9pBoJvpreMIICBkY9lvvp151aX1950h -fhbLWMmHlhwT6e05duPek/zvu+QZPQdU2Ra4g2/3aA9CJj4t2q1XXe5rA8KSowWV -iaSt45x3TqgI0AZT33V+mXjIRP0ZEd91Xyghqayi4YUCSBiNe+PyShltqOaboVr7 -R76NcGkkbT+hZxtwj41QfbmRAMfaQG+zmdu6pUfw1WaMIsnzw+7fMqFnGeFol+WR -2dDi+XhTyGmo99cGiqsVjigMYHbmyNp9t+d4wQTCyv+v/CkCkvsTEsgAN/0BLkLd -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 -=YQOh ------END PGP MESSAGE----- diff --git a/assignment1/relatorio.aux b/assignment1/relatorio.aux deleted file mode 100644 index 8bb0df4..0000000 --- a/assignment1/relatorio.aux +++ /dev/null @@ -1,13 +0,0 @@ -\relax -\providecommand \babel@aux [2]{\global \let \babel@toc \@gobbletwo } -\@nameuse{bbl@beforestart} -\catcode `"\active -\babel@aux{portuguese}{} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Firewall}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Packet fileter without NAT}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Packet filtering with NAT}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Intrusion Detection}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Tests utilizados}{5}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{5}{}\protected@file@percent } -\gdef \@abspage@last{5} diff --git a/assignment1/relatorio.log b/assignment1/relatorio.log deleted file mode 100644 index 25be7ed..0000000 --- a/assignment1/relatorio.log +++ /dev/null @@ -1,244 +0,0 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2026/dev/Arch Linux) (preloaded format=pdflatex 2026.1.17) 22 MAR 2026 22:27 -entering extended mode - \write18 enabled. - %&-line parsing enabled. -**/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio -(/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.tex -LaTeX2e <2024-11-01> patch level 2 -L3 programming layer <2025-01-18> -(/usr/share/texmf-dist/tex/latex/base/article.cls -Document Class: article 2024/06/29 v1.4n Standard LaTeX document class -(/usr/share/texmf-dist/tex/latex/base/size12.clo -File: size12.clo 2024/06/29 v1.4n Standard LaTeX file (size option) -) -\c@part=\count196 -\c@section=\count197 -\c@subsection=\count198 -\c@subsubsection=\count199 -\c@paragraph=\count266 -\c@subparagraph=\count267 -\c@figure=\count268 -\c@table=\count269 -\abovecaptionskip=\skip49 -\belowcaptionskip=\skip50 -\bibindent=\dimen141 -) -(/usr/share/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2025/02/14 v25.4 The multilingual framework for pdfLaTeX, LuaLaT -eX and XeLaTeX -\babel@savecnt=\count270 -\U@D=\dimen142 -\l@unhyphenated=\language33 - -(/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) -\bbl@readstream=\read2 -\bbl@dirlevel=\count271 - -(/usr/share/texmf-dist/tex/generic/babel-portuges/portuguese.ldf -Language: portuges 2021/07/09 v1.2t Portuguese support from the babel system -Package babel Info: Making " an active character on input line 143. -)) -(/usr/share/texmf-dist/tex/generic/babel/locale/pt/babel-portuguese.tex -Package babel Info: Importing font and identification data for portuguese -(babel) from babel-pt.ini. Reported on input line 11. -) -(/usr/share/texmf-dist/tex/latex/ebgaramond/ebgaramond.sty -Package: ebgaramond 2024/04/23 (Bob Tennent and autoinst) Style file for EB Gar -amond fonts. - -(/usr/share/texmf-dist/tex/generic/iftex/ifxetex.sty -Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. - -(/usr/share/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2024/12/12 v1.0g TeX engine tests -)) -(/usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty -Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. -) -(/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2022/06/16 v2.9 package option processing (HA) - -(/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex -(/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks17 -\XKV@tempa@toks=\toks18 - -(/usr/share/texmf-dist/tex/generic/xkeyval/keyval.tex)) -\XKV@depth=\count272 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -)) -(/usr/share/texmf-dist/tex/latex/base/textcomp.sty -Package: textcomp 2024/04/24 v2.1b Standard LaTeX package -) -(/usr/share/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2021/04/29 v2.0v Standard LaTeX package -) -(/usr/share/texmf-dist/tex/latex/fontaxes/fontaxes.sty -Package: fontaxes 2020/07/21 v1.0e Font selection axes -LaTeX Info: Redefining \upshape on input line 29. -LaTeX Info: Redefining \itshape on input line 31. -LaTeX Info: Redefining \slshape on input line 33. -LaTeX Info: Redefining \swshape on input line 35. -LaTeX Info: Redefining \scshape on input line 37. -LaTeX Info: Redefining \sscshape on input line 39. -LaTeX Info: Redefining \ulcshape on input line 41. -LaTeX Info: Redefining \textsw on input line 47. -LaTeX Info: Redefining \textssc on input line 48. -LaTeX Info: Redefining \textulc on input line 49. -) -LaTeX Info: Redefining \oldstylenums on input line 163. -LaTeX Info: Redefining \textsw on input line 173. -) -(/usr/share/texmf-dist/tex/latex/listings/listings.sty -\lst@mode=\count273 -\lst@gtempboxa=\box52 -\lst@token=\toks19 -\lst@length=\count274 -\lst@currlwidth=\dimen143 -\lst@column=\count275 -\lst@pos=\count276 -\lst@lostspace=\dimen144 -\lst@width=\dimen145 -\lst@newlines=\count277 -\lst@lineno=\count278 -\lst@maxwidth=\dimen146 - -(/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty -File: lstpatch.sty 2024/09/23 1.10c (Carsten Heinz) -) -(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2024/09/23 1.10c (Carsten Heinz) -\c@lstnumber=\count279 -\lst@skipnumbers=\count280 -\lst@framebox=\box53 -) -(/usr/share/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2024/09/23 1.10c listings configuration -)) -Package: listings 2024/09/23 1.10c (Carsten Heinz) -LaTeX Font Info: Trying to load font information for OT1+EBGaramond-LF on in -put line 28. - -(/usr/share/texmf-dist/tex/latex/ebgaramond/OT1EBGaramond-LF.fd -File: OT1EBGaramond-LF.fd 2023/03/19 (autoinst) Font definitions for OT1/EBGara -mond-LF. -) -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be -(Font) scaled to size 12.0pt on input line 28. - -(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -File: l3backend-pdftex.def 2024-05-08 L3 backend support: PDF output (pdfTeX) -\l__color_backend_stack_int=\count281 -\l__pdf_internal_box=\box54 -) -(/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.aux) -\openout1 = `relatorio.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 28. -LaTeX Font Info: ... okay on input line 28. -\c@mv@tabular=\count282 -\c@mv@boldtabular=\count283 -\c@lstlisting=\count284 -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be -(Font) scaled to size 20.74pt on input line 29. -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be -(Font) scaled to size 14.4pt on input line 29. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <14.4> on input line 29. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 29. -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be -(Font) scaled to size 17.28pt on input line 30. -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be -(Font) scaled to size 17.28pt on input line 30. - -(/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.toc -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be -(Font) scaled to size 12.0pt on input line 2. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 4. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 4. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 4. -) -\tf@toc=\write3 -\openout3 = `relatorio.toc'. - - - -[1 - -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fonts -/enc/dvips/ebgaramond/ebg_dacnth.enc}] -(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2024/09/23 1.10c listings language file -) -(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2024/09/23 1.10c listings language file -) -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be -(Font) scaled to size 10.0pt on input line 37. - -Overfull \hbox (7.49481pt too wide) in paragraph at lines 42--44 -\OT1/EBGaramond-LF/m/n/12 As tr[]es re-des tem va-rios servi[]os, o DMZ tem dns -(23.214.219.130), mail(23.214.219.134), - [] - -LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be -(Font) scaled to size 14.4pt on input line 45. - - -[2] - -[3] -LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <10> not available -(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 93. - - -[4{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}] -Overfull \hbox (23.24622pt too wide) in paragraph at lines 125--126 -\OT1/EBGaramond-LF/m/n/12 Ao realizar-mos este pro-jeto apren-de-mos so-bre a c -ria[][]ao de sce-na-rios em VMs, a configura[][]ao - [] - - - -[5] (/home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/relatorio.aux) - *********** -LaTeX2e <2024-11-01> patch level 2 -L3 programming layer <2025-01-18> - *********** - ) -Here is how much of TeX's memory you used: - 4439 strings out of 474546 - 72779 string characters out of 5749982 - 968296 words of memory out of 5000000 - 27469 multiletter control sequences out of 15000+600000 - 573916 words of font info for 59 fonts, out of 8000000 for 9000 - 352 hyphenation exceptions out of 8191 - 57i,7n,99p,546b,1693s stack positions out of 10000i,1000n,20000p,200000b,200000s - -Output written on /home/vasco/EngenhariaInformatica/3ano/sem2/fsi/trabalho/rela -torio.pdf (5 pages, 78451 bytes). -PDF statistics: - 42 PDF objects out of 1000 (max. 8388607) - 26 compressed objects within 1 object stream - 0 named destinations out of 1000 (max. 500000) - 1 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/assignment1/relatorio.pdf b/assignment1/relatorio.pdf deleted file mode 100644 index dac6d69..0000000 Binary files a/assignment1/relatorio.pdf and /dev/null differ diff --git a/assignment1/relatorio.tex b/assignment1/relatorio.tex deleted file mode 100644 index ae7ec7b..0000000 --- a/assignment1/relatorio.tex +++ /dev/null @@ -1,126 +0,0 @@ -\documentclass[12pt,a4paper]{article} -\usepackage[portuguese]{babel} -\usepackage[lining]{ebgaramond} -\usepackage{listings} - -\lstdefinestyle{mystyle}{ - basicstyle=\ttfamily\footnotesize, - breakatwhitespace=false, - breaklines=true, - captionpos=b, - keepspaces=true, - numbers=left, - numbersep=5pt, - showspaces=false, - showstringspaces=false, - showtabs=false, - tabsize=2 -} - -\lstset{style=mystyle} - -\title{Practical Assignment \#1} -\author{ - João Neto -- 2023234004\\[1em] - Vasco Alves -- 2022228207 -} - -\begin{document} -\maketitle -\tableofcontents -\newpage - -\section{Introduction} -O objetivo principal deste trabalho era aprender IPTables e como configurar um com o Suricata um sistema de filtração e deteção de ataques. Para esse fim, foi simulado um sistema dividido em três redes e um router para conectar-las. As três redes são a DMZ (23.214.219.128/25, enp0s8), Internal network (192.168.10.0/24, enp0s9) e Internet (87.248.214.0/24, enp0s10). - -\begin{lstlisting}[language=bash] -Rede,Interface,Gama IP -DMZ,enp0s8,23.214.219.128/25 -Internal,enp0s9,192.168.10.0/24 -Internet,enp0s10,87.248.214.0/24 -\end{lstlisting} -As três redes tem varios serviços, o DMZ tem dns(23.214.219.130), mail(23.214.219.134), vpn-gw(23.214.219.133), www(23.214.219.132) e smpt(23.214.219.131). A Internal network tem ftp(192.168.10.2), datastore(192.168.10.3) e clientes (nos testes os clientes tem ip 192.168.10.4, mas está configurado para dar para qualquer edereço). Por fim a rede Internet tem dns2 (87.248.214.99) e eden (87.248.214.100), existe também outros serviços (87.248.214.98). -Para facilitar a recriação deste sistema foi criado 4 ficheiros .sh (um para cada rede e o router), e disponibilizamos os ficheiros suricata.rules e suricata.yaml, para o suricata que estiver ligado ao Router. Os ficheiros .sh vão ter comandos para configurar o sistema para este exercicio. -\section{Firewall} -\subsection{Packet fileter without NAT} -O policy que foi escolhido foi: -\begin{lstlisting}[language=bash] -iptables -P INPUT DROP -iptables -P FORWARD DROP -iptables -P OUTPUT ACCEPT -\end{lstlisting} -Foi escolhido porque é mais facil dar DROP a todos os pacotes que não foi criado regras do que criar uma regra de DROP para todos os protocolos e possibilidades, o OUTPUT ficou para ACCEPT porque não existe razão para dar DROP dos pacotes que estamos a enviar neste trabalho. -Para o router conseguir resolver DNS requests e para aceitar coneções SSH da rede interna ou da VPN gateway foi utilizado estes comandos: -\begin{lstlisting}[language=bash] -sudo iptables -A INPUT -i enp0s10 -p udp --dport 53 -j ACCEPT -sudo iptables -A INPUT -i enp0s9 -p tcp --dport 22 -j ACCEPT -sudo iptables -A INPUT -i enp0s8 -s 23.214.219.133 -p tcp --dport 22 -j ACCEPT -\end{lstlisting} -Para conseguirmos a confirguração pedida entre redes foi utilizado estes commandos: -\begin{lstlisting}[language=bash] -sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p udp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.130 -p udp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p tcp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.131 -p tcp --dport 587 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --dport 143 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --dport 110 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --dport 80 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --dport 443 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.133 -p udp --dport 1194 -j ACCEPT -sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.2 -j ACCEPT -sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.3 -j ACCEPT -\end{lstlisting} -Inicialmente as implementações de respostas a forward eram especificas para cada regra isto é por exemplo: -\begin{lstlisting}[language=bash] -sudo iptables -A FORWARD -o enp0s8 -i enp0s10 -p udp --dport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT -\end{lstlisting} -No entanto isso facilmente originava confusão entre nós, então decimos utilizar estas duas regras: -\begin{lstlisting}[language=bash] -sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -\end{lstlisting} -Neste cenario o uso destas regras faz sentido, mas pode existir outros cenarios no futuro que não queremos uma resposta, e nesse caso temos de criar as regras necessarias. -\subsection{Packet filtering with NAT} -Para conecções com origem/destino na internet foi utilizado DNAT/SNAT e iptables para "esconder" o ip para a internet que querer aceder a rede interna para não terem acesso ao edereço ip e iproutes para bloquear certos pacotes de entrar, para conseguir a configuração utilizamos estes comandos: -\begin{lstlisting}[language=bash] -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.2 -p tcp --dport 21 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 20 -j ACCEPT -sudo iptables -t nat -A PREROUTING -s $dns2 -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -t nat -A PREROUTING -s $eden -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -t nat -A PREROUTING -i enp0s10 -p tcp --dport 21 -j DNAT --to-destination 192.168.10.2 -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $dns2 -p tcp --dport 22 -j ACCEPT -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $eden -p tcp --dport 22 -j ACCEPT -sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enp0s10 -j SNAT --to-source 87.248.214.97 -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p udp --dport 53 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 80 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 443 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 21 -j ACCEPT -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 21 -j ACCEPT -\end{lstlisting} - -\section{Intrusion Detection} -As regras que utilizamos para o suricata foram estas: -\begin{lstlisting}[language=bash] -drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"ET"; flags:S; threshold:type both, track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000001; rev:1;) -drop tcp any any -> any 80 (msg:"SQL injection"; content:"union"; nocase; content:"select"; nocase; classtype:web-application-attack; sid:1000002; rev:1;) -drop tcp any any -> any 80 (msg:"SQl injection"; content:"'or 1=1"; nocase; classtype:web-application-attack; sid:1000003; rev:1;) -drop tcp any any -> any 80 (msg:"XSS"; content:"" -\end{lstlisting} - -\section{Conclusion} -Ao realizar-mos este projeto aprendemos sobre a criação de scenarios em VMs, a configuração de uma firewall utilizando IPTables e a configuração de um IDS/IPS system utilizando Suricata -\end{document} diff --git a/assignment1/relatorio.toc b/assignment1/relatorio.toc deleted file mode 100644 index 20da808..0000000 --- a/assignment1/relatorio.toc +++ /dev/null @@ -1,8 +0,0 @@ -\babel@toc {portuguese}{}\relax -\contentsline {section}{\numberline {1}Introduction}{2}{}% -\contentsline {section}{\numberline {2}Firewall}{2}{}% -\contentsline {subsection}{\numberline {2.1}Packet fileter without NAT}{2}{}% -\contentsline {subsection}{\numberline {2.2}Packet filtering with NAT}{3}{}% -\contentsline {section}{\numberline {3}Intrusion Detection}{4}{}% -\contentsline {section}{\numberline {4}Tests utilizados}{5}{}% -\contentsline {section}{\numberline {5}Conclusion}{5}{}% diff --git a/assignment1/suricata.rules b/assignment1/suricata.rules deleted file mode 100644 index 9c84dbe..0000000 --- a/assignment1/suricata.rules +++ /dev/null @@ -1,5 +0,0 @@ -drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"ET"; flags:S; threshold:type both, track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000001; rev:1;) -drop tcp any any -> any 80 (msg:"SQL injection"; content:"union"; nocase; content:"select"; nocase; classtype:web-application-attack; sid:1000002; rev:1;) -drop tcp any any -> any 80 (msg:"SQl injection"; content:"'or 1=1"; nocase; classtype:web-application-attack; sid:1000003; rev:1;) -drop tcp any any -> any 80 (msg:"XSS"; content:" %A:%P" - #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram' - - # a line based log of TLS handshake parameters (no alerts) - - tls-log: - enabled: no # Log TLS connections. - filename: tls.log # File to store TLS logs. - append: yes - #extended: yes # Log extended information like fingerprint - #custom: yes # enabled the custom logging format (defined by customformat) - #customformat: "%{%D-%H:%M:%S}t.%z %a:%p -> %A:%P %v %n %d %D" - #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram' - # output TLS transaction where the session is resumed using a - # session id - #session-resumption: no - - # output module to store certificates chain to disk - - tls-store: - enabled: no - #certs-log-dir: certs # directory to store the certificates files - - # Packet log... log packets in pcap format. 3 modes of operation: "normal" - # "multi" and "sguil". - # - # In normal mode a pcap file "filename" is created in the default-log-dir, - # or as specified by "dir". - # In multi mode, a file is created per thread. This will perform much - # better, but will create multiple files where 'normal' would create one. - # In multi mode the filename takes a few special variables: - # - %n -- thread number - # - %i -- thread id - # - %t -- timestamp (secs or secs.usecs based on 'ts-format' - # E.g. filename: pcap.%n.%t - # - # Note that it's possible to use directories, but the directories are not - # created by Suricata. E.g. filename: pcaps/%n/log.%s will log into the - # per thread directory. - # - # Also note that the limit and max-files settings are enforced per thread. - # So the size limit when using 8 threads with 1000mb files and 2000 files - # is: 8*1000*2000 ~ 16TiB. - # - # In Sguil mode "dir" indicates the base directory. In this base dir the - # pcaps are created in the directory structure Sguil expects: - # - # $sguil-base-dir/YYYY-MM-DD/$filename. - # - # By default all packets are logged except: - # - TCP streams beyond stream.reassembly.depth - # - encrypted streams after the key exchange - # - - pcap-log: - enabled: yes - filename: log.pcap - - # File size limit. Can be specified in kb, mb, gb. Just a number - # is parsed as bytes. - limit: 1000mb - - # If set to a value, ring buffer mode is enabled. Will keep maximum of - # "max-files" of size "limit" - max-files: 2000 - - # Compression algorithm for pcap files. Possible values: none, lz4. - # Enabling compression is incompatible with the sguil mode. Note also - # that on Windows, enabling compression will *increase* disk I/O. - compression: none - - # Further options for lz4 compression. The compression level can be set - # to a value between 0 and 16, where higher values result in higher - # compression. - #lz4-checksum: no - #lz4-level: 0 - - mode: sguil # normal, multi or sguil. - - # Directory to place pcap files. If not provided the default log - # directory will be used. Required for "sguil" mode. - dir: /var/log/suricata/pcaps/ - - #ts-format: usec # sec or usec second format (default) is filename.sec usec is filename.sec.usec - use-stream-depth: no #If set to "yes" packets seen after reaching stream inspection depth are ignored. "no" logs all packets - honor-pass-rules: no # If set to "yes", flows in which a pass rule matched will stop being logged. - # Use "all" to log all packets or use "alerts" to log only alerted packets and flows or "tag" - # to log only flow tagged via the "tag" keyword - #conditional: all - - # a full alert log containing much information for signature writers - # or for investigating suspected false positives. - - alert-debug: - enabled: no - filename: alert-debug.log - append: yes - #filetype: regular # 'regular', 'unix_stream' or 'unix_dgram' - - # Stats.log contains data from various counters of the Suricata engine. - - stats: - enabled: yes - filename: stats.log - append: yes # append to file (yes) or overwrite it (no) - totals: yes # stats for all threads merged together - threads: no # per thread stats - #null-values: yes # print counters that have value 0. Default: no - - # a line based alerts log similar to fast.log into syslog - - syslog: - enabled: no - # reported identity to syslog. If omitted the program name (usually - # suricata) will be used. - #identity: "suricata" - facility: local5 - #level: Info ## possible levels: Emergency, Alert, Critical, - ## Error, Warning, Notice, Info, Debug - - # Output module for storing files on disk. Files are stored in - # directory names consisting of the first 2 characters of the - # SHA256 of the file. Each file is given its SHA256 as a filename. - # - # When a duplicate file is found, the timestamps on the existing file - # are updated. - # - # Unlike the older filestore, metadata is not written by default - # as each file should already have a "fileinfo" record in the - # eve-log. If write-fileinfo is set to yes, then each file will have - # one more associated .json files that consist of the fileinfo - # record. A fileinfo file will be written for each occurrence of the - # file seen using a filename suffix to ensure uniqueness. - # - # To prune the filestore directory see the "suricatactl filestore - # prune" command which can delete files over a certain age. - - file-store: - version: 2 - enabled: no - - # Set the directory for the filestore. Relative pathnames - # are contained within the "default-log-dir". - #dir: filestore - - # Write out a fileinfo record for each occurrence of a file. - # Disabled by default as each occurrence is already logged - # as a fileinfo record to the main eve-log. - #write-fileinfo: yes - - # Force storing of all files. Default: no. - #force-filestore: yes - - # Override the global stream-depth for sessions in which we want - # to perform file extraction. Set to 0 for unlimited; otherwise, - # must be greater than the global stream-depth value to be used. - #stream-depth: 0 - - # Uncomment the following variable to define how many files can - # remain open for filestore by Suricata. Default value is 0 which - # means files get closed after each write to the file. - #max-open-files: 1000 - - # Force logging of checksums: available hash functions are md5, - # sha1 and sha256. Note that SHA256 is automatically forced by - # the use of this output module as it uses the SHA256 as the - # file naming scheme. - #force-hash: [sha1, md5] - # NOTE: X-Forwarded configuration is ignored if write-fileinfo is disabled - # HTTP X-Forwarded-For support by adding an extra field or overwriting - # the source or destination IP address (depending on flow direction) - # with the one reported in the X-Forwarded-For HTTP header. This is - # helpful when reviewing alerts for traffic that is being reverse - # or forward proxied. - xff: - enabled: no - # Two operation modes are available, "extra-data" and "overwrite". - mode: extra-data - # Two proxy deployments are supported, "reverse" and "forward". In - # a "reverse" deployment the IP address used is the last one, in a - # "forward" deployment the first IP address is used. - deployment: reverse - # Header name where the actual IP address will be reported. If more - # than one IP address is present, the last IP address will be the - # one taken into consideration. - header: X-Forwarded-For - - # Log TCP data after stream normalization - # Two types: file or dir: - # - file logs into a single logfile. - # - dir creates 2 files per TCP session and stores the raw TCP - # data into them. - # Use 'both' to enable both file and dir modes. - # - # Note: limited by "stream.reassembly.depth" - - tcp-data: - enabled: no - type: file - filename: tcp-data.log - - # Log HTTP body data after normalization, de-chunking and unzipping. - # Two types: file or dir. - # - file logs into a single logfile. - # - dir creates 2 files per HTTP session and stores the - # normalized data into them. - # Use 'both' to enable both file and dir modes. - # - # Note: limited by the body limit settings - - http-body-data: - enabled: no - type: file - filename: http-data.log - - # Lua Output Support - execute lua script to generate alert and event - # output. - # Documented at: - # https://docs.suricata.io/en/latest/output/lua-output.html - - lua: - enabled: no - #scripts-dir: /etc/suricata/lua-output/ - scripts: - # - script1.lua - -# Logging configuration. This is not about logging IDS alerts/events, but -# output about what Suricata is doing, like startup messages, errors, etc. -logging: - # The default log level: can be overridden in an output section. - # Note that debug level logging will only be emitted if Suricata was - # compiled with the --enable-debug configure option. - # - # This value is overridden by the SC_LOG_LEVEL env var. - default-log-level: notice - - # The default output format. Optional parameter, should default to - # something reasonable if not provided. Can be overridden in an - # output section. You can leave this out to get the default. - # - # This console log format value can be overridden by the SC_LOG_FORMAT env var. - #default-log-format: "%D: %S: %M" - # - # For the pre-7.0 log format use: - #default-log-format: "[%i] %t [%S] - (%f:%l) <%d> (%n) -- " - - # A regex to filter output. Can be overridden in an output section. - # Defaults to empty (no filter). - # - # This value is overridden by the SC_LOG_OP_FILTER env var. - default-output-filter: - - # Requires libunwind to be available when Suricata is configured and built. - # If a signal unexpectedly terminates Suricata, displays a brief diagnostic - # message with the offending stacktrace if enabled. - #stacktrace-on-signal: on - - # Define your logging outputs. If none are defined, or they are all - # disabled you will get the default: console output. - outputs: - - console: - enabled: yes - # type: json - - file: - enabled: yes - level: info - filename: suricata.log - # format: "[%i - %m] %z %d: %S: %M" - # type: json - - syslog: - enabled: no - facility: local5 - format: "[%i] <%d> -- " - # type: json - - -## -## Step 3: Configure common capture settings -## -## See "Advanced Capture Options" below for more options, including Netmap -## and PF_RING. -## - -# Linux high speed capture support -af-packet: - - interface: eth0 - # Number of receive threads. "auto" uses the number of cores - #threads: auto - # Default clusterid. AF_PACKET will load balance packets based on flow. - cluster-id: 99 - # Default AF_PACKET cluster type. AF_PACKET can load balance per flow or per hash. - # This is only supported for Linux kernel > 3.1 - # possible value are: - # * cluster_flow: all packets of a given flow are sent to the same socket - # * cluster_cpu: all packets treated in kernel by a CPU are sent to the same socket - # * cluster_qm: all packets linked by network card to a RSS queue are sent to the same - # socket. Requires at least Linux 3.14. - # * cluster_ebpf: eBPF file load balancing. See doc/userguide/capture-hardware/ebpf-xdp.rst for - # more info. - # Recommended modes are cluster_flow on most boxes and cluster_cpu or cluster_qm on system - # with capture card using RSS (requires cpu affinity tuning and system IRQ tuning) - # cluster_rollover has been deprecated; if used, it'll be replaced with cluster_flow. - cluster-type: cluster_flow - # In some fragmentation cases, the hash can not be computed. If "defrag" is set - # to yes, the kernel will do the needed defragmentation before sending the packets. - defrag: yes - # To use the ring feature of AF_PACKET, set 'use-mmap' to yes - #use-mmap: yes - # Lock memory map to avoid it being swapped. Be careful that over - # subscribing could lock your system - #mmap-locked: yes - # Use tpacket_v3 capture mode, only active if use-mmap is true - # Don't use it in IPS or TAP mode as it causes severe latency - #tpacket-v3: yes - # Ring size will be computed with respect to "max-pending-packets" and number - # of threads. You can set manually the ring size in number of packets by setting - # the following value. If you are using flow "cluster-type" and have really network - # intensive single-flow you may want to set the "ring-size" independently of the number - # of threads: - #ring-size: 2048 - # Block size is used by tpacket_v3 only. It should set to a value high enough to contain - # a decent number of packets. Size is in bytes so please consider your MTU. It should be - # a power of 2 and it must be multiple of page size (usually 4096). - #block-size: 32768 - # tpacket_v3 block timeout: an open block is passed to userspace if it is not - # filled after block-timeout milliseconds. - #block-timeout: 10 - # Block size for tpacket-v2. In 7.0.9 the built-in default was - # increased from 32768 to 131072. Uncomment and reset back to - # 32768 if this is a problem with your configuration. - #v2-block-size: 131072 - # On busy systems, set it to yes to help recover from a packet drop - # phase. This will result in some packets (at max a ring flush) not being inspected. - #use-emergency-flush: yes - # recv buffer size, increased value could improve performance - # buffer-size: 32768 - # Set to yes to disable promiscuous mode - # disable-promisc: no - # Choose checksum verification mode for the interface. At the moment - # of the capture, some packets may have an invalid checksum due to - # the checksum computation being offloaded to the network card. - # Possible values are: - # - kernel: use indication sent by kernel for each packet (default) - # - yes: checksum validation is forced - # - no: checksum validation is disabled - # - auto: Suricata uses a statistical approach to detect when - # checksum off-loading is used. - # Warning: 'capture.checksum-validation' must be set to yes to have any validation - #checksum-checks: kernel - # BPF filter to apply to this interface. The pcap filter syntax applies here. - #bpf-filter: port 80 or udp - # You can use the following variables to activate AF_PACKET tap or IPS mode. - # If copy-mode is set to ips or tap, the traffic coming to the current - # interface will be copied to the copy-iface interface. If 'tap' is set, the - # copy is complete. If 'ips' is set, the packet matching a 'drop' action - # will not be copied. - #copy-mode: ips - #copy-iface: eth1 - # For eBPF and XDP setup including bypass, filter and load balancing, please - # see doc/userguide/capture-hardware/ebpf-xdp.rst for more info. - - # Put default values here. These will be used for an interface that is not - # in the list above. - - interface: default - #threads: auto - #use-mmap: no - #tpacket-v3: yes - -# Linux high speed af-xdp capture support -af-xdp: - - interface: default - # Number of receive threads. "auto" uses least between the number - # of cores and RX queues - #threads: auto - #disable-promisc: false - # XDP_DRV mode can be chosen when the driver supports XDP - # XDP_SKB mode can be chosen when the driver does not support XDP - # Possible values are: - # - drv: enable XDP_DRV mode - # - skb: enable XDP_SKB mode - # - none: disable (kernel in charge of applying mode) - #force-xdp-mode: none - # During socket binding the kernel will attempt zero-copy, if this - # fails it will fallback to copy. If this fails, the bind fails. - # The bind can be explicitly configured using the option below. - # If configured, the bind will fail if not successful (no fallback). - # Possible values are: - # - zero: enable zero-copy mode - # - copy: enable copy mode - # - none: disable (kernel in charge of applying mode) - #force-bind-mode: none - # Memory alignment mode can vary between two modes, aligned and - # unaligned chunk modes. By default, aligned chunk mode is selected. - # select 'yes' to enable unaligned chunk mode. - # Note: unaligned chunk mode uses hugepages, so the required number - # of pages must be available. - #mem-unaligned: no - # The following options configure the prefer-busy-polling socket - # options. The polling time and budget can be edited here. - # Possible values are: - # - yes: enable (default) - # - no: disable - #enable-busy-poll: yes - # busy-poll-time sets the approximate time in microseconds to busy - # poll on a blocking receive when there is no data. - #busy-poll-time: 20 - # busy-poll-budget is the budget allowed for packet batches - #busy-poll-budget: 64 - # These two tunables are used to configure the Linux OS's NAPI - # context. Their purpose is to defer enabling of interrupts and - # instead schedule the NAPI context from a watchdog timer. - # The softirq NAPI will exit early, allowing busy polling to be - # performed. Successfully setting these tunables alongside busy-polling - # should improve performance. - # Defaults are: - #gro-flush-timeout: 2000000 - #napi-defer-hard-irq: 2 - -dpdk: - eal-params: - proc-type: primary - - # DPDK capture support - # RX queues (and TX queues in IPS mode) are assigned to cores in 1:1 ratio - interfaces: - - interface: 0000:3b:00.0 # PCIe address of the NIC port - # Threading: possible values are either "auto" or number of threads - # - auto takes all cores - # in IPS mode it is required to specify the number of cores and the numbers on both interfaces must match - threads: auto - # interrupt-mode: false # true to switch to interrupt mode - promisc: true # promiscuous mode - capture all packets - multicast: true # enables also detection on multicast packets - checksum-checks: true # if Suricata should validate checksums - checksum-checks-offload: true # if possible offload checksum validation to the NIC (saves Suricata resources) - mtu: 1500 # Set MTU of the device in bytes - # rss-hash-functions: 0x0 # advanced configuration option, use only if you use untested NIC card and experience RSS warnings, - # For `rss-hash-functions` use hexadecimal 0x01ab format to specify RSS hash function flags - DumpRssFlags can help (you can see output if you use -vvv option during Suri startup) - # setting auto to rss_hf sets the default RSS hash functions (based on IP addresses) - - # To approximately calculate required amount of space (in bytes) for interface's mempool: mempool-size * mtu - # Make sure you have enough allocated hugepages. - # The optimum size for the packet memory pool (in terms of memory usage) is power of two minus one: n = (2^q - 1) - mempool-size: 65535 # The number of elements in the mbuf pool - - # Mempool cache size must be lower or equal to: - # - RTE_MEMPOOL_CACHE_MAX_SIZE (by default 512) and - # - "mempool-size / 1.5" - # It is advised to choose cache_size to have "mempool-size modulo cache_size == 0". - # If this is not the case, some elements will always stay in the pool and will never be used. - # The cache can be disabled if the cache_size argument is set to 0, can be useful to avoid losing objects in cache - # If the value is empty or set to "auto", Suricata will attempt to set cache size of the mempool to a value - # that matches the previously mentioned recommendations - mempool-cache-size: 257 - rx-descriptors: 1024 - tx-descriptors: 1024 - # - # IPS mode for Suricata works in 3 modes - none, tap, ips - # - none: IDS mode only - disables IPS functionality (does not further forward packets) - # - tap: forwards all packets and generates alerts (omits DROP action) This is not DPDK TAP - # - ips: the same as tap mode but it also drops packets that are flagged by rules to be dropped - copy-mode: none - copy-iface: none # or PCIe address of the second interface - - - interface: default - threads: auto - promisc: true - multicast: true - checksum-checks: true - checksum-checks-offload: true - mtu: 1500 - rss-hash-functions: auto - mempool-size: 65535 - mempool-cache-size: 257 - rx-descriptors: 1024 - tx-descriptors: 1024 - copy-mode: none - copy-iface: none - - -# Cross platform libpcap capture support -pcap: - - interface: eth0 - # On Linux, pcap will try to use mmap'ed capture and will use "buffer-size" - # as total memory used by the ring. So set this to something bigger - # than 1% of your bandwidth. - #buffer-size: 16777216 - #bpf-filter: "tcp and port 25" - # Choose checksum verification mode for the interface. At the moment - # of the capture, some packets may have an invalid checksum due to - # the checksum computation being offloaded to the network card. - # Possible values are: - # - yes: checksum validation is forced - # - no: checksum validation is disabled - # - auto: Suricata uses a statistical approach to detect when - # checksum off-loading is used. (default) - # Warning: 'capture.checksum-validation' must be set to yes to have any validation - #checksum-checks: auto - # With some accelerator cards using a modified libpcap (like Myricom), you - # may want to have the same number of capture threads as the number of capture - # rings. In this case, set up the threads variable to N to start N threads - # listening on the same interface. - #threads: 16 - # set to no to disable promiscuous mode: - #promisc: no - # set snaplen, if not set it defaults to MTU if MTU can be known - # via ioctl call and to full capture if not. - #snaplen: 1518 - # Put default values here - - interface: default - #checksum-checks: auto - -# Settings for reading pcap files -pcap-file: - # Possible values are: - # - yes: checksum validation is forced - # - no: checksum validation is disabled - # - auto: Suricata uses a statistical approach to detect when - # checksum off-loading is used. (default) - # Warning: 'checksum-validation' must be set to yes to have checksum tested - checksum-checks: auto - # tenant-id: none # applies in multi-tenant environment with "direct" selector - # delete-when-done: false # applies to file and directory - - # PCAP Directory Processing options - # recursive: false - # continuous: false - # delay: 30 # seconds to wait before processing the newly added PCAPs - # poll-interval: 5 # how often to check the directory - -# See "Advanced Capture Options" below for more options, including Netmap -# and PF_RING. - - -## -## Step 4: App Layer Protocol configuration -## - -# Configure the app-layer parsers. -# -# The exception policy error-policy setting applies to all app-layer parsers. -# Values can be "drop-flow", "pass-flow", "bypass", "drop-packet", "pass-packet", -# "reject" or "ignore" (the default). -# -# The protocol's section details each protocol. -# -# The option "enabled" takes 3 values - "yes", "no", "detection-only". -# "yes" enables both detection and the parser, "no" disables both, and -# "detection-only" enables protocol detection only (parser disabled). -app-layer: - # error-policy: ignore - protocols: - telnet: - enabled: yes - rfb: - enabled: yes - detection-ports: - dp: 5900, 5901, 5902, 5903, 5904, 5905, 5906, 5907, 5908, 5909 - mqtt: - enabled: yes - # max-msg-length: 1mb - # subscribe-topic-match-limit: 100 - # unsubscribe-topic-match-limit: 100 - # Maximum number of live MQTT transactions per flow - # max-tx: 4096 - krb5: - enabled: yes - bittorrent-dht: - enabled: yes - snmp: - enabled: yes - ike: - enabled: yes - tls: - enabled: yes - detection-ports: - dp: 443 - - # Generate JA3/JA4 fingerprints from client hello. If not specified it - # will be disabled by default, but enabled if rules require it. - #ja3-fingerprints: auto - #ja4-fingerprints: auto - - # What to do when the encrypted communications start: - # - default: keep tracking TLS session, check for protocol anomalies, - # inspect tls_* keywords. Disables inspection of unmodified - # 'content' signatures. - # - bypass: stop processing this flow as much as possible. No further - # TLS parsing and inspection. Offload flow bypass to kernel - # or hardware if possible. - # - full: keep tracking and inspection as normal. Unmodified content - # keyword signatures are inspected as well. - # - # For best performance, select 'bypass'. - # - #encryption-handling: default - - pgsql: - enabled: no - # Stream reassembly size for PostgreSQL. By default, track it completely. - stream-depth: 0 - # Maximum number of live PostgreSQL transactions per flow - # max-tx: 1024 - dcerpc: - enabled: yes - # Maximum number of live DCERPC transactions per flow - # max-tx: 1024 - ftp: - enabled: yes - # memcap: 64mb - rdp: - #enabled: yes - ssh: - enabled: yes - #hassh: yes - http2: - enabled: yes - # Maximum number of live HTTP2 streams in a flow - #max-streams: 4096 - # Maximum headers table size - #max-table-size: 65536 - # Maximum reassembly size for header + continuation frames - #max-reassembly-size: 102400 - smtp: - enabled: yes - raw-extraction: no - # Maximum number of live SMTP transactions per flow - # max-tx: 256 - # Configure SMTP-MIME Decoder - mime: - # Decode MIME messages from SMTP transactions - # (may be resource intensive) - # This field supersedes all others because it turns the entire - # process on or off - decode-mime: yes - - # Decode MIME entity bodies (ie. Base64, quoted-printable, etc.) - decode-base64: yes - decode-quoted-printable: yes - - # Maximum bytes per header data value stored in the data structure - # (default is 2000) - header-value-depth: 2000 - - # Extract URLs and save in state data structure - extract-urls: yes - # Scheme of URLs to extract - # (default is [http]) - #extract-urls-schemes: [http, https, ftp, mailto] - # Log the scheme of URLs that are extracted - # (default is no) - #log-url-scheme: yes - # Set to yes to compute the md5 of the mail body. You will then - # be able to journalize it. - body-md5: no - # Configure inspected-tracker for file_data keyword - inspected-tracker: - content-limit: 100000 - content-inspect-min-size: 32768 - content-inspect-window: 4096 - imap: - enabled: detection-only - smb: - enabled: yes - detection-ports: - dp: 139, 445 - # Maximum number of live SMB transactions per flow - # max-tx: 1024 - - # Stream reassembly size for SMB streams. By default track it completely. - #stream-depth: 0 - - nfs: - enabled: yes - # max-tx: 1024 - tftp: - enabled: yes - dns: - tcp: - enabled: yes - detection-ports: - dp: 53 - udp: - enabled: yes - detection-ports: - dp: 53 - http: - enabled: yes - - # Byte Range Containers default settings - # byterange: - # memcap: 100mb - # timeout: 60 - - # memcap: Maximum memory capacity for HTTP - # Default is unlimited, values can be 64mb, e.g. - - # default-config: Used when no server-config matches - # personality: List of personalities used by default - # request-body-limit: Limit reassembly of request body for inspection - # by http_client_body & pcre /P option. - # response-body-limit: Limit reassembly of response body for inspection - # by file_data, http_server_body & pcre /Q option. - # - # For advanced options, see the user guide - - - # server-config: List of server configurations to use if address matches - # address: List of IP addresses or networks for this block - # personality: List of personalities used by this block - # - # Then, all the fields from default-config can be overloaded - # - # Currently Available Personalities: - # Minimal, Generic, IDS (default), IIS_4_0, IIS_5_0, IIS_5_1, IIS_6_0, - # IIS_7_0, IIS_7_5, Apache_2 - libhtp: - default-config: - personality: IDS - - # Can be specified in kb, mb, gb. Just a number indicates - # it's in bytes. - request-body-limit: 100kb - response-body-limit: 100kb - - # inspection limits - request-body-minimal-inspect-size: 32kb - request-body-inspect-window: 4kb - response-body-minimal-inspect-size: 40kb - response-body-inspect-window: 16kb - - # response body decompression (0 disables) - response-body-decompress-layer-limit: 2 - - # auto will use http-body-inline mode in IPS mode, yes or no set it statically - http-body-inline: auto - - # Decompress SWF files. Disabled by default. - # Two types: 'deflate', 'lzma', 'both' will decompress deflate and lzma - # compress-depth: - # Specifies the maximum amount of data to decompress, - # set 0 for unlimited. - # decompress-depth: - # Specifies the maximum amount of decompressed data to obtain, - # set 0 for unlimited. - swf-decompression: - enabled: no - type: both - compress-depth: 100kb - decompress-depth: 100kb - - # Use a random value for inspection sizes around the specified value. - # This lowers the risk of some evasion techniques but could lead - # to detection change between runs. It is set to 'yes' by default. - #randomize-inspection-sizes: yes - # If "randomize-inspection-sizes" is active, the value of various - # inspection size will be chosen from the [1 - range%, 1 + range%] - # range - # Default value of "randomize-inspection-range" is 10. - #randomize-inspection-range: 10 - - # decoding - double-decode-path: no - double-decode-query: no - - # Can enable LZMA decompression - #lzma-enabled: false - # Memory limit usage for LZMA decompression dictionary - # Data is decompressed until dictionary reaches this size - #lzma-memlimit: 1mb - # Maximum decompressed size with a compression ratio - # above 2048 (only LZMA can reach this ratio, deflate cannot) - #compression-bomb-limit: 1mb - # Maximum time spent decompressing a single transaction in usec - #decompression-time-limit: 100000 - # Maximum number of live transactions per flow - #max-tx: 512 - # Maximum used number of HTTP1 headers in one request or response - #headers-limit: 1024 - - server-config: - - #- apache: - # address: [192.168.1.0/24, 127.0.0.0/8, "::1"] - # personality: Apache_2 - # # Can be specified in kb, mb, gb. Just a number indicates - # # it's in bytes. - # request-body-limit: 4096 - # response-body-limit: 4096 - # double-decode-path: no - # double-decode-query: no - - #- iis7: - # address: - # - 192.168.0.0/24 - # - 192.168.10.0/24 - # personality: IIS_7_0 - # # Can be specified in kb, mb, gb. Just a number indicates - # # it's in bytes. - # request-body-limit: 4096 - # response-body-limit: 4096 - # double-decode-path: no - # double-decode-query: no - - # Note: Modbus probe parser is minimalist due to the limited usage in the field. - # Only Modbus message length (greater than Modbus header length) - # and protocol ID (equal to 0) are checked in probing parser - # It is important to enable detection port and define Modbus port - # to avoid false positives - modbus: - # How many unanswered Modbus requests are considered a flood. - # If the limit is reached, the app-layer-event:modbus.flooded; will match. - #request-flood: 500 - - enabled: no - detection-ports: - dp: 502 - # According to MODBUS Messaging on TCP/IP Implementation Guide V1.0b, it - # is recommended to keep the TCP connection opened with a remote device - # and not to open and close it for each MODBUS/TCP transaction. In that - # case, it is important to set the depth of the stream reassembling as - # unlimited (stream.reassembly.depth: 0) - - # Stream reassembly size for modbus. By default track it completely. - stream-depth: 0 - - # DNP3 - dnp3: - enabled: no - detection-ports: - dp: 20000 - - # SCADA EtherNet/IP and CIP protocol support - enip: - enabled: no - detection-ports: - dp: 44818 - sp: 44818 - - ntp: - enabled: yes - - quic: - enabled: yes - - dhcp: - enabled: yes - - sip: - #enabled: yes - -# Limit for the maximum number of asn1 frames to decode (default 256) -asn1-max-frames: 256 - -# Datasets default settings -datasets: - # Default fallback memcap and hashsize values for datasets in case these - # were not explicitly defined. - defaults: - #memcap: 100mb - #hashsize: 2048 - - # Limits for per rule dataset instances to avoid rules using too many - # resources. - # Note: in Suricata 8 the built-in default will be set to lower values. - limits: - # Max value for per dataset `hashsize` setting - #single-hashsize: 262144 - # Max combined hashsize values for all datasets. - #total-hashsizes: 67108864 - - rules: - # Set to true to allow absolute filenames and filenames that use - # ".." components to reference parent directories in rules that specify - # their filenames. - #allow-absolute-filenames: false - - # Allow datasets in rules write access for "save" and - # "state". This is enabled by default, however write access is - # limited to the data directory. - #allow-write: true - -############################################################################## -## -## Advanced settings below -## -############################################################################## - -## -## Run Options -## - -# Run Suricata with a specific user-id and group-id: -#run-as: -# user: suri -# group: suri - -security: - # if true, prevents process creation from Suricata by calling - # setrlimit(RLIMIT_NPROC, 0) - limit-noproc: true - # Use landlock security module under Linux - landlock: - enabled: no - directories: - #write: - # - /var/run/ - # /usr and /etc folders are added to read list to allow - # file magic to be used. - read: - - /usr/ - - /etc/ - - /etc/suricata/ - - lua: - # Allow Lua rules. Disabled by default. - #allow-rules: false - -# Some logging modules will use that name in event as identifier. The default -# value is the hostname -#sensor-name: suricata - -# Default location of the pid file. The pid file is only used in -# daemon mode (start Suricata with -D). If not running in daemon mode -# the --pidfile command line option must be used to create a pid file. -#pid-file: /var/run/suricata.pid - -# Daemon working directory -# Suricata will change directory to this one if provided -# Default: "/" -#daemon-directory: "/" - -# Umask. -# Suricata will use this umask if it is provided. By default it will use the -# umask passed on by the shell. -#umask: 022 - -# Suricata core dump configuration. Limits the size of the core dump file to -# approximately max-dump. The actual core dump size will be a multiple of the -# page size. Core dumps that would be larger than max-dump are truncated. On -# Linux, the actual core dump size may be a few pages larger than max-dump. -# Setting max-dump to 0 disables core dumping. -# Setting max-dump to 'unlimited' will give the full core dump file. -# On 32-bit Linux, a max-dump value >= ULONG_MAX may cause the core dump size -# to be 'unlimited'. - -coredump: - max-dump: unlimited - -# If the Suricata box is a router for the sniffed networks, set it to 'router'. If -# it is a pure sniffing setup, set it to 'sniffer-only'. -# If set to auto, the variable is internally switched to 'router' in IPS mode -# and 'sniffer-only' in IDS mode. -# This feature is currently only used by the reject* keywords. -host-mode: auto - -# Number of packets preallocated per thread. The default is 1024. A higher number -# will make sure each CPU will be more easily kept busy, but may negatively -# impact caching. -#max-pending-packets: 1024 - -# Runmode the engine should use. Please check --list-runmodes to get the available -# runmodes for each packet acquisition method. Default depends on selected capture -# method. 'workers' generally gives best performance. -#runmode: autofp - -# Specifies the kind of flow load balancer used by the flow pinned autofp mode. -# -# Supported schedulers are: -# -# hash - Flow assigned to threads using the 5-7 tuple hash. -# ippair - Flow assigned to threads using addresses only. -# ftp-hash - Flow assigned to threads using the hash, except for FTP, so that -# ftp-data flows will be handled by the same thread -# -#autofp-scheduler: hash - -# Preallocated size for each packet. Default is 1514 which is the classical -# size for pcap on Ethernet. You should adjust this value to the highest -# packet size (MTU + hardware header) on your system. -#default-packet-size: 1514 - -# Unix command socket that can be used to pass commands to Suricata. -# An external tool can then connect to get information from Suricata -# or trigger some modifications of the engine. Set enabled to yes -# to activate the feature. In auto mode, the feature will only be -# activated in live capture mode. You can use the filename variable to set -# the file name of the socket. -unix-command: - enabled: auto - #filename: custom.socket - -# Magic file. The extension .mgc is added to the value here. -#magic-file: /usr/share/file/magic -#magic-file: - -# GeoIP2 database file. Specify path and filename of GeoIP2 database -# if using rules with "geoip" rule option. -#geoip-database: /usr/share/GeoIP/GeoLite2-Country.mmdb - -legacy: - uricontent: enabled - -## -## Detection settings -## - -# Set the order of alerts based on actions -# The default order is pass, drop, reject, alert -# action-order: -# - pass -# - drop -# - reject -# - alert - -# Define maximum number of possible alerts that can be triggered for the same -# packet. Default is 15 -#packet-alert-max: 15 - -# Exception Policies -# -# Define a common behavior for all exception policies. -# In IPS mode, the default is drop-flow. For cases when that's not possible, the -# engine will fall to drop-packet. To fallback to old behavior (setting each of -# them individually, or ignoring all), set this to ignore. -# All values available for exception policies can be used, and there is one -# extra option: auto - which means drop-flow or drop-packet (as explained above) -# in IPS mode, and ignore in IDS mode. Exception policy values are: drop-packet, -# drop-flow, reject, bypass, pass-packet, pass-flow, ignore (disable). -exception-policy: auto - -# IP Reputation -#reputation-categories-file: /etc/suricata/iprep/categories.txt -#default-reputation-path: /etc/suricata/iprep -#reputation-files: -# - reputation.list - -# When run with the option --engine-analysis, the engine will read each of -# the parameters below, and print reports for each of the enabled sections -# and exit. The reports are printed to a file in the default log dir -# given by the parameter "default-log-dir", with engine reporting -# subsection below printing reports in its own report file. -engine-analysis: - # enables printing reports for fast-pattern for every rule. - rules-fast-pattern: yes - # enables printing reports for each rule - rules: yes - -#recursion and match limits for PCRE where supported -pcre: - match-limit: 3500 - match-limit-recursion: 1500 - -## -## Advanced Traffic Tracking and Reconstruction Settings -## - -# Host specific policies for defragmentation and TCP stream -# reassembly. The host OS lookup is done using a radix tree, just -# like a routing table so the most specific entry matches. -host-os-policy: - # Make the default policy windows. - windows: [0.0.0.0/0] - bsd: [] - bsd-right: [] - old-linux: [] - linux: [] - old-solaris: [] - solaris: [] - hpux10: [] - hpux11: [] - irix: [] - macos: [] - vista: [] - windows2k3: [] - -# Defrag settings: - -# The exception policy memcap-policy value can be "drop-packet", "pass-packet", -# "reject" or "ignore" (which is the default). -defrag: - memcap: 32mb - # memcap-policy: ignore - hash-size: 65536 - trackers: 65535 # number of defragmented flows to follow - max-frags: 65535 # number of fragments to keep (higher than trackers) - prealloc: yes - timeout: 60 - -# Enable defrag per host settings -# host-config: -# -# - dmz: -# timeout: 30 -# address: [192.168.1.0/24, 127.0.0.0/8, 1.1.1.0/24, 2.2.2.0/24, "1.1.1.1", "2.2.2.2", "::1"] -# -# - lan: -# timeout: 45 -# address: -# - 192.168.0.0/24 -# - 192.168.10.0/24 -# - 172.16.14.0/24 - -# Flow settings: -# By default, the reserved memory (memcap) for flows is 32MB. This is the limit -# for flow allocation inside the engine. You can change this value to allow -# more memory usage for flows. -# The hash-size determines the size of the hash used to identify flows inside -# the engine, and by default the value is 65536. -# At startup, the engine can preallocate a number of flows, to get better -# performance. The number of flows preallocated is 10000 by default. -# emergency-recovery is the percentage of flows that the engine needs to -# prune before clearing the emergency state. The emergency state is activated -# when the memcap limit is reached, allowing new flows to be created, but -# pruning them with the emergency timeouts (they are defined below). -# If the memcap is reached, the engine will try to prune flows -# with the default timeouts. If it doesn't find a flow to prune, it will set -# the emergency bit and it will try again with more aggressive timeouts. -# If that doesn't work, then it will try to kill the oldest flows using -# last time seen flows. -# The memcap can be specified in kb, mb, gb. Just a number indicates it's -# in bytes. -# The exception policy memcap-policy can be "drop-packet", "pass-packet", -# "reject" or "ignore" (which is the default). - -flow: - memcap: 128mb - #memcap-policy: ignore - hash-size: 65536 - prealloc: 10000 - emergency-recovery: 30 - #managers: 1 # default to one flow manager - #recyclers: 1 # default to one flow recycler thread - -# This option controls the use of VLAN ids in the flow (and defrag) -# hashing. Normally this should be enabled, but in some (broken) -# setups where both sides of a flow are not tagged with the same VLAN -# tag, we can ignore the VLAN id's in the flow hashing. -vlan: - use-for-tracking: true - -# This option controls the use of livedev ids in the flow (and defrag) -# hashing. This is enabled by default and should be disabled if -# multiple live devices are used to capture traffic from the same network -livedev: - use-for-tracking: true - -# Specific timeouts for flows. Here you can specify the timeouts that the -# active flows will wait to transit from the current state to another, on each -# protocol. The value of "new" determines the seconds to wait after a handshake or -# stream startup before the engine frees the data of that flow it doesn't -# change the state to established (usually if we don't receive more packets -# of that flow). The value of "established" is the amount of -# seconds that the engine will wait to free the flow if that time elapses -# without receiving new packets or closing the connection. "closed" is the -# amount of time to wait after a flow is closed (usually zero). "bypassed" -# timeout controls locally bypassed flows. For these flows we don't do any other -# tracking. If no packets have been seen after this timeout, the flow is discarded. -# -# There's an emergency mode that will become active under attack circumstances, -# making the engine to check flow status faster. This configuration variables -# use the prefix "emergency-" and work similar as the normal ones. -# Some timeouts doesn't apply to all the protocols, like "closed", for udp and -# icmp. - -flow-timeouts: - - default: - new: 30 - established: 300 - closed: 0 - bypassed: 100 - emergency-new: 10 - emergency-established: 100 - emergency-closed: 0 - emergency-bypassed: 50 - tcp: - new: 60 - established: 600 - closed: 60 - bypassed: 100 - emergency-new: 5 - emergency-established: 100 - emergency-closed: 10 - emergency-bypassed: 50 - udp: - new: 30 - established: 300 - bypassed: 100 - emergency-new: 10 - emergency-established: 100 - emergency-bypassed: 50 - icmp: - new: 30 - established: 300 - bypassed: 100 - emergency-new: 10 - emergency-established: 100 - emergency-bypassed: 50 - -# Stream engine settings. Here the TCP stream tracking and reassembly -# engine is configured. -# -# stream: -# memcap: 64mb # Can be specified in kb, mb, gb. Just a -# # number indicates it's in bytes. -# memcap-policy: ignore # The exception policy value can be "drop-flow", -# # "pass-flow", "bypass", "drop-packet", -# # "pass-packet", "reject" or "ignore" default is "ignore" -# checksum-validation: yes # To validate the checksum of received -# # packet. If csum validation is specified as -# # "yes", then packets with invalid csum values will not -# # be processed by the engine stream/app layer. -# # Warning: locally generated traffic can be -# # generated without checksum due to hardware offload -# # of checksum. You can control the handling of checksum -# # on a per-interface basis via the 'checksum-checks' -# # option -# prealloc-sessions: 2048 # 2k sessions prealloc'd per stream thread -# midstream: false # don't allow midstream session pickups -# midstream-policy: ignore # The exception policy value can be "drop-flow", -# # "pass-flow", "bypass", "drop-packet", -# # "pass-packet", "reject" or "ignore" default is "ignore" -# async-oneside: false # don't enable async stream handling -# inline: no # stream inline mode -# drop-invalid: yes # in inline mode, drop packets that are invalid with regards to streaming engine -# max-syn-queued: 10 # Max different SYNs to queue -# max-synack-queued: 5 # Max different SYN/ACKs to queue -# bypass: no # Bypass packets when stream.reassembly.depth is reached. -# # Warning: first side to reach this triggers -# # the bypass. -# liberal-timestamps: false # Treat all timestamps as if the Linux policy applies. This -# # means it's slightly more permissive. Enabled by default. -# -# reassembly: -# memcap: 256mb # Can be specified in kb, mb, gb. Just a number -# # indicates it's in bytes. -# memcap-policy: ignore # The exception policy value can be "drop-flow", -# # "pass-flow", "bypass", "drop-packet", "pass-packet", -# # "reject" or "ignore" default is "ignore" -# depth: 1mb # Can be specified in kb, mb, gb. Just a number -# # indicates it's in bytes. -# toserver-chunk-size: 2560 # inspect raw stream in chunks of at least -# # this size. Can be specified in kb, mb, -# # gb. Just a number indicates it's in bytes. -# toclient-chunk-size: 2560 # inspect raw stream in chunks of at least -# # this size. Can be specified in kb, mb, -# # gb. Just a number indicates it's in bytes. -# randomize-chunk-size: yes # Take a random value for chunk size around the specified value. -# # This lowers the risk of some evasion techniques but could lead -# # to detection change between runs. It is set to 'yes' by default. -# randomize-chunk-range: 10 # If randomize-chunk-size is active, the value of chunk-size is -# # a random value between (1 - randomize-chunk-range/100)*toserver-chunk-size -# # and (1 + randomize-chunk-range/100)*toserver-chunk-size and the same -# # calculation for toclient-chunk-size. -# # Default value of randomize-chunk-range is 10. -# -# raw: yes # 'Raw' reassembly enabled or disabled. -# # raw is for content inspection by detection -# # engine. -# -# segment-prealloc: 2048 # number of segments preallocated per thread -# -# check-overlap-different-data: true|false -# # check if a segment contains different data -# # than what we've already seen for that -# # position in the stream. -# # This is enabled automatically if inline mode -# # is used or when stream-event:reassembly_overlap_different_data; -# # is used in a rule. -# -stream: - memcap: 64mb - #memcap-policy: ignore - checksum-validation: yes # reject incorrect csums - #midstream: false - #midstream-policy: ignore - inline: auto # auto will use inline mode in IPS mode, yes or no set it statically - reassembly: - # experimental TCP urgent handling logic - #urgent: - # policy: inline # drop, inline, oob (1 byte, see RFC 6093, 3.1), gap - # oob-limit-policy: drop - memcap: 256mb - #memcap-policy: ignore - depth: 1mb # reassemble 1mb into a stream - toserver-chunk-size: 2560 - toclient-chunk-size: 2560 - randomize-chunk-size: yes - #randomize-chunk-range: 10 - #raw: yes - #segment-prealloc: 2048 - #check-overlap-different-data: true - -# Host table: -# -# Host table is used by the tagging and per host thresholding subsystems. -# -host: - hash-size: 4096 - prealloc: 1000 - memcap: 32mb - -# IP Pair table: -# -# Used by xbits 'ippair' tracking. -# -#ippair: -# hash-size: 4096 -# prealloc: 1000 -# memcap: 32mb - -# Decoder settings - -decoder: - # Teredo decoder is known to not be completely accurate - # as it will sometimes detect non-teredo as teredo. - teredo: - enabled: true - # ports to look for Teredo. Max 4 ports. If no ports are given, or - # the value is set to 'any', Teredo detection runs on _all_ UDP packets. - ports: $TEREDO_PORTS # syntax: '[3544, 1234]' or '3533' or 'any'. - - # VXLAN decoder is assigned to up to 4 UDP ports. By default only the - # IANA assigned port 4789 is enabled. - vxlan: - enabled: true - ports: $VXLAN_PORTS # syntax: '[8472, 4789]' or '4789'. - - # Geneve decoder is assigned to up to 4 UDP ports. By default only the - # IANA assigned port 6081 is enabled. - geneve: - enabled: true - ports: $GENEVE_PORTS # syntax: '[6081, 1234]' or '6081'. - - # maximum number of decoder layers for a packet - # max-layers: 16 - - # IP-in-IP tunneling for ipv4 over ipv4 handling. - # Disabled by default, as these will impact number of alerts seen, as well as - # number of flows. - # ipv4: - # ipip: - # enabled: true - # track-parent-flow: true # disabled by default - # Set parent flow for packets seen in IP-in-IP tunneling for ipv4 or ipv6 - # over ipv6. - # Disabled by default, as these will impact number of alerts seen, as well as - # number of flows. - # ipv6: - # ipip-ipv4: - # track-parent-flow: true # disabled by default - # ipip-ipv6: - # track-parent-flow: true # disabled by default - -## -## Performance tuning and profiling -## - -# The detection engine builds internal groups of signatures. The engine -# allows us to specify the profile to use for them, to manage memory in an -# efficient way keeping good performance. For the profile keyword you -# can use the words "low", "medium", "high" or "custom". If you use custom, -# make sure to define the values in the "custom-values" section. -# Usually you would prefer medium/high/low. -# -# "sgh mpm-context", indicates how the staging should allot mpm contexts for -# the signature groups. "single" indicates the use of a single context for -# all the signature group heads. "full" indicates a mpm-context for each -# group head. "auto" lets the engine decide the distribution of contexts -# based on the information the engine gathers on the patterns from each -# group head. -# -# The option inspection-recursion-limit is used to limit the recursive calls -# in the content inspection code. For certain payload-sig combinations, we -# might end up taking too much time in the content inspection code. -# If the argument specified is 0, there are no limits on the recursion. -# When a value is not specified, the default is 3000 -detect: - profile: medium - custom-values: - toclient-groups: 3 - toserver-groups: 25 - sgh-mpm-context: auto - #inspection-recursion-limit: 3000 - # try to tie an app-layer transaction for rules without app-layer keywords - # if there is only one live transaction for the flow - # allows to log app-layer metadata in alert - # but the transaction may not be the relevant one. - # guess-applayer-tx: no - # If set to yes, the loading of signatures will be made after the capture - # is started. This will limit the downtime in IPS mode. - #delayed-detect: yes - - prefilter: - # default prefiltering setting. "mpm" only creates MPM/fast_pattern - # engines. "auto" also sets up prefilter engines for other keywords. - # Use --list-keywords=all to see which keywords support prefiltering. - default: mpm - - # the grouping values above control how many groups are created per - # direction. Port whitelisting forces that port to get its own group. - # Very common ports will benefit, as well as ports with many expensive - # rules. - grouping: - #tcp-whitelist: 53, 80, 139, 443, 445, 1433, 3306, 3389, 6666, 6667, 8080 - #udp-whitelist: 53, 135, 5060 - - profiling: - # Log the rules that made it past the prefilter stage, per packet - # default is off. The threshold setting determines how many rules - # must have made it past pre-filter for that rule to trigger the - # logging. - #inspect-logging-threshold: 200 - grouping: - dump-to-disk: false - include-rules: false # very verbose - include-mpm-stats: false - -# Select the multi pattern algorithm you want to run for scan/search the -# in the engine. -# -# The supported algorithms are: -# "ac" - Aho-Corasick, default implementation -# "ac-bs" - Aho-Corasick, reduced memory implementation -# "ac-ks" - Aho-Corasick, "Ken Steele" variant -# "hs" - Hyperscan, available when built with Hyperscan support -# -# The default mpm-algo value of "auto" will use "hs" if Hyperscan is -# available, "ac" otherwise. -# -# The mpm you choose also decides the distribution of mpm contexts for -# signature groups, specified by the conf - "detect.sgh-mpm-context". -# Selecting "ac" as the mpm would require "detect.sgh-mpm-context" -# to be set to "single", because of ac's memory requirements, unless the -# ruleset is small enough to fit in memory, in which case one can -# use "full" with "ac". The rest of the mpms can be run in "full" mode. - -mpm-algo: auto - -# Select the matching algorithm you want to use for single-pattern searches. -# -# Supported algorithms are "bm" (Boyer-Moore) and "hs" (Hyperscan, only -# available if Suricata has been built with Hyperscan support). -# -# The default of "auto" will use "hs" if available, otherwise "bm". - -spm-algo: auto - -# Suricata is multi-threaded. Here the threading can be influenced. -threading: - set-cpu-affinity: no - # Tune cpu affinity of threads. Each family of threads can be bound - # to specific CPUs. - # - # These 2 apply to the all runmodes: - # management-cpu-set is used for flow timeout handling, counters - # worker-cpu-set is used for 'worker' threads - # - # Additionally, for autofp these apply: - # receive-cpu-set is used for capture threads - # verdict-cpu-set is used for IPS verdict threads - # - cpu-affinity: - - management-cpu-set: - cpu: [ 0 ] # include only these CPUs in affinity settings - - receive-cpu-set: - cpu: [ 0 ] # include only these CPUs in affinity settings - - worker-cpu-set: - cpu: [ "all" ] - mode: "exclusive" - # Use explicitly 3 threads and don't compute number by using - # detect-thread-ratio variable: - # threads: 3 - prio: - low: [ 0 ] - medium: [ "1-2" ] - high: [ 3 ] - default: "medium" - #- verdict-cpu-set: - # cpu: [ 0 ] - # prio: - # default: "high" - # - # By default Suricata creates one "detect" thread per available CPU/CPU core. - # This setting allows controlling this behaviour. A ratio setting of 2 will - # create 2 detect threads for each CPU/CPU core. So for a dual core CPU this - # will result in 4 detect threads. If values below 1 are used, less threads - # are created. So on a dual core CPU a setting of 0.5 results in 1 detect - # thread being created. Regardless of the setting at a minimum 1 detect - # thread will always be created. - # - detect-thread-ratio: 1.0 - # - # By default, the per-thread stack size is left to its default setting. If - # the default thread stack size is too small, use the following configuration - # setting to change the size. Note that if any thread's stack size cannot be - # set to this value, a fatal error occurs. - # - # Generally, the per-thread stack-size should not exceed 8MB. - #stack-size: 8mb - -# Luajit has a strange memory requirement, its 'states' need to be in the -# first 2G of the process' memory. -# -# 'luajit.states' is used to control how many states are preallocated. -# State use: per detect script: 1 per detect thread. Per output script: 1 per -# script. -luajit: - states: 128 - -# Profiling settings. Only effective if Suricata has been built with -# the --enable-profiling configure flag. -# -profiling: - # Run profiling for every X-th packet. The default is 1, which means we - # profile every packet. If set to 1024, one packet is profiled for every - # 1024 received. The sample rate must be a power of 2. - #sample-rate: 1024 - - # rule profiling - rules: - - # Profiling can be disabled here, but it will still have a - # performance impact if compiled in. - enabled: yes - filename: rule_perf.log - append: yes - # Set active to yes to enable rules profiling at start - # if set to no (default), the rules profiling will have to be started - # via unix socket commands. - #active:no - - # Sort options: ticks, avgticks, checks, matches, maxticks - # If commented out all the sort options will be used. - #sort: avgticks - - # Limit the number of sids for which stats are shown at exit (per sort). - limit: 10 - - # output to json - json: yes - - # per keyword profiling - keywords: - enabled: yes - filename: keyword_perf.log - append: yes - - prefilter: - enabled: yes - filename: prefilter_perf.log - append: yes - - # per rulegroup profiling - rulegroups: - enabled: yes - filename: rule_group_perf.log - append: yes - - # packet profiling - packets: - - # Profiling can be disabled here, but it will still have a - # performance impact if compiled in. - enabled: yes - filename: packet_stats.log - append: yes - - # per packet csv output - csv: - - # Output can be disabled here, but it will still have a - # performance impact if compiled in. - enabled: no - filename: packet_stats.csv - - # profiling of locking. Only available when Suricata was built with - # --enable-profiling-locks. - locks: - enabled: no - filename: lock_stats.log - append: yes - - pcap-log: - enabled: no - filename: pcaplog_stats.log - append: yes - -## -## Netfilter integration -## - -# When running in NFQ inline mode, it is possible to use a simulated -# non-terminal NFQUEUE verdict. -# This permits sending all needed packet to Suricata via this rule: -# iptables -I FORWARD -m mark ! --mark $MARK/$MASK -j NFQUEUE -# And below, you can have your standard filtering ruleset. To activate -# this mode, you need to set mode to 'repeat' -# If you want a packet to be sent to another queue after an ACCEPT decision -# set the mode to 'route' and set next-queue value. -# On Linux >= 3.1, you can set batchcount to a value > 1 to improve performance -# by processing several packets before sending a verdict (worker runmode only). -# On Linux >= 3.6, you can set the fail-open option to yes to have the kernel -# accept the packet if Suricata is not able to keep pace. -# bypass mark and mask can be used to implement NFQ bypass. If bypass mark is -# set then the NFQ bypass is activated. Suricata will set the bypass mark/mask -# on packet of a flow that need to be bypassed. The Netfilter ruleset has to -# directly accept all packets of a flow once a packet has been marked. -nfq: -# mode: accept -# repeat-mark: 1 -# repeat-mask: 1 -# bypass-mark: 1 -# bypass-mask: 1 -# route-queue: 2 -# batchcount: 20 -# fail-open: yes - -#nflog support -nflog: - # netlink multicast group - # (the same as the iptables --nflog-group param) - # Group 0 is used by the kernel, so you can't use it - - group: 2 - # netlink buffer size - buffer-size: 18432 - # put default value here - - group: default - # set number of packets to queue inside kernel - qthreshold: 1 - # set the delay before flushing packet in the kernel's queue - qtimeout: 100 - # netlink max buffer size - max-size: 20000 - -## -## Advanced Capture Options -## - -# General settings affecting packet capture -capture: - # disable NIC offloading. It's restored when Suricata exits. - # Enabled by default. - #disable-offloading: false - # - # disable checksum validation. Same as setting '-k none' on the - # command-line. - #checksum-validation: none - -# Netmap support -# -# Netmap operates with NIC directly in driver, so you need FreeBSD 11+ which has -# built-in Netmap support or compile and install the Netmap module and appropriate -# NIC driver for your Linux system. -# To reach maximum throughput disable all receive-, segmentation-, -# checksum- offloading on your NIC (using ethtool or similar). -# Disabling TX checksum offloading is *required* for connecting OS endpoint -# with NIC endpoint. -# You can find more information at https://github.com/luigirizzo/netmap -# -netmap: - # To specify OS endpoint add plus sign at the end (e.g. "eth0+") - - interface: eth2 - # Number of capture threads. "auto" uses number of RSS queues on interface. - # Warning: unless the RSS hashing is symmetrical, this will lead to - # accuracy issues. - #threads: auto - # You can use the following variables to activate netmap tap or IPS mode. - # If copy-mode is set to ips or tap, the traffic coming to the current - # interface will be copied to the copy-iface interface. If 'tap' is set, the - # copy is complete. If 'ips' is set, the packet matching a 'drop' action - # will not be copied. - # To specify the OS as the copy-iface (so the OS can route packets, or forward - # to a service running on the same machine) add a plus sign at the end - # (e.g. "copy-iface: eth0+"). Don't forget to set up a symmetrical eth0+ -> eth0 - # for return packets. Hardware checksumming must be *off* on the interface if - # using an OS endpoint (e.g. 'ifconfig eth0 -rxcsum -txcsum -rxcsum6 -txcsum6' for FreeBSD - # or 'ethtool -K eth0 tx off rx off' for Linux). - #copy-mode: tap - #copy-iface: eth3 - # Set to yes to disable promiscuous mode - # disable-promisc: no - # Choose checksum verification mode for the interface. At the moment - # of the capture, some packets may have an invalid checksum due to - # the checksum computation being offloaded to the network card. - # Possible values are: - # - yes: checksum validation is forced - # - no: checksum validation is disabled - # - auto: Suricata uses a statistical approach to detect when - # checksum off-loading is used. - # Warning: 'checksum-validation' must be set to yes to have any validation - #checksum-checks: auto - # BPF filter to apply to this interface. The pcap filter syntax apply here. - #bpf-filter: port 80 or udp - #- interface: eth3 - #threads: auto - #copy-mode: tap - #copy-iface: eth2 - # Put default values here - - interface: default - -# PF_RING configuration: for use with native PF_RING support -# for more info see http://www.ntop.org/products/pf_ring/ -pfring: - - interface: eth0 - # Number of receive threads. If set to 'auto' Suricata will first try - # to use CPU (core) count and otherwise RSS queue count. - threads: auto - - # Default clusterid. PF_RING will load balance packets based on flow. - # All threads/processes that will participate need to have the same - # clusterid. - cluster-id: 99 - - # Default PF_RING cluster type. PF_RING can load balance per flow. - # Possible values are: - # - cluster_flow: 6-tuple: - # - cluster_inner_flow: 6-tuple: - # - cluster_inner_flow_2_tuple: 2-tuple: - # - cluster_inner_flow_4_tuple: 4-tuple: - # - cluster_inner_flow_5_tuple: 5-tuple: - # - cluster_round_robin (NOT RECOMMENDED) - cluster-type: cluster_flow - - # bpf filter for this interface - #bpf-filter: tcp - - # If bypass is set then the PF_RING hw bypass is activated, when supported - # by the network interface. Suricata will instruct the interface to bypass - # all future packets for a flow that need to be bypassed. - #bypass: yes - - # Choose checksum verification mode for the interface. At the moment - # of the capture, some packets may have an invalid checksum due to - # the checksum computation being offloaded to the network card. - # Possible values are: - # - rxonly: only compute checksum for packets received by network card. - # - yes: checksum validation is forced - # - no: checksum validation is disabled - # - auto: Suricata uses a statistical approach to detect when - # checksum off-loading is used. (default) - # Warning: 'checksum-validation' must be set to yes to have any validation - #checksum-checks: auto - # Second interface - #- interface: eth1 - # threads: 3 - # cluster-id: 93 - # cluster-type: cluster_flow - # Put default values here - - interface: default - #threads: 2 - -# For FreeBSD ipfw(8) divert(4) support. -# Please make sure you have ipfw_load="YES" and ipdivert_load="YES" -# in /etc/loader.conf or kldload'ing the appropriate kernel modules. -# Additionally, you need to have an ipfw rule for the engine to see -# the packets from ipfw. For Example: -# -# ipfw add 100 divert 8000 ip from any to any -# -# N.B. This example uses "8000" -- this number must mach the values -# you passed on the command line, i.e., -d 8000 -# -ipfw: - - # Reinject packets at the specified ipfw rule number. This config - # option is the ipfw rule number AT WHICH rule processing continues - # in the ipfw processing system after the engine has finished - # inspecting the packet for acceptance. If no rule number is specified, - # accepted packets are reinjected at the divert rule which they entered - # and IPFW rule processing continues. No check is done to verify - # this will rule makes sense so care must be taken to avoid loops in ipfw. - # - ## The following example tells the engine to reinject packets - # back into the ipfw firewall AT rule number 5500: - # - # ipfw-reinjection-rule-number: 5500 - - -napatech: - # When use_all_streams is set to "yes" the initialization code will query - # the Napatech service for all configured streams and listen on all of them. - # When set to "no" the streams config array will be used. - # - # This option necessitates running the appropriate NTPL commands to create - # the desired streams prior to running Suricata. - #use-all-streams: no - - # The streams to listen on when auto-config is disabled or when and threading - # cpu-affinity is disabled. This can be either: - # an individual stream (e.g. streams: [0]) - # or - # a range of streams (e.g. streams: ["0-3"]) - # - streams: ["0-3"] - - # Stream stats can be enabled to provide fine grain packet and byte counters - # for each thread/stream that is configured. - # - enable-stream-stats: no - - # When auto-config is enabled the streams will be created and assigned - # automatically to the NUMA node where the thread resides. If cpu-affinity - # is enabled in the threading section. Then the streams will be created - # according to the number of worker threads specified in the worker-cpu-set. - # Otherwise, the streams array is used to define the streams. - # - # This option is intended primarily to support legacy configurations. - # - # This option cannot be used simultaneously with either "use-all-streams" - # or "hardware-bypass". - # - auto-config: yes - - # Enable hardware level flow bypass. - # - hardware-bypass: yes - - # Enable inline operation. When enabled traffic arriving on a given port is - # automatically forwarded out its peer port after analysis by Suricata. - # - inline: no - - # Ports indicates which Napatech ports are to be used in auto-config mode. - # these are the port IDs of the ports that will be merged prior to the - # traffic being distributed to the streams. - # - # When hardware-bypass is enabled the ports must be configured as a segment. - # specify the port(s) on which upstream and downstream traffic will arrive. - # This information is necessary for the hardware to properly process flows. - # - # When using a tap configuration one of the ports will receive inbound traffic - # for the network and the other will receive outbound traffic. The two ports on a - # given segment must reside on the same network adapter. - # - # When using a SPAN-port configuration the upstream and downstream traffic - # arrives on a single port. This is configured by setting the two sides of the - # segment to reference the same port. (e.g. 0-0 to configure a SPAN port on - # port 0). - # - # port segments are specified in the form: - # ports: [0-1,2-3,4-5,6-6,7-7] - # - # For legacy systems when hardware-bypass is disabled this can be specified in any - # of the following ways: - # - # a list of individual ports (e.g. ports: [0,1,2,3]) - # - # a range of ports (e.g. ports: [0-3]) - # - # "all" to indicate that all ports are to be merged together - # (e.g. ports: [all]) - # - # This parameter has no effect if auto-config is disabled. - # - ports: [0-1,2-3] - - # When auto-config is enabled the hashmode specifies the algorithm for - # determining to which stream a given packet is to be delivered. - # This can be any valid Napatech NTPL hashmode command. - # - # The most common hashmode commands are: hash2tuple, hash2tuplesorted, - # hash5tuple, hash5tuplesorted and roundrobin. - # - # See Napatech NTPL documentation other hashmodes and details on their use. - # - # This parameter has no effect if auto-config is disabled. - # - hashmode: hash5tuplesorted - -## -## Configure Suricata to load Suricata-Update managed rules. -## - -default-rule-path: /etc/suricata/rules - -rule-files: - - suricata.rules - -## -## Auxiliary configuration files. -## - -classification-file: /etc/suricata/classification.config -reference-config-file: /etc/suricata/reference.config -# threshold-file: /etc/suricata/threshold.config - -## -## Include other configs -## - -# Includes: Files included here will be handled as if they were in-lined -# in this configuration file. Files with relative pathnames will be -# searched for in the same directory as this configuration file. You may -# use absolute pathnames too. -#include: -# - include1.yaml -# - include2.yaml diff --git a/chave-pgp-do-rogerio.txt b/chave-pgp-do-rogerio.txt deleted file mode 100644 index c067b11..0000000 --- a/chave-pgp-do-rogerio.txt +++ /dev/null @@ -1,65 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: SKS 1.1.1 - -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 -Rw== -=as3M ------END PGP PUBLIC KEY BLOCK----- diff --git a/conf/httpd.conf b/conf/httpd.conf index 90eea2c..cab5978 100644 --- a/conf/httpd.conf +++ b/conf/httpd.conf @@ -74,8 +74,16 @@ ProxyRequests Off ProxyPreserveHost On + ProxyPass /socket.io/ ws://127.0.0.1:3000/socket.io/ + ProxyPassReverse /socket.io/ ws://127.0.0.1:3000/socket.io/ ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ + + # Security Headers + Header set X-Frame-Options "SAMEORIGIN" + Header set X-Content-Type-Options "nosniff" + Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' ws: wss:;" + Header always unset Access-Control-Allow-Origin # EnableMMAP off diff --git a/relatorio/relatorio.listing b/relatorio/relatorio.listing deleted file mode 100644 index 5ee19ea..0000000 --- a/relatorio/relatorio.listing +++ /dev/null @@ -1 +0,0 @@ -openssl ca -revoke user.crt -config cheese.cfg -keyfile ca.key -cert ca.crt diff --git a/relatorio/style.sty b/relatorio/style.sty deleted file mode 100644 index eec5719..0000000 --- a/relatorio/style.sty +++ /dev/null @@ -1,64 +0,0 @@ -\usepackage[margin=1in]{geometry} -\usepackage{raleway} -\renewcommand{\familydefault}{\sfdefault} -\usepackage{ulem} -\usepackage{wrapfig} -\usepackage{graphicx,tabularx,booktabs} -\usepackage{paracol} -\usepackage[dvipsnames]{xcolor} -\usepackage{enumitem,amssymb} -\usepackage[colorlinks=true,urlcolor=blue,linkcolor=MidnightBlue]{hyperref} -\graphicspath{{./img/}} - -\usepackage{enumitem,amssymb} -\newlist{todolist}{itemize}{2} -\setlist[todolist]{noitemsep, topsep=0pt,label=$\square$} - -\usepackage{pifont} -\usepackage{amssymb} - -\usepackage[most]{tcolorbox} -\tcbuselibrary{listings, skins, breakable} - -\lstdefinestyle{mystyle}{ - basicstyle=\ttfamily\footnotesize, - breakatwhitespace=false, - breaklines=true, - captionpos=b, - keepspaces=true, - numbers=left, - numbersep=5pt, - showspaces=false, - showstringspaces=false, - showtabs=false, - tabsize=2, - commentstyle=\color{gray}, - keywordstyle=\color{MidnightBlue}\bfseries, - stringstyle=\color{ForestGreen} -} - -\newtcblisting{codeblock}[2][]{ - enhanced, - breakable, - colback=gray!2!white, - colframe=gray!20!black, - attach boxed title to top left={yshift*=-\tcboxedtitleheight/2, xshift=4mm}, - boxed title style={ - colback=gray!20!black, - outer arc=0pt, - arc=0pt, - top=1pt, - bottom=1pt, - }, - fonttitle=\bfseries\ttfamily\footnotesize, - title={#2}, - listing only, - listing options={ - style=mystyle, - language=#1, - } -} - -\setlength{\parskip}{1em}% -\setlength{\parindent}{0em}% - diff --git a/ucstudent/pl-exercícios#0.pdf b/ucstudent/pl-exercícios#0.pdf deleted file mode 100644 index c631e82..0000000 Binary files a/ucstudent/pl-exercícios#0.pdf and /dev/null differ diff --git a/ucstudent/pl-exercícios#1.pdf b/ucstudent/pl-exercícios#1.pdf deleted file mode 100644 index 27a8121..0000000 Binary files a/ucstudent/pl-exercícios#1.pdf and /dev/null differ diff --git a/ucstudent/pl-presentation#2.pdf b/ucstudent/pl-presentation#2.pdf deleted file mode 100644 index 89e1f2d..0000000 Binary files a/ucstudent/pl-presentation#2.pdf and /dev/null differ diff --git a/ucstudent/pl-presentation#3.pdf b/ucstudent/pl-presentation#3.pdf deleted file mode 100644 index 2f3fc36..0000000 Binary files a/ucstudent/pl-presentation#3.pdf and /dev/null differ diff --git a/ucstudent/pl-presentation#4.pdf b/ucstudent/pl-presentation#4.pdf deleted file mode 100644 index e241ea7..0000000 Binary files a/ucstudent/pl-presentation#4.pdf and /dev/null differ diff --git a/ucstudent/pl-presentation#5.pdf b/ucstudent/pl-presentation#5.pdf deleted file mode 100644 index f7b566b..0000000 Binary files a/ucstudent/pl-presentation#5.pdf and /dev/null differ diff --git a/ucstudent/pl-presentation#6.pdf b/ucstudent/pl-presentation#6.pdf deleted file mode 100644 index f203147..0000000 Binary files a/ucstudent/pl-presentation#6.pdf and /dev/null differ diff --git a/ucstudent/pl0-praticas-apresentação.pdf b/ucstudent/pl0-praticas-apresentação.pdf deleted file mode 100644 index 0eed3a1..0000000 Binary files a/ucstudent/pl0-praticas-apresentação.pdf and /dev/null differ diff --git a/ucstudent/support-vm_install_v2025-26.pdf b/ucstudent/support-vm_install_v2025-26.pdf deleted file mode 100644 index c469257..0000000 Binary files a/ucstudent/support-vm_install_v2025-26.pdf and /dev/null differ diff --git a/ucstudent/t1-conceitos_seguranca.pdf b/ucstudent/t1-conceitos_seguranca.pdf deleted file mode 100644 index 6439853..0000000 Binary files a/ucstudent/t1-conceitos_seguranca.pdf and /dev/null differ