{"id":2916,"date":"2023-03-22T15:55:17","date_gmt":"2023-03-22T13:55:17","guid":{"rendered":"https:\/\/www.lassinsivut.eu\/?p=2916"},"modified":"2023-08-13T22:13:05","modified_gmt":"2023-08-13T19:13:05","slug":"palvelimen-perusturvallisuus","status":"publish","type":"post","link":"https:\/\/lassinsivut.eu\/en\/palvelimen-perusturvallisuus\/","title":{"rendered":"Linux palvelimen perusturvallisuus"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2916\" class=\"elementor elementor-2916\">\n\t\t\t\t<div class=\"aux-parallax-section elementor-element elementor-element-fb7eda3 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"fb7eda3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a445efa elementor-widget elementor-widget-spacer\" data-id=\"a445efa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"aux-parallax-section elementor-element elementor-element-e7dc3dd e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"e7dc3dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-080fd19 elementor-widget elementor-widget-heading\" data-id=\"080fd19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Linux palvelimen perusturvallisuuden takaaminen<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19c8e4a elementor-widget elementor-widget-text-editor\" data-id=\"19c8e4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>LOGIEN TARKISTUS<\/strong><\/p><p><strong>#tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti<\/strong><br \/>tail -f \/var\/log\/auth.log<\/p><p><strong>#LOGIEN V\u00c4RITYS<\/strong><\/p><p>apt install grc<\/p><p>grc tail -f \/var\/log\/auth.log<\/p><p><strong>(multitail my\u00f6s useammalle logille kerralla)<\/strong><\/p><p><strong>FAIL2BAN<\/strong><\/p><p>apt-get update<br \/>apt-get install fail2ban<br \/>systemctl status fail2ban<br \/>nano \/etc\/fail2ban\/jail.conf<\/p><p><strong>#ignoraa lokaalin koneen<\/strong><br \/>ignoreip = 127.0.0.1\/8<\/p><p><strong>#m\u00e4\u00e4ritell\u00e4\u00e4n bannin kesto<\/strong><br \/>bantime = 600<\/p><p><strong>#m\u00e4\u00e4ritell\u00e4\u00e4n monta yrityst\u00e4 kirjautumisessa on<\/strong><br \/>maxretry = 3<\/p><p><strong>#t\u00e4m\u00e4 l\u00e4hett\u00e4\u00e4 postia root k\u00e4ytt\u00e4j\u00e4lle ett\u00e4 joku on bannattu<\/strong><br \/>destemail = root@localhost<br \/>sendername = Fail2Ban banned user!<br \/>mta = sendmail<br \/>action = %(action_mwl)s<\/p><p><strong>#t\u00e4ll\u00e4 saadaan postiin logitedot k\u00e4tev\u00e4sti<\/strong><br \/>action_mw<br \/><strong>#t\u00e4ll\u00e4 kuitenkin saa eniten<\/strong> <br \/>action_mwl<\/p><p><strong>#t\u00e4ll\u00e4 komennolla pys\u00e4ytet\u00e4\u00e4n fail2ban<\/strong><br \/>systemctl fail2ban stop<\/p><p><strong>#t\u00e4ll\u00e4 aloitetaan<\/strong><br \/>systemctl fail2ban start<\/p><p><strong>#t\u00e4ll\u00e4 tarkistetaan nykyinen tilanne<\/strong><br \/>systemctl status fail2ban<\/p><p><strong># tarkistetaan jaili sek\u00e4 estetyt ipt sek\u00e4 niiden m\u00e4\u00e4r\u00e4<\/strong><br \/>fail2ban-client status sshd<\/p><p><strong>UFW PALOMUURI<\/strong><\/p><p>apt install ufw<br \/>systemctl enable ufw<br \/>systemctl start ufw<br \/>systemctl status ufw<\/p><p><strong>#avataan palomuuriin portti<\/strong><br \/>ufw allow <strong>&#8221;portti&#8221;<\/strong><\/p><p><strong>#avataan portti 80<\/strong><br \/>ufw allow 80<\/p><p><strong>OPENSSH<\/strong><\/p><p><strong>#Asennetaan ssh<\/strong><br \/>apt install openssh-server<\/p><p><strong>#Otetaan ssh k\u00e4ytt\u00f6\u00f6n samalla my\u00f6s koneen startuppiin<\/strong><br \/>systemctl enable ssh<\/p><p><strong>#Tarkistetaan nykyinen tilanne ssh<\/strong><br \/>systemctl status sshd<\/p><p><strong>#Pys\u00e4ytet\u00e4\u00e4n ssh<\/strong><br \/>systemctl stop sshd<\/p><p>nano \/etc\/ssh\/sshd_config<\/p><p><strong>#vaihdetaan oletus portti toiseen<\/strong><br \/>#Port22<\/p><p>port222<\/p><p><strong>#Kiellet\u00e4\u00e4n roottina kirjautuminen<\/strong><br \/>#PermitRootLogin<br \/>PermitRootLogin no<\/p><p><strong>#Annetaan lassi k\u00e4ytt\u00e4j\u00e4lle lupa kirjautua<\/strong><br \/>AllowUsers lassi<\/p><p><strong>#k\u00e4ynnistet\u00e4\u00e4n ssh uudestaan<\/strong><br \/>systemctl restart sshd<\/p><p>netstat -tulpn<\/p><p>netstat -tulpn | grep 22<\/p><p>ufw allow ssh<\/p><p>ufw allow 22<\/p><p>SSH PARANTELU<\/p><p><strong>#Asenntaan moduulit ja sovellukset jotka yhdist\u00e4v\u00e4t hy\u00f6kk\u00e4\u00e4j\u00e4n ip-osoitteen maahan<\/strong><br \/>apt-get install geoip-bin geoip-database<\/p><p><strong>#Luodaan scripti joka hallitsee p\u00e4\u00e4syn<\/strong><br \/>nano \/usr\/local\/bin\/ipfilter.sh<\/p><p>#!\/bin\/bash<br \/>ALLOW_COUNTRIES=&#8221;IN US&#8221;<br \/>LOGDENY_FACILITY=&#8221;authpriv.notice&#8221;<\/p><p>if [ $# -ne 1 ]; then<br \/>echo &#8221;Usage: `basename $0` &#8221; 1&gt;&amp;2<br \/>exit 0 # return true in case of config issue<br \/>fi<\/p><p>if [[ &#8221;`echo $1 | grep &#8217;:&#8217;`&#8221; != &#8221;&#8221; ]] ; then<br \/>COUNTRY=`\/usr\/bin\/geoiplookup6 &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1`<br \/>else<br \/>COUNTRY=`\/usr\/bin\/geoiplookup &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1`<br \/>fi<br \/>[[ $COUNTRY = &#8221;IP Address not found&#8221; || $ALLOW_COUNTRIES =~ $COUNTRY ]] &amp;&amp; RESPONSE=&#8221;ALLOW&#8221; || RESPONSE=&#8221;DENY&#8221;<\/p><p>if [[ &#8221;$RESPONSE&#8221; == &#8221;ALLOW&#8221; ]] ; then<br \/>logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221;<br \/>exit 0<br \/>else<br \/>logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221;<br \/>exit 1<br \/>fi<\/p><p><strong>#T\u00e4m\u00e4 muutos pit\u00e4\u00e4 tehd\u00e4 jos halutaan ett\u00e4 scripti juoksee!<\/strong><br \/>chmod +x \/usr\/local\/bin\/ipfilter.sh<\/p><p><strong>#Lis\u00e4t\u00e4\u00e4n ssh listalle omat muutokset jotta j\u00e4rjestelm\u00e4\u00e4 ohjaa tuo uusi scripti ja muut asennetut ohjelmat.<\/strong><br \/>nano \/etc\/hosts.deny<\/p><p>sshd: ALL<br \/>vsftpd: ALL<\/p><p><strong>#M\u00e4\u00e4ritell\u00e4\u00e4n viel\u00e4 mist\u00e4 scripti l\u00f6ytyy.<\/strong><br \/>nano \/etc\/hosts.allow<\/p><p>sshd: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a<br \/>vsftp: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Linux palvelimen perusturvallisuuden takaaminen LOGIEN TARKISTUS #tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti tail -f \/var\/log\/auth.log #LOGIEN V\u00c4RITYS apt install grc grc tail -f \/var\/log\/auth.log (multitail my\u00f6s useammalle logille kerralla) FAIL2BAN apt-get update apt-get install fail2ban systemctl status fail2ban nano \/etc\/fail2ban\/jail.conf #ignoraa lokaalin koneen ignoreip = 127.0.0.1\/8 #m\u00e4\u00e4ritell\u00e4\u00e4n bannin kesto bantime = 600 #m\u00e4\u00e4ritell\u00e4\u00e4n monta yrityst\u00e4 kirjautumisessa on maxretry = 3 #t\u00e4m\u00e4 l\u00e4hett\u00e4\u00e4 postia root k\u00e4ytt\u00e4j\u00e4lle ett\u00e4 joku on bannattu destemail = root@localhost sendername = Fail2Ban banned user! mta = sendmail action = %(action_mwl)s #t\u00e4ll\u00e4 saadaan postiin logitedot k\u00e4tev\u00e4sti action_mw #t\u00e4ll\u00e4 kuitenkin saa eniten action_mwl #t\u00e4ll\u00e4 komennolla pys\u00e4ytet\u00e4\u00e4n fail2ban systemctl fail2ban stop #t\u00e4ll\u00e4 aloitetaan systemctl fail2ban start #t\u00e4ll\u00e4 tarkistetaan nykyinen tilanne systemctl status fail2ban # tarkistetaan jaili sek\u00e4 estetyt ipt sek\u00e4 niiden m\u00e4\u00e4r\u00e4 fail2ban-client status sshd UFW PALOMUURI apt install ufw systemctl enable ufw systemctl start ufw systemctl status ufw #avataan palomuuriin portti ufw allow &#8221;portti&#8221; #avataan portti 80 ufw allow 80 OPENSSH #Asennetaan ssh apt install openssh-server #Otetaan ssh k\u00e4ytt\u00f6\u00f6n samalla my\u00f6s koneen startuppiin systemctl enable ssh #Tarkistetaan nykyinen tilanne ssh systemctl status sshd #Pys\u00e4ytet\u00e4\u00e4n ssh systemctl stop sshd nano \/etc\/ssh\/sshd_config #vaihdetaan oletus portti toiseen #Port22 port222 #Kiellet\u00e4\u00e4n roottina kirjautuminen #PermitRootLogin PermitRootLogin no #Annetaan lassi k\u00e4ytt\u00e4j\u00e4lle lupa kirjautua AllowUsers lassi #k\u00e4ynnistet\u00e4\u00e4n ssh uudestaan systemctl restart sshd netstat -tulpn netstat -tulpn | grep 22 ufw allow ssh ufw allow 22 SSH PARANTELU #Asenntaan moduulit ja sovellukset jotka yhdist\u00e4v\u00e4t hy\u00f6kk\u00e4\u00e4j\u00e4n ip-osoitteen maahan apt-get install geoip-bin geoip-database #Luodaan scripti joka hallitsee p\u00e4\u00e4syn nano \/usr\/local\/bin\/ipfilter.sh #!\/bin\/bash ALLOW_COUNTRIES=&#8221;IN US&#8221; LOGDENY_FACILITY=&#8221;authpriv.notice&#8221; if [ $# -ne 1 ]; then echo &#8221;Usage: `basename $0` &#8221; 1&gt;&amp;2 exit 0 # return true in case of config issue fi if [[ &#8221;`echo $1 | grep &#8217;:&#8217;`&#8221; != &#8221;&#8221; ]] ; then COUNTRY=`\/usr\/bin\/geoiplookup6 &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` else COUNTRY=`\/usr\/bin\/geoiplookup &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` fi [[ $COUNTRY = &#8221;IP Address not found&#8221; || $ALLOW_COUNTRIES =~ $COUNTRY ]] &amp;&amp; RESPONSE=&#8221;ALLOW&#8221; || RESPONSE=&#8221;DENY&#8221; if [[ &#8221;$RESPONSE&#8221; == &#8221;ALLOW&#8221; ]] ; then logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 0 else logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 1 fi #T\u00e4m\u00e4 muutos pit\u00e4\u00e4 tehd\u00e4 jos halutaan ett\u00e4 scripti juoksee! chmod +x \/usr\/local\/bin\/ipfilter.sh #Lis\u00e4t\u00e4\u00e4n ssh listalle omat muutokset jotta j\u00e4rjestelm\u00e4\u00e4 ohjaa tuo uusi scripti ja muut asennetut ohjelmat. nano \/etc\/hosts.deny sshd: ALL vsftpd: ALL #M\u00e4\u00e4ritell\u00e4\u00e4n viel\u00e4 mist\u00e4 scripti l\u00f6ytyy. nano \/etc\/hosts.allow sshd: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a vsftp: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a<\/p>\n","protected":false},"author":1,"featured_media":3020,"comment_status":"closed","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[9,10,16],"tags":[],"class_list":["post-2916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-palvelin","category-tietoturva"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Linux palvelimen perusturvallisuus - Lassin kotisivut<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lassinsivut.eu\/en\/palvelimen-perusturvallisuus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux palvelimen perusturvallisuus - Lassin kotisivut\" \/>\n<meta property=\"og:description\" content=\"Linux palvelimen perusturvallisuuden takaaminen LOGIEN TARKISTUS #tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti tail -f \/var\/log\/auth.log #LOGIEN V\u00c4RITYS apt install grc grc tail -f \/var\/log\/auth.log (multitail my\u00f6s useammalle logille kerralla) FAIL2BAN apt-get update apt-get install fail2ban systemctl status fail2ban nano \/etc\/fail2ban\/jail.conf #ignoraa lokaalin koneen ignoreip = 127.0.0.1\/8 #m\u00e4\u00e4ritell\u00e4\u00e4n bannin kesto bantime = 600 #m\u00e4\u00e4ritell\u00e4\u00e4n monta yrityst\u00e4 kirjautumisessa on maxretry = 3 #t\u00e4m\u00e4 l\u00e4hett\u00e4\u00e4 postia root k\u00e4ytt\u00e4j\u00e4lle ett\u00e4 joku on bannattu destemail = root@localhost sendername = Fail2Ban banned user! mta = sendmail action = %(action_mwl)s #t\u00e4ll\u00e4 saadaan postiin logitedot k\u00e4tev\u00e4sti action_mw #t\u00e4ll\u00e4 kuitenkin saa eniten action_mwl #t\u00e4ll\u00e4 komennolla pys\u00e4ytet\u00e4\u00e4n fail2ban systemctl fail2ban stop #t\u00e4ll\u00e4 aloitetaan systemctl fail2ban start #t\u00e4ll\u00e4 tarkistetaan nykyinen tilanne systemctl status fail2ban # tarkistetaan jaili sek\u00e4 estetyt ipt sek\u00e4 niiden m\u00e4\u00e4r\u00e4 fail2ban-client status sshd UFW PALOMUURI apt install ufw systemctl enable ufw systemctl start ufw systemctl status ufw #avataan palomuuriin portti ufw allow &#8221;portti&#8221; #avataan portti 80 ufw allow 80 OPENSSH #Asennetaan ssh apt install openssh-server #Otetaan ssh k\u00e4ytt\u00f6\u00f6n samalla my\u00f6s koneen startuppiin systemctl enable ssh #Tarkistetaan nykyinen tilanne ssh systemctl status sshd #Pys\u00e4ytet\u00e4\u00e4n ssh systemctl stop sshd nano \/etc\/ssh\/sshd_config #vaihdetaan oletus portti toiseen #Port22 port222 #Kiellet\u00e4\u00e4n roottina kirjautuminen #PermitRootLogin PermitRootLogin no #Annetaan lassi k\u00e4ytt\u00e4j\u00e4lle lupa kirjautua AllowUsers lassi #k\u00e4ynnistet\u00e4\u00e4n ssh uudestaan systemctl restart sshd netstat -tulpn netstat -tulpn | grep 22 ufw allow ssh ufw allow 22 SSH PARANTELU #Asenntaan moduulit ja sovellukset jotka yhdist\u00e4v\u00e4t hy\u00f6kk\u00e4\u00e4j\u00e4n ip-osoitteen maahan apt-get install geoip-bin geoip-database #Luodaan scripti joka hallitsee p\u00e4\u00e4syn nano \/usr\/local\/bin\/ipfilter.sh #!\/bin\/bash ALLOW_COUNTRIES=&#8221;IN US&#8221; LOGDENY_FACILITY=&#8221;authpriv.notice&#8221; if [ $# -ne 1 ]; then echo &#8221;Usage: `basename $0` &#8221; 1&gt;&amp;2 exit 0 # return true in case of config issue fi if [[ &#8221;`echo $1 | grep &#8217;:&#8217;`&#8221; != &#8221;&#8221; ]] ; then COUNTRY=`\/usr\/bin\/geoiplookup6 &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` else COUNTRY=`\/usr\/bin\/geoiplookup &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` fi [[ $COUNTRY = &#8221;IP Address not found&#8221; || $ALLOW_COUNTRIES =~ $COUNTRY ]] &amp;&amp; RESPONSE=&#8221;ALLOW&#8221; || RESPONSE=&#8221;DENY&#8221; if [[ &#8221;$RESPONSE&#8221; == &#8221;ALLOW&#8221; ]] ; then logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 0 else logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 1 fi #T\u00e4m\u00e4 muutos pit\u00e4\u00e4 tehd\u00e4 jos halutaan ett\u00e4 scripti juoksee! chmod +x \/usr\/local\/bin\/ipfilter.sh #Lis\u00e4t\u00e4\u00e4n ssh listalle omat muutokset jotta j\u00e4rjestelm\u00e4\u00e4 ohjaa tuo uusi scripti ja muut asennetut ohjelmat. nano \/etc\/hosts.deny sshd: ALL vsftpd: ALL #M\u00e4\u00e4ritell\u00e4\u00e4n viel\u00e4 mist\u00e4 scripti l\u00f6ytyy. nano \/etc\/hosts.allow sshd: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a vsftp: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lassinsivut.eu\/en\/palvelimen-perusturvallisuus\/\" \/>\n<meta property=\"og:site_name\" content=\"Lassin kotisivut\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-22T13:55:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-13T19:13:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"lassi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"lassi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/\"},\"author\":{\"name\":\"lassi\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#\\\/schema\\\/person\\\/9246ef62dc4013651f8657d79fe2ef58\"},\"headline\":\"Linux palvelimen perusturvallisuus\",\"datePublished\":\"2023-03-22T13:55:17+00:00\",\"dateModified\":\"2023-08-13T19:13:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/\"},\"wordCount\":465,\"publisher\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#\\\/schema\\\/person\\\/9246ef62dc4013651f8657d79fe2ef58\"},\"image\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lassinsivut.eu\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Linuxsecurity.jpg\",\"articleSection\":[\"Linux\",\"Palvelin\",\"Tietoturva\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/\",\"url\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/\",\"name\":\"Linux palvelimen perusturvallisuus - Lassin kotisivut\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lassinsivut.eu\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Linuxsecurity.jpg\",\"datePublished\":\"2023-03-22T13:55:17+00:00\",\"dateModified\":\"2023-08-13T19:13:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#primaryimage\",\"url\":\"https:\\\/\\\/lassinsivut.eu\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Linuxsecurity.jpg\",\"contentUrl\":\"https:\\\/\\\/lassinsivut.eu\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Linuxsecurity.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/palvelimen-perusturvallisuus\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/lassinsivut.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux palvelimen perusturvallisuus\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#website\",\"url\":\"https:\\\/\\\/lassinsivut.eu\\\/\",\"name\":\"Lassin kotisivut\",\"description\":\"Blogi t\u00e4ynn\u00e4 tietotekniikan juttuja, tervetuloa!\",\"publisher\":{\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#\\\/schema\\\/person\\\/9246ef62dc4013651f8657d79fe2ef58\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/lassinsivut.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/lassinsivut.eu\\\/#\\\/schema\\\/person\\\/9246ef62dc4013651f8657d79fe2ef58\",\"name\":\"lassi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g\",\"caption\":\"lassi\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/lassinsivut.eu\"],\"url\":\"https:\\\/\\\/lassinsivut.eu\\\/en\\\/author\\\/lassi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linux palvelimen perusturvallisuus - Lassin kotisivut","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lassinsivut.eu\/en\/palvelimen-perusturvallisuus\/","og_locale":"en_US","og_type":"article","og_title":"Linux palvelimen perusturvallisuus - Lassin kotisivut","og_description":"Linux palvelimen perusturvallisuuden takaaminen LOGIEN TARKISTUS #tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti tail -f \/var\/log\/auth.log #LOGIEN V\u00c4RITYS apt install grc grc tail -f \/var\/log\/auth.log (multitail my\u00f6s useammalle logille kerralla) FAIL2BAN apt-get update apt-get install fail2ban systemctl status fail2ban nano \/etc\/fail2ban\/jail.conf #ignoraa lokaalin koneen ignoreip = 127.0.0.1\/8 #m\u00e4\u00e4ritell\u00e4\u00e4n bannin kesto bantime = 600 #m\u00e4\u00e4ritell\u00e4\u00e4n monta yrityst\u00e4 kirjautumisessa on maxretry = 3 #t\u00e4m\u00e4 l\u00e4hett\u00e4\u00e4 postia root k\u00e4ytt\u00e4j\u00e4lle ett\u00e4 joku on bannattu destemail = root@localhost sendername = Fail2Ban banned user! mta = sendmail action = %(action_mwl)s #t\u00e4ll\u00e4 saadaan postiin logitedot k\u00e4tev\u00e4sti action_mw #t\u00e4ll\u00e4 kuitenkin saa eniten action_mwl #t\u00e4ll\u00e4 komennolla pys\u00e4ytet\u00e4\u00e4n fail2ban systemctl fail2ban stop #t\u00e4ll\u00e4 aloitetaan systemctl fail2ban start #t\u00e4ll\u00e4 tarkistetaan nykyinen tilanne systemctl status fail2ban # tarkistetaan jaili sek\u00e4 estetyt ipt sek\u00e4 niiden m\u00e4\u00e4r\u00e4 fail2ban-client status sshd UFW PALOMUURI apt install ufw systemctl enable ufw systemctl start ufw systemctl status ufw #avataan palomuuriin portti ufw allow &#8221;portti&#8221; #avataan portti 80 ufw allow 80 OPENSSH #Asennetaan ssh apt install openssh-server #Otetaan ssh k\u00e4ytt\u00f6\u00f6n samalla my\u00f6s koneen startuppiin systemctl enable ssh #Tarkistetaan nykyinen tilanne ssh systemctl status sshd #Pys\u00e4ytet\u00e4\u00e4n ssh systemctl stop sshd nano \/etc\/ssh\/sshd_config #vaihdetaan oletus portti toiseen #Port22 port222 #Kiellet\u00e4\u00e4n roottina kirjautuminen #PermitRootLogin PermitRootLogin no #Annetaan lassi k\u00e4ytt\u00e4j\u00e4lle lupa kirjautua AllowUsers lassi #k\u00e4ynnistet\u00e4\u00e4n ssh uudestaan systemctl restart sshd netstat -tulpn netstat -tulpn | grep 22 ufw allow ssh ufw allow 22 SSH PARANTELU #Asenntaan moduulit ja sovellukset jotka yhdist\u00e4v\u00e4t hy\u00f6kk\u00e4\u00e4j\u00e4n ip-osoitteen maahan apt-get install geoip-bin geoip-database #Luodaan scripti joka hallitsee p\u00e4\u00e4syn nano \/usr\/local\/bin\/ipfilter.sh #!\/bin\/bash ALLOW_COUNTRIES=&#8221;IN US&#8221; LOGDENY_FACILITY=&#8221;authpriv.notice&#8221; if [ $# -ne 1 ]; then echo &#8221;Usage: `basename $0` &#8221; 1&gt;&amp;2 exit 0 # return true in case of config issue fi if [[ &#8221;`echo $1 | grep &#8217;:&#8217;`&#8221; != &#8221;&#8221; ]] ; then COUNTRY=`\/usr\/bin\/geoiplookup6 &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` else COUNTRY=`\/usr\/bin\/geoiplookup &#8221;$1&#8221; | awk -F &#8221;: &#8221; &#8217;{ print $2 }&#8217; | awk -F &#8221;,&#8221; &#8217;{ print $1 }&#8217; | head -n 1` fi [[ $COUNTRY = &#8221;IP Address not found&#8221; || $ALLOW_COUNTRIES =~ $COUNTRY ]] &amp;&amp; RESPONSE=&#8221;ALLOW&#8221; || RESPONSE=&#8221;DENY&#8221; if [[ &#8221;$RESPONSE&#8221; == &#8221;ALLOW&#8221; ]] ; then logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 0 else logger -p $LOGDENY_FACILITY &#8221;$RESPONSE sshd connection from $1 ($COUNTRY)&#8221; exit 1 fi #T\u00e4m\u00e4 muutos pit\u00e4\u00e4 tehd\u00e4 jos halutaan ett\u00e4 scripti juoksee! chmod +x \/usr\/local\/bin\/ipfilter.sh #Lis\u00e4t\u00e4\u00e4n ssh listalle omat muutokset jotta j\u00e4rjestelm\u00e4\u00e4 ohjaa tuo uusi scripti ja muut asennetut ohjelmat. nano \/etc\/hosts.deny sshd: ALL vsftpd: ALL #M\u00e4\u00e4ritell\u00e4\u00e4n viel\u00e4 mist\u00e4 scripti l\u00f6ytyy. nano \/etc\/hosts.allow sshd: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a vsftp: ALL: spawn \/usr\/local\/bin\/ipfilter.sh %a","og_url":"https:\/\/lassinsivut.eu\/en\/palvelimen-perusturvallisuus\/","og_site_name":"Lassin kotisivut","article_published_time":"2023-03-22T13:55:17+00:00","article_modified_time":"2023-08-13T19:13:05+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","type":"image\/jpeg"}],"author":"lassi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"lassi","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#article","isPartOf":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/"},"author":{"name":"lassi","@id":"https:\/\/lassinsivut.eu\/#\/schema\/person\/9246ef62dc4013651f8657d79fe2ef58"},"headline":"Linux palvelimen perusturvallisuus","datePublished":"2023-03-22T13:55:17+00:00","dateModified":"2023-08-13T19:13:05+00:00","mainEntityOfPage":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/"},"wordCount":465,"publisher":{"@id":"https:\/\/lassinsivut.eu\/#\/schema\/person\/9246ef62dc4013651f8657d79fe2ef58"},"image":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#primaryimage"},"thumbnailUrl":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","articleSection":["Linux","Palvelin","Tietoturva"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/","url":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/","name":"Linux palvelimen perusturvallisuus - Lassin kotisivut","isPartOf":{"@id":"https:\/\/lassinsivut.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#primaryimage"},"image":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#primaryimage"},"thumbnailUrl":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","datePublished":"2023-03-22T13:55:17+00:00","dateModified":"2023-08-13T19:13:05+00:00","breadcrumb":{"@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#primaryimage","url":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","contentUrl":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/lassinsivut.eu\/palvelimen-perusturvallisuus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lassinsivut.eu\/"},{"@type":"ListItem","position":2,"name":"Linux palvelimen perusturvallisuus"}]},{"@type":"WebSite","@id":"https:\/\/lassinsivut.eu\/#website","url":"https:\/\/lassinsivut.eu\/","name":"Lassi's homepage","description":"Blogi t\u00e4ynn\u00e4 tietotekniikan juttuja, tervetuloa!","publisher":{"@id":"https:\/\/lassinsivut.eu\/#\/schema\/person\/9246ef62dc4013651f8657d79fe2ef58"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lassinsivut.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/lassinsivut.eu\/#\/schema\/person\/9246ef62dc4013651f8657d79fe2ef58","name":"lassi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g","caption":"lassi"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/5e227bfe60b98fd4b60c357bafc3f3c3b16fdee80c778359dab94e7ed3a53e6a?s=96&d=mm&r=g"},"sameAs":["https:\/\/lassinsivut.eu"],"url":"https:\/\/lassinsivut.eu\/en\/author\/lassi\/"}]}},"jetpack_featured_media_url":"https:\/\/lassinsivut.eu\/wp-content\/uploads\/2023\/03\/Linuxsecurity.jpg","_links":{"self":[{"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/posts\/2916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/comments?post=2916"}],"version-history":[{"count":8,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/posts\/2916\/revisions"}],"predecessor-version":[{"id":3021,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/posts\/2916\/revisions\/3021"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/media\/3020"}],"wp:attachment":[{"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/media?parent=2916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/categories?post=2916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lassinsivut.eu\/en\/wp-json\/wp\/v2\/tags?post=2916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}