Good day!
Virtual server: vps3456
Configuration: 1xAMD-Opteron / 128Mb / 10Gb / 1xIPv4 @ 100
Operating system: Debian 7.0 x86-64 Wheezy
Access to the server using ssh2 protocol:
IP: 93.189.xx.xx
port: 22
user: root
Password: xxxxxxxxxxx
Use the putty program to connect to the server.
via ssh2 protocol https://www.putty.org/
Respectfully,
technical support
$ ssh root@93.189.xx.xx -p 22
The authenticity of host '[93.189.xx.xx]:22 ([93.189.xx.xx]:22)' can't be established. ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)?
# apt-get update && apt-get dist-upgrade -y
# adduser user
«user» ... «user» (1001) ... «user» (1001) «user» ... «/home/user» ... «/etc/skel» ... UNIX: UNIX: passwd: user ENTER []: []: []: []: []: ? [Y/n] Y
# usermod -a -G sudo user
$ ssh user@93.189.xx.xx -p 22
$ sudo nano /etc/ssh/sshd_config
netstat -tupln | grep LISTEN
AddressFamily inet
PermitRootLogin no
AllowUsers user
PermitEmptyPasswords no
$ sudo /etc/init.d/ssh restart
$ sudo swapon -s
$ sudo dd if=/dev/zero of=/swap bs=1024 count=512K
$ sudo mkswap /swap
1, = 536868 , UUID=54c60583-e61a-483a-a15c-2f1be966db85
$ sudo swapon /swap
$ sudo echo "/swap swap swap defaults 0 0" | sudo tee -a /etc/fstab
$ free
total used free shared buffers cached Mem: 510116 502320 7796 4380 1212 452548 -/+ buffers/cache: 48560 461556 Swap: 524284 0 524284
$ sudo nano /etc/apt/sources.list
deb http://nginx.org/packages/debian/ wheezy nginx deb-src http://nginx.org/packages/debian/ wheezy nginx
$ sudo apt-get update && sudo apt-get install nginx
timer_resolution 100ms; # , worker_rlimit_nofile 8192; # (RLIMIT_NOFILE) worker_priority -5;#
worker_processes 1;
events { worker_connections 2048; use epoll; }
sendfile on; # # gzip on; gzip_min_length 1100; gzip_buffers 64 8k; gzip_comp_level 3; gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript text/css; # client_body_timeout 10; # client_header_timeout 10; # , keep-alive keepalive_timeout 5 5; # send_timeout 10;
$ sudo nano /etc/nginx/conf.d/sitename.conf
# limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { listen 80; # server_name sitename.net www.sitename.net; # client_body_buffer_size 1K; # client_header_buffer_size 1k; # , Content-Length . , client_max_body_size 1k; # large_client_header_buffers 2 1k; # if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # access_log /var/log/nginx/sitename.access.log main; # error_log /var/log/nginx/sitename.error.log main; # charset utf-8; location / { # (slimits), . 1 32000 , 5 limit_conn perip 10; limit_conn perserver 100; # # ( ) ! if ($http_user_agent ~* LWP::Simple|BBBike|wget|curl|msnbot|scrapbot) { return 403; } # referer . ( ) if ( $http_referer ~* (babes|forsale|girl|jewelry|love|nudit|organic|poker|porn|sex|teen|pron|money|free|jwh|speed|test|cash|xxx) ) { return 403; } # location / } }
$ sudo nano /etc/sysctl.conf
# smurf- net.ipv4.icmp_echo_ignore_broadcasts = 1 # ICMP- net.ipv4.icmp_ignore_bogus_error_responses = 1 # SYN- net.ipv4.tcp_syncookies = 1 # net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 # net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 # , net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 # ExecShield kernel.exec-shield = 1 kernel.randomize_va_space = 1 # net.ipv4.ip_local_port_range = 2000 65000 # TCP- net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 # (. " ") vm.swappiness=10
$ sudo apt-get -y install prelink
$ sudo nano /etc/default/prelink
$ sudo /etc/cron.daily/prelink
$ sudo apt-get -y install preload
$ sudo iptables -A INPUT -p tcp --dport 80 -i eth0 \ -m state --state NEW -m recent --set
$ sudo iptables -A INPUT -p tcp --dport 80 -i eth0 \ -m state --state NEW -m recent --update \ --seconds 15 --hitcount 20 -j DROP
$ sudo iptables -A INPUT -p tcp --dport 354 -i eth0 \ -m state --state NEW -m recent --set
$ sudo iptables -A INPUT -p tcp --dport 354 -i eth0 \ -m state --state NEW -m recent --update \ --seconds 60 --hitcount 4 -j DROP
$ sudo nano -w /etc/network/if-up.d/00-iptables
#!/bin/sh iptables-restore < /etc/firewall.conf
$ sudo chmod +x /etc/network/if-up.d/00-iptables
$ sudo iptables-save | sudo tee /etc/firewall.conf
Source: https://habr.com/ru/post/186362/
All Articles