Mga hakbang upang ma-secure ang aming VPS

Ipinapakita ng tutorial na ito kung paano maghanda at mag-secure ng isang Virtual Private Server (VPS) kasama ang Debian GNU / Linux. Bago simulan, ilang bagay ang ipinapalagay:

  1. Mayroon kang isang intermediate na antas ng pamilyar sa GNU / Linux.
  2. Mayroong isang VPS para sa personal na paggamit kung saan kami ay may access sa pamamagitan ng SSH.
  3. Ang VPS ay may nakalaang panlabas na ipv4 250.250.250.155 at nagmamay-ari ang aming provider ng 250.250.0.0/16 block. (isa)
  4. Sa aming VPS magkakaroon lamang kami ng mga serbisyo na http, https at ssh na pinagana para sa pag-access mula sa labas.
  5. Hindi paganahin ang Panlabas na DNS dahil karaniwang ginagawa ito sa panel ng aming provider. (2)
  6. Gagana ito bilang isang superuser.

Instalasyon

Bilang unang hakbang, i-update natin ang server at i-install ang ilang mga pakete na kakailanganin namin:

# aptitude update & aptitude safe-upgrade # aptitude -RvW install dropbear gesftpserver sslh iptables-persisten ulogd fail2ban nginx-light apache2-utils dnsutils telnet ghostscript poppler-utils zip unzip unrar-free p7zip-full more multitail tee mc

configuration

Ngayon ay lilikha kami ng isang gumagamit ng trabaho. Ang pagtatrabaho bilang ugat sa isang server ay hindi sigurado, sa gayon lilikha muna kami ng isang espesyal na gumagamit:

adduser operator usermod -aG sudo operator

Lumilikha ang unang utos ng gumagamit ng operator, idinagdag ito ng pangalawa sa pangkat sudo, na magpapahintulot sa iyo na magpatakbo ng mga application bilang root.

Ayusin ang mga pahintulot para sa sobrang mga gumagamit

Bilang upang gumana nang regular gagamitin namin ang gumagamit operator dating nilikha, kailangan naming ayusin ang mga pagpipilian sa pagpapatupad ng utos bilang superuser, kung saan isinasagawa namin ang sumusunod na utos:

visudo

Karaniwang pinapayagan ng utos na ito ang pagbabago ng file / etc / sudoers; kung saan dapat nating maglaman ng mga linyang ito:

Mga default env_reset, timestamp_timeout = 0% sudo LAHAT = (LAHAT: LAHAT) LAHAT

Sa unang linya ang pagpipilian ay idinagdag sa mga default na halaga timestamp_timeout na nagbibigay-daan sa iyo upang itakda ang oras ng pag-expire (sa minuto) ng password kapag ang utos ng sudo ay naisakatuparan. Ang default ay 5, ngunit kung minsan ay hindi ito ligtas sa dalawang kadahilanan:

  1. Kung hindi sinasadyang iniiwan natin ang aming computer na naka-log in bago mag-expire ang password, ang isang tao ay maaaring magpatupad ng isang utos bilang ugat nang walang mga paghihigpit.
  2. Kung sa pamamagitan ng kamangmangan nagpapatupad kami ng isang application o script na naglalaman ng nakakahamak na code bago mag-expire ang password, ang application ay maaaring magkaroon ng access sa aming system bilang superuser, nang walang aming malinaw na pahintulot.

Kaya upang maiwasan ang mga panganib, itinakda namin ang halaga sa zero, iyon ay, sa tuwing naisasagawa ang utos ng sudo, kailangang ipasok ang password. Kung ang isang negatibong halaga ay itinakda bilang -1, ang epekto ay hindi kailanman mag-e-expire ang password, na makakapagdulot ng kabaligtaran na resulta ng gusto namin.

Sa pangalawang linya ay linilinaw na ang pangkat ng sudo ay maaaring magpatupad ng anumang utos sa anumang computer, na karaniwan, bagaman maaari itong ayusin. (3) May mga para sa kaginhawaan na inilagay ang linya sa mga sumusunod upang maiwasan ang pag-type ng password:

% sudo LAHAT = (LAHAT: LAHAT) NOPASSWD: LAHAT

Gayunpaman, tulad ng ipinaliwanag namin bago ito mapanganib, at samakatuwid hindi ito inirerekumenda.

Huwag paganahin ang pag-restart

Para sa mga kadahilanang panseguridad, hindi rin namin papaganahin ang pag-restart gamit ang key na kumbinasyon Ctrl + Alt + Del, kung saan dapat nating idagdag ang linyang ito sa file / etc / inittab:

ca: 12345: ctrlaltdel: / bin / echo "Ang Ctrl + Alt + Del ay hindi pinagana."

Palitan ang OpenSSH ng DropBear

Karamihan sa VPS ay may naka-install na OpenSSH, na tiyak na napaka kapaki-pakinabang, ngunit maliban kung kailangan naming samantalahin ang lahat ng pag-andar ng OpenSSH, may mga mas magaan na kahalili para sa isang VPS, tulad ng dropbear, na karaniwang sapat para sa regular na paggamit. Gayunpaman, ang isang sagabal ng application na ito ay hindi ito kasama ng isang integrated SFTP server, at iyon ang dahilan kung bakit sa simula ay na-install namin ang package gesftpserver.

Upang mai-configure ang Dropbear, babaguhin namin ang file / etc / default / dropbear kaya naglalaman ito ng dalawang linya:

NO_START = 0 DROPBEAR_EXTRA_ARGS = "- w -p 127.0.0.1:22 -ako 1200 -m"

Pinapayagan lamang ng unang linya ang serbisyo, at ang pangalawa ay maraming bagay:

  1. Iwasan ang pag-access sa ugat.
  2. Ginagawa nitong makinig ang serbisyo sa port 22 ng lokal na interface (ipapaliwanag namin kung bakit sa paglaon).
  3. Itinakda ang oras ng paghihintay (20 minuto).

SSLH

Ang Port 22 (SSH) ay kilalang kilala at sa pangkalahatan ay isa sa mga una na sinusubukan ng mga hacker na masira, kaya gagamitin namin ang port 443 (SSL) sa halip. Nangyayari na ang port na ito ay ginagamit para sa ligtas na pag-browse sa HTTPS.

Para sa kadahilanang ito gagamitin namin ang sslh package, na kung saan ay hindi hihigit sa isang multiplexer na pinag-aaralan ang mga packet na nakarating sa port 443, at dinirekta ang mga ito sa loob sa isang serbisyo o iba pa depende sa kung ang uri ng trapiko ay SSH o SSL.

Hindi makikinig ang SSLH sa isang interface kung saan nakikinig na ang isa pang serbisyo, na ang dahilan kung bakit dati naming ginawang makinig sa Dropbear sa lokal na interface.

Ngayon kung ano ang kailangan nating gawin ay ipahiwatig upang sslh ang interface at ang port kung saan dapat itong pakinggan at kung saan i-redirect ang mga packet depende sa uri ng serbisyo, at para dito ay babagoin namin ang file ng pagsasaayos / etc / default / sslh:

DAEMON = / usr / sbin / sslh DAEMON_OPTS = "- user sslh --nakinig 250.250.250.155:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile / var / run / sslh / sslh. pid "RUN = oo

Panghuli, restart namin ang mga serbisyo:

serbisyo ssh stop && service dropbear start && service sslh restart

Matapos ang nakaraang utos, ang aming ligtas na sesyon ay maaaring magambala, kung saan ito ay sapat na upang mag-log in muli, ngunit sa oras na ito sa gumagamit ng trabaho at paggamit ng port 443. Kung ang session ay hindi nagambala, ipinapayong isara ito at magsimula ulit.sa mga naaangkop na halaga.

Kung gumagana ang lahat nang tama, maaari naming ipagpatuloy ang pagtatrabaho bilang ugat at kung nais namin, i-uninstall ang OpenSSH:

sudo su - aptitude -r purge openssh-server

Firewall

Ang susunod na gagawin namin ay paghiwalayin ang mga log mula sa firewall sa magkakahiwalay na file /var/log/firewall.log upang mapadali ang karagdagang pagtatasa, kung kaya't na-install namin ang ulogd package sa pagsisimula. Para dito mai-e-edit namin ang file /etc/logd.conf upang ayusin ang nauugnay na seksyon:

[LOGEMU] file = "/ var / log / firewall.log" sync = 1

Susunod, babaguhin namin ang file ng pag-ikot ng record / etc / logrotate / ulogd upang mapanatili ang isang pang-araw-araw na pag-ikot (na may petsa) at i-save ang mga naka-compress na salvo sa direktoryo / var / log / ulog /:

/var/log/ulog/ ** .gz / var / log / ulog / endscript}

Pagkatapos ay lilikha kami ng mga panuntunan sa netfilter sa pamamagitan ng pagpapatupad ng mga sumusunod:

IPT = $ (kung aling mga iptable) IPEXT = 250.250.250.155 IPEXTBLK = 250.250.0.0 / 16 IPBCAST = 255.255.255.255 $ IPT -F $ IPT -X $ IPT -Z $ IPT -A INPUT -i lo -j ACCEPT $ IPT - P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT ACCEPT $ IPT -A INPUT -m state --state INVALID -j ULOG --ulog-preview IN_INVALID $ IPT -A INPUT -p igmp -j ULOG --ulog -prefix IN_IGMP $ IPT -A INPUT -m pkttype --pkt-type broadcast -j ULOG --ulog-preview IN_BCAST $ IPT -A INPUT -m pkttype --pkt-type multicast -j ULOG --ulog-unahan IN_MCAST $ IPT -A FORWARD -j ULOG --ulog-preview FORWARD $ IPT -N ICMP_IN $ IPT -A INPUT!  -i lo -p icmp -j ICMP_IN $ IPT -A ICMP_IN -p icmp -f -j ULOG --ulog-preview IN_ICMP_FRAGMENTED $ IPT -A ICMP_IN -p icmp -m icmp -m haba!  --length 28: 1322 -j ULOG --ulog-prefix IN_ICMP_INVALIDSIZE $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-sa itaas 4 / sec --hashlimit-mode srcip --hashlimit-srcmask 24 - -hashlimit-name icmpflood -j ULOG --ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-upto 64kb / min --hashlimit-mode srcip --hashlimit-srcmask 24 - hashlimit -pangalan icmpattack -j ULOG --ulog-unahin IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m u32!  --u32 "0x4 & 0x3fff = 0x0" -j ULOG --ulog-preview IN_ICMP_ATTACK $ IPT -A ICMP_IN -p icmp -m icmp!  --icmp-type echo-request -m state --state BAGONG -j ULOG --ulog-unahan IN_ICMP_INVALID $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -j ULOG --ulog- awtomatikong IN_ICMP $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -m limit --limit 1 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-reply -m limit --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type na patutunguhan-hindi maabot ang -m na limitasyon - limitasyon 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp - lumipas na ang uri ng oras na -m na limitasyon --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type parameter-problem -m limit --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -j RETURN $ IPT -N UDP_IN $ IPT -A INPUT!  -i lo -p udp -j UDP_IN $ IPT -A UDP_IN!  -i lo!  -p udp -f -j ULOG --ulog-prefix IN_UDP_FRAGMENTED $ IPT -A UDP_IN -p udp -m udp --sport 53 -m haba!  --length 28: 576 -j ULOG --ulog-preview IN_UDP_DNS_INVALIDSIZE $ IPT -A UDP_IN -p udp -m udp --dport 53 -m -state --state BAGONG -j ULOG --ulog-preview IN_UDP_DNSREQUEST $ IPT - Isang UDP_IN -p udp -m udp --dport 53 -m -state --state BAGONG -j TANGGALING --tanggihan-na may icmp-port-hindi maabot ang $ IPT -A UDP_IN -p udp -m udp!  --sport 53!  -s $ IPEXTBLK!  -d $ IPBCAST -m estado --state BAGONG -j ULOG --ulog-unahan IN_UDP $ IPT -A UDP_IN -p udp -m udp -m estado - estado Naitaguyod, KAUGNAYAN -j TANGGAPIN $ IPT -A UDP_IN -j Ibalik ang $ IPT -N TCP_IN $ IPT -A INPUT!  -i lo -p tcp -j TCP_IN $ IPT -A TCP_IN!  -i lo!  -p tcp -f -j ULOG --ulog-preview IN_TCP_FRAGMENTED $ IPT -A TCP_IN -p tcp -m tcp --sport 53 -m state --state Naitaguyod, KAUGNAYAN -m haba!  --length 513: 1500 -j ULOG --ulog-preview IN_TCP_DNS_INVALIDSIZE $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state BAGONG -j ULOG --ulog-unahan IN_TCP_DNS $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state BAGONG -j TANGGI --reject-sa icmp-port-hindi maabot ang $ IPT -A TCP_IN -p tcp -m tcp -m multiport!  --dports 80,443 -m estado --state BAGONG -j ULOG --ulog-unahan IN_TCP $ IPT -A TCP_IN -p tcp -m tcp -m multiport --dports 80,443 -m estado - estado ng BAGONG -m hashlimit - hashlimit -upto 4 / sec --hashlimit-burst 16 --hashlimit-mode srcip --hashlimit-name navreq -j ACCEPT $ IPT -A TCP_IN -p tcp -m tcp -m multiport --dports 80,443 -m state - state ESTABLISHED -m connlimit!  --connlimit-sa itaas 16 -j ACCEPT $ IPT -A TCP_IN -p tcp -m tcp -m multiport! 

Sa nakaraang pagsasaayos, ang aming VPS ay dapat na makatwirang ligtas, ngunit kung nais naming ma-secure namin ito nang kaunti pa, kung saan maaari naming magamit ang ilang mga mas advanced na panuntunan.

Hindi pinapayagan ng lahat ng VPS ang pag-install ng labis na mga module para sa netfilter, ngunit ang isang napaka-kapaki-pakinabang ay psd, na nagbibigay-daan sa iyo upang maiwasan ang mga pag-scan sa port. Sa kasamaang palad, ang modyul na ito ay hindi isinasama sa netfilter bilang default, kaya kinakailangan na mag-install ng ilang mga pakete at pagkatapos ay itayo ang module:

aptitude -RvW i-install ang iptables-dev xtables-addons-source module-katulong na module-assistant --verbose --text-mode na auto-install xtables-addons-source

Kapag tapos na ang nasa itaas, maaari kaming magdagdag ng isang panuntunan na tulad nito:

iptables -A INPUT -m psd --psd-weight-threshold 15 --psd-delay-threshold 2000 --psd-lo-port-weight 3 --psd-hi-ports-weight 1 -j ULOG --ulog- awtomatikong IN_PORTSCAN

Ang dating panuntunan ay nangangahulugang lilikha kami ng isang counter na tataas ng 3 sa tuwing may pagtatangka upang ma-access ang isang port na mas mababa sa 1024 at ng 1 sa tuwing may pagtatangka upang ma-access ang isang port na mas mataas sa 1023, at kapag ang counter na ito umabot sa 15 sa isang panahon na mas mababa sa 20 segundo, ang mga pakete ay iparehistro ng ulog bilang isang pagtatangka sa portcan. Ang mga packet ay maaari pa ring itapon nang sabay-sabay, ngunit sa kasong ito nilalayon naming gamitin fail2ban, na mai-configure namin sa paglaon.

Sa sandaling nalikha ang mga patakaran, dapat kaming gumawa ng ilang pag-iingat upang gawin itong paulit-ulit, kung hindi man ay mawawala ang mga ito kapag na-restart ang server. Mayroong maraming mga paraan upang magawa ito; Sa tutorial na ito, gagamitin namin ang iptables-persistent na package na na-install namin sa simula, kung saan nakaimbak ang mga panuntunan /etc/iptables/rules.v4 y /etc/iptables/rules.v6 para sa ipv6

iptables-save> /etc/iptables/rules.v4

Sa katunayan, kahit na ang paggamit ng ipv6 sa Cuba ay hindi pa laganap, makakalikha tayo ng ilang mga pangunahing alituntunin:

IPT = $ (aling mga ip6table) $ IPT -P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT ACCEPT $ IPT -A INPUT -i lo -j ACCEPT $ IPT -A INPUT! -i lo -m state --state Naitaguyod, KAUGNAYAN -j TANGGAPIN unset IPT

Ang mga patakarang ito ay maaari ding gawing paulit-ulit:

ip6tables-save> /etc/iptables/rules.v6

Sa wakas, para sa higit na seguridad, nililinis namin ang pagpapatala ng firewall at muling simulang ang mga serbisyo:

echo -n> /var/log/firewall.log service logrotate restart service ulogd restart service iptables-persistent restart

Nginx

Gagamitin namin ang Nginx bilang isang web server, dahil ang VPSs ay may posibilidad na magkaroon ng isang nabawasan na halaga ng RAM kumpara sa isang tunay na server, kaya sa pangkalahatan ay isang magandang ideya na magkaroon ng isang bagay na mas magaan kaysa sa Apache.

Bago i-configure ang Nginx, lilikha kami ng isang sertipiko (walang password) para magamit sa paglipas ng HTTPS:

cd / etc / nginx openssl genrsa -des3 -out cert.key 4096 cp -v cert.key cert.key.original openssl req -new -key cert.key -out cert.csr openssl rsa -in cert.key.original - out cert.key openssl x509 -req -day 365 -sa cert.csr -signkey cert.key -out cert.crt

Kapag tapos na ito, lilikha kami ng isang file ng password para sa gumagamit na "elusuario":

htpasswd -c .htpasswd ang gumagamit

Susunod, babaguhin namin ang file / etc / nginx / sites-available / default upang maitakda ang mga default na kagustuhan sa site. Maaaring ganito ang hitsura:

server {server_name localhost; index index.html index.htm default.html default.htm; ugat / var / www; lokasyon / {# itakda ang pagkakasunud-sunod ng pag-verify at ang pahina upang mai-load, kung ang URI ay hindi natagpuan try_files $ uri $ uri / /index.html; }} server {makinig 127.0.0.1:443; server_name localhost; index index.html index.htm default.html default.htm; ugat / var / www; ssl on; ssl_cert Certificate cert.crt; ssl_cert Certificate_key cert.key; ssl_session_timeout 5m; # Paganahin ang HTTPS lamang sa paglipas ng TLS (mas ligtas kaysa sa SSL) ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # bigyan ng kagustuhan ang mga cipher na may mataas na lakas [MATAAS], # ilipat ang mga medium-lakas na cipher [MEDIUM] sa pagtatapos ng listahan, # huwag paganahin ang mga low-lakas na cipher [LOW] (40 at 56 bits) # huwag paganahin ang mga cipher na may mga algorithm na pang-export [ EXP] # huwag paganahin ang mga null cipher [eNULL], nang walang pagpapatotoo [aNULL], SSL (mga bersyon 2 at 3) at DSS (pinapayagan lamang ang mga susi hanggang sa 1024 na mga piraso) ssl_ciphers TAAS: + MEDIUM :! LOW :! EXP:! ANULL :! eNULL :! SSLv3 :! SSLv2 :! DSS; # Mas gusto ang mga pamamaraan ng pag-encrypt ng server (bilang default ginagamit ang kliyente) ssl_prefer_server_ciphers on; lokasyon / {# paganahin ang pagpapatotoo auth_basic na "Pag-login"; auth_basic_user_file /etc/nginx/.htpasswd; # itakda ang pagkakasunud-sunod ng pag-verify at ang code ng pahina upang mai-load, kung ang URI try_files $ uri $ uri / = 404 ay hindi natagpuan; # payagan ang paglikha ng isang index para sa mga napatunayan na mga gumagamit na autoindex sa; naka-off ang autoindex_exact_size; autoindex_localtime sa; }}

Sinusuri namin na tama ang pagsasaayos:

nginx -t

Panghuli, restart namin ang serbisyo:

serbisyo nginx restart

Fail2Ban

Bago simulang i-configure ang Fail2Ban, para sa higit na seguridad ihihinto namin ang serbisyo at linisin ang pagpapatala:

fail2ban-client stop echo -n> /var/log/fail2ban.log

Susunod, nilikha namin ang file ng pagsasaayos /etc/fail2ban/jail.local kasama ang sumusunod na pasadyang nilalaman:

# Pasadyang pagsasaayos ng file /etc/fail2ban/jail.local # [DEFAULT] findtime = 43200; 12 oras bantime = 86400; 1 araw na maxretry = 3; ang pagbabawal ay magkakabisa pagkatapos ng ika-4 na pagtatangka [ssh] pinagana = maling [nginx-auth] pinagana = true filter = nginx-auth action = iptables-multiport [name = NoAuthFailures, port = "http, https"] logpath = / var / log / nginx * / * error * .log [nginx-badbots] pinagana = true filter = apache-badbots action = iptables-multiport [name = BadBots, port = "http, https"] logpath = / var / log / nginx * /*access*.log bantime = 604800; 1 linggo maxretry = 0 [nginx-login] pinagana = true filter = nginx-login action = iptables-multiport [name = NoLoginFailures, port = "http, https"] logpath = / var / log / nginx * / * access *. mag-log bantime = 1800; 30 minuto [nginx-noscript] pinagana = totoong pagkilos = iptables-multiport [pangalan = NoScript, port = "http, https"] filter = nginx-noscript logpath = /var/log/nginx*/*access*.log maxretry = 0 [nginx-proxy] pinagana = totoong pagkilos = iptables-multiport [name = NoProxy, port = "http, https"] filter = nginx-proxy logpath = /var/log/nginx*/*access*.log bantime = 604800 ; 1 linggo maxretry = 0 [firewall] pinagana = totoong pagkilos = iptables-multiport [pangalan = Firewall] filter = firewall logpath = /var/log/firewall.log maxretry = 0

Kapag tapos na ito, lumilikha kami sa direktoryo /etc/fail2ban/filters.d/ ang mga sumusunod na file:

# /etc/fail2ban/filter.d/nginx-auth.conf # Auth filter # Blocks IPs na nabigong patunayan gamit ang pangunahing pagpapatotoo # [Kahulugan] failregex = walang ibinigay na gumagamit / password para sa pangunahing pagpapatotoo. * client: ang gumagamit. * ay hindi natagpuan sa. * client: gumagamit. * hindi pagtutugma ng password. * client: ignoreregex =
# /etc/fail2ban/filter.d/nginx-login.conf # Pag-login filter # Mga pag-block ng mga IP na nabigong patunayan gamit ang pahina ng pag-log in ng web application # I-scan ang access log para sa HTTP 200 + POST / session => bigong pag-log in # [Kahulugan ] failregex = ^ -. * POST / session HTTP / 1 \ .. "200 ignoreregex =
# /etc/fail2ban/filter.d/nginx-noscript.conf # Noscript filter # I-block ang mga IP na sumusubok na magpatupad ng mga script tulad ng .php, .pl, .exe at iba pang mga nakakatawang script. # Mga tugma hal # 192.168.1.1 - - "GET /something.php # [Kahulugan] failregex = ^ -. * GET. * (\. Php | \ .asp | \ .exe | \ .pl | \ .cgi | \ scgi) ignoreregex =
# /etc/fail2ban/filter.d/proxy.conf # Proxy filter # I-block ang mga IP na sinusubukang gamitin ang server bilang proxy. # Mga tugma hal # 192.168.1.1 - - "GET http://www.something.com/ # [Kahulugan] failregex = ^ -. * GET http. * Ignoreregex =
# /etc/fail2ban/filter.d/firewall.conf # Firewall filter # [Definition] failregex = ^. * IN_ (INVALID | PORTSCAN | UDP | TCP |). * SRC = . * $ ignoreregex =

Panghuli, sinisimulan namin ang serbisyo at na-load ang pagsasaayos:

fail2ban-service -b fail2ban-client reload

Pagpapatunay

Bilang huling hakbang, maaari naming tingnan ang mga talaan kasama buntot -f o multitail –follow-all. Sa katunayan, nag-aalok ang huli na application ng kalamangan na pinapayagan kang tingnan ang maraming mga file nang sabay at nagbibigay ng pangunahing pag-highlight ng syntax.

Kung sakaling ang isang email account ay hindi naka-configure sa VPS, ipinapayong huwag paganahin ang isang mensahe ng babala na lilitaw kapag nagsisimula sa multitail, kung saan isasagawa namin ang sumusunod na utos:

echo "check_mail: 0"> ~ / .multitailrc

Sa katunayan, makakagawa kami ng isang alias (4) upang matingnan nang mabilis ang mga log gamit ang isang maikling utos, halimbawa, "flog":

alias flog = 'multitail --follow-all /var/log/firewall.log /var/log/fail2ban.log'

1) Ito ang mga kathang-isip na halaga.
2) Ang pagpapagana ng iba pang mga serbisyo ay madali kapag naintindihan mo kung paano ito gumagana.
3) Para sa karagdagang detalye, patakbuhin ang mga taong sudero.
4) Opsyonal na maaaring idagdag sa ~ / .bash_aliases file


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   msx dijo

    Mayroong ilang mga kagiliw-giliw na bagay, +1

  2.   yukiteru dijo

    @Hugo ang linyang ito sa pagsasaayos:

    ssl_protocols SSLv3 TLSv1;

    Aalisin ko ang SSLv3 dito dahil ang protokol na iyon ay hindi na ligtas, kahit kay Debian Jessie, maraming mga serbisyo ang na-configure upang maiwasan ang paggamit ng protokol na iyon sa kadahilanang iyon.

    Impormasyon sa paksa dito:

    https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle
    http://disablessl3.com/

    1.    Hugo dijo

      Ang ideya ay hindi talaga nag-aalok ng pangunahing mga serbisyo sa HTTPS, ngunit upang ipaliwanag kung paano gamitin ang port 443 para sa SSH nang hindi nawawala ang posibilidad na gamitin ito para sa HTTPS kung kinakailangan, ngunit salamat sa babala.

      Gayunpaman na-update ko ang artikulo upang mabago nang kaunti ang pagsasaayos nginx at hindi sinasadyang isama ang ilang mga puna upang linawin ang mga bagay nang kaunti pa sa mga mekanismo ng pag-encrypt, at upang ayusin ang ilang mga menor de edad na error.

  3.   Daniel PZ dijo

    Maraming salamat sa mahusay na tutorial na ito, ngayon ay isasagawa ko ito! :D, Ipagpatuloy mo yan DesdeLinux, lagi nila akong sinusurprise, Greetings from Peru.

  4.   Ñandekuera dijo

    Maraming salamat sa pagbabahagi.

  5.   Fernando dijo

    Napakagandang gabay at nagmula ito sa mga perlas ngayon na nagsimula ako sa blogging na ito ngunit lalo na ngayong malapit na akong mai-mount ang aking unang vps at kahit na may maraming mga problema ngunit ang artikulong ito ay inalis ako sa maraming pag-aalinlangan, salamat at pagbati.