[LPIC-2] Measure and Troubleshoot Resource Usage (200.1)

Този урок покрива нужния матерал за изпит 1 от LPI-2 сертификацията, това включва следните нужни команди, файлове и термини:
1.iostat
2.iotop
3.vmstat
4.netstat
5.ss
6.iptraf
7.ps
8.pstree
9.w
10.lsof
11.free
12.top
13.htop
14.uptime
15.sar

Следните термини са нужни и се срещат в няколко от командите:
-processes blocked on I/O
-blocks out
-swap
-blocks in
Повече информация относно точка 200.1 може да намерите в официалния сайт на LPI
Continue reading ‘[LPIC-2] Measure and Troubleshoot Resource Usage (200.1)’ »

Защита на сървър чрез Geoip – Блокиране на SSH връзки извън България

Инсталирайте geoip

sudo apt-get install geoip-bin geoip-database

Подсигурете се, че работи:

boyanweb@boyanweb:/Files150G$ geoiplookup boyan.website
GeoIP Country Edition: BG, Bulgaria

Този скрипт забранява ssh от небългарски ip адреси, сложете го в /usr/local/bin/.

#!/bin/bash
ALLOW_COUNTRIES=”BG

if [ $# -ne 1 ]; then
echo “Usage: `basename $0` ” 1>&2
exit 0 # return true in case of config issue
fi

COUNTRY=`/usr/bin/geoiplookup $1 | awk -F “: ” ‘{ print $2 }’ | awk -F “,” ‘{ print $1 }’ | head -n 1`

[[ $COUNTRY = “IP Address not found” || $ALLOW_COUNTRIES =~ $COUNTRY ]] && RESPONSE=”ALLOW” || RESPONSE=”DENY”

if [ $RESPONSE = “ALLOW” ]
then
exit 0
else
logger “$RESPONSE sshd connection from $1 ($COUNTRY)”
echo “$RESPONSE sshd connection frem $1($COUNTRY)” >> /home/ПОТРЕБИТЕЛ/sshLOG

exit 1
fi

Във файла /etc/hosts.deny добавете реда:

sshd: ALL

Във файла /etc/hosts.allow добавете реда:

sshd: ALL: aclexec /usr/local/bin/sshfilter.sh %a

Не е нужно да рестарирате sshd процеса, директно може да направите тест:

boyanweb@boyanweb:~$ /usr/local/bin/sshfilter.sh 8.4.8.4
boyanweb@boyanweb:~$ cat sshLOG
DENY sshd connection from 8.4.8.4(US)
boyanweb@boyanweb:~$ /usr/local/bin/sshfilter.sh 8.4.8.8
boyanweb@boyanweb:~$ cat sshLOG
DENY sshd connection from 8.4.8.4(US)
DENY sshd connection from 8.4.8.8(US)

За ъпдейт на geoip може да използвате следния скрипт. Дори и току що да сте го изтеглили е добре да се подсигурите, че сте на най-новата възможна версия.

!/bin/bash
cd /tmp
wget -q https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
if [ -f GeoIP.dat.gz ]
then
gzip -d GeoIP.dat.gz
rm -f /usr/share/GeoIP/GeoIP.dat
mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat
else
echo “The GeoIP library could not be downloaded and updated”
fi

Nmap basics pt3

nmap -v 95.111.13.111 -sU -p 1000-1200

Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-09 07:24 CDT
Initiating Ping Scan at 07:24
Scanning 95.111.13.111 [4 ports]
Completed Ping Scan at 07:24, 0.03s elapsed (1 total hosts)
Initiating UDP Scan at 07:24
Scanning d1m0.com (95.111.13.111) [201 ports]
Discovered open port 1194/udp on 95.111.13.111
Not shown: 200 closed ports
PORT STATE SERVICE
1194/udp open openvpn

Spoofing & Decoy Scan

When we are scanning machines that are not ours, we often want to hide our IP (our identity). Obviously, every packet must contain our source address or else the response from the target system will not know where to return to. Nmap allows us to use decoy IP addresses so that it looks like many IP addresses are scanning the target.

We can do this by using the -D switch, such as:

nmap -sS 192.168.89.191 -D 10.0.0.1,10.0.0.2,10.0.0.4

Evading Firewalls

Many firewalls and routers block or drop the ICMP (echo request, echo reply) ping. This is meant to obscure the presence of the hosts behind the firewall and protect against a possible DoS using the ping packet.To get around firewalls and routers that block or drop the ping, we need to suppress nmap’s default behavior of sending out that initial ping and get past the firewall that is blocking us. We can do this by using the -P0 switch:

nmap -sS -P0 192.168.3.10

Reason

Note in the output from the UDP scan above that some ports are reported as open/filtered. This indicates that nmap cannot determine whether the port is open or it is filtered by a device such as a firewall.

nmap -sU --reason 192.168.3.10

Using a List

Many times we want to scan a list of IP addresses and not an entire subnet. We can use any text editor and create a list of IP addresses and “feed” it to nmap. Here, I am using Leafpad, which is built into Kali (any text editor will work), to put together a list of IP addresses I want to scan.

nmap -iL scanlist.txt

Nmap scaning basics pt2

TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Input from list of hosts/networks
-iR : Choose random targets
–exclude : Exclude hosts/networks
–excludefile : Exclude list from file

HOST DISCOVERY:
-sL: List Scan – simply list targets to scan
-sn: Ping Scan – disable port scan
-Pn: Treat all hosts as online — skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
–dns-servers : Specify custom DNS servers
–system-dns: Use OS’s DNS resolver
–traceroute: Trace hop path to each host

SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
–scanflags : Customize TCP scan flags
-sI : Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b : FTP bounce scan

PORT SPECIFICATION AND SCAN ORDER:
-p : Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
–exclude-ports : Exclude the specified ports from scanning
-F: Fast mode – Scan fewer ports than the default scan
-r: Scan ports consecutively – don’t randomize
–top-ports : Scan most common ports
–port-ratio : Scan ports more common than

SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
–version-intensity : Set from 0 (light) to 9 (try all probes)
–version-light: Limit to most likely probes (intensity 2)
–version-all: Try every single probe (intensity 9)
–version-trace: Show detailed version scan activity (for debugging)

SCRIPT SCAN:
-sC: equivalent to –script=default
–script=: is a comma separated list of
directories, script-files or script-categories
–script-args=: provide arguments to scripts
–script-args-file=filename: provide NSE script args in a file
–script-trace: Show all data sent and received
–script-updatedb: Update the script database.
–script-help=: Show help about scripts.
is a comma-separated list of script-files or
script-categories.

OS DETECTION:
-O: Enable OS detection
–osscan-limit: Limit OS detection to promising targets
–osscan-guess: Guess OS more aggressively

TIMING AND PERFORMANCE:
Options which take

FIREWALL/IDS EVASION AND SPOOFING:
-f; –mtu : fragment packets (optionally w/given MTU)
-D : Cloak a scan with decoys
-S : Spoof source address
-e : Use specified interface
-g/–source-port : Use given port number
–proxies : Relay connections through HTTP/SOCKS4 proxies
–data : Append a custom payload to sent packets
–data-string : Append a custom ASCII string to sent packets
–data-length : Append random data to sent packets
–ip-options: Send packets with specified ip options
–ttl : Set IP time-to-live field
–spoof-mac : Spoof your MAC address
–badsum: Send packets with a bogus TCP/UDP/SCTP checksum

OUTPUT:
-oN/-oX/-oS/-oG : Output scan in normal, XML, s|: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
–reason: Display the reason a port is in a particular state
–open: Only show open (or possibly open) ports
–packet-trace: Show all packets sent and received
–iflist: Print host interfaces and routes (for debugging)
–log-errors: Log errors/warnings to the normal-format output file
–append-output: Append to rather than clobber specified output files
–resume : Resume an aborted scan
–stylesheet : XSL stylesheet to transform XML output to HTML
–webxml: Reference stylesheet from Nmap.Org for more portable XML
–no-stylesheet: Prevent associating of XSL stylesheet w/XML output

MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script scanning, and traceroute
–datadir : Specify custom Nmap data file location
–send-eth/–send-ip: Send using raw ethernet frames or IP packets
–privileged: Assume that the user is fully privileged
–unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page