Langkah-langkah untuk mengamankan VPS kami

Tutorial ini menunjukkan cara mempersiapkan dan mengamankan Virtual Private Server (VPS) dengan Debian GNU / Linux. Sebelum memulai, ada beberapa hal yang diasumsikan:

  1. Anda memiliki tingkat keakraban menengah dengan GNU / Linux.
  2. Ada VPS untuk penggunaan pribadi yang kami akses melalui SSH.
  3. VPS memiliki ipv4 250.250.250.155 eksternal khusus dan penyedia kami memiliki blok 250.250.0.0/16. (1)
  4. Di VPS kami, kami hanya akan mengaktifkan layanan http, https dan ssh untuk akses dari luar.
  5. DNS Eksternal tidak akan diaktifkan karena biasanya dilakukan di panel penyedia kami. (2)
  6. Ini akan berfungsi sebagai pengguna super.

Instalasi

Sebagai langkah pertama, mari perbarui server dan instal beberapa paket yang kami perlukan:

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

konfigurasi

Sekarang kita akan membuat pengguna kerja. Bekerja sebagai root di server tidak aman, jadi pertama-tama kita akan membuat pengguna khusus:

operator adduser usermod -aG sudo operator

Perintah pertama membuat pengguna operator, perintah kedua menambahkannya ke grup sudo, yang memungkinkan Anda menjalankan aplikasi sebagai root.

Sesuaikan izin untuk pengguna super

Untuk bekerja secara teratur kami akan menggunakan pengguna operator dibuat sebelumnya, kita perlu menyesuaikan opsi eksekusi perintah sebagai superuser, untuk itu kita menjalankan perintah berikut:

visudo

Perintah ini pada dasarnya memungkinkan untuk memodifikasi file / etc / sudoers; di mana kita harus berisi baris-baris ini:

Default env_reset, timestamp_timeout = 0% sudo ALL = (ALL: ALL) ALL

Di baris pertama, opsi ditambahkan ke nilai default stempel waktu_waktu habis yang memungkinkan Anda untuk mengatur waktu kedaluwarsa (dalam menit) kata sandi saat perintah sudo dijalankan. Standarnya adalah 5, tetapi ini terkadang tidak aman karena dua alasan:

  1. Jika secara tidak sengaja kita membiarkan komputer kita tetap masuk sebelum kata sandi kedaluwarsa, seseorang dapat menjalankan perintah sebagai root tanpa batasan apa pun.
  2. Jika karena ketidaktahuan kami menjalankan aplikasi atau skrip yang berisi kode berbahaya sebelum kata sandi kedaluwarsa, aplikasi tersebut dapat memiliki akses ke sistem kami sebagai pengguna super, tanpa persetujuan eksplisit kami.

Jadi untuk menghindari risiko, kami telah menetapkan nilainya menjadi nol, yaitu setiap kali perintah sudo dijalankan, kata sandi harus dimasukkan. Jika nilai negatif disetel sebagai -1, efeknya adalah kata sandi tidak pernah kedaluwarsa, yang akan menghasilkan hasil yang berlawanan dari yang kita inginkan.

Baris kedua menjelaskan bahwa grup sudo dapat menjalankan perintah apa pun di komputer mana pun, yang merupakan hal yang biasa, meskipun dapat disesuaikan. (3) Ada orang yang untuk kenyamanan meletakkan baris sebagai berikut untuk menghindari mengetik kata sandi:

% sudo SEMUA = (SEMUA: SEMUA) NOPASSWD: SEMUA

Namun, seperti yang telah kami jelaskan sebelumnya, ini berisiko, dan karenanya tidak disarankan.

Nonaktifkan restart

Untuk alasan keamanan, kami juga akan menonaktifkan restart menggunakan kombinasi tombol Ctrl + Alt + Del, yang harus kita tambahkan baris ini di file / etc / inittab:

ca: 12345: ctrlaltdel: / bin / echo "Ctrl + Alt + Del telah dinonaktifkan."

Ganti OpenSSH dengan DropBear

Sebagian besar VPS dilengkapi dengan OpenSSH terinstal, yang tentunya sangat berguna, tetapi kecuali kita perlu memanfaatkan semua fungsionalitas OpenSSH, ada alternatif yang lebih ringan untuk VPS, seperti dropbear, yang biasanya cukup untuk penggunaan biasa. Namun, kekurangan dari aplikasi ini adalah tidak dilengkapi dengan server SFTP yang terintegrasi, dan itulah mengapa pada awalnya kami menginstal paket tersebut. gesftpserver.

Untuk mengkonfigurasi Dropbear, kami akan memodifikasi file / etc / default / dropbear sehingga berisi dua baris ini:

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

Baris pertama mengaktifkan layanan, dan baris kedua melakukan beberapa hal:

  1. Hindari akses root.
  2. Itu membuat layanan mendengarkan pada port 22 dari antarmuka lokal (kami akan menjelaskan alasannya nanti).
  3. Setel waktu tunggu (20 menit).

SSLH

Port 22 (SSH) terkenal dan umumnya salah satu yang pertama kali dicoba dilanggar oleh peretas, jadi kami akan menggunakan port 443 (SSL) sebagai gantinya. Kebetulan port ini digunakan untuk penjelajahan yang aman melalui HTTPS.

Untuk alasan ini kami akan menggunakan paket sslh, yang tidak lebih dari multiplexer yang menganalisis paket yang tiba di port 443, dan merutekannya secara internal ke satu layanan atau lainnya tergantung pada apakah jenis lalu lintasnya SSH atau SSL.

SSLH tidak dapat mendengarkan pada antarmuka di mana layanan lain sudah mendengarkan, itulah sebabnya kami sebelumnya membuat Dropbear mendengarkan pada antarmuka lokal.

Sekarang yang perlu kita lakukan adalah menunjukkan ke sslh antarmuka dan port tempat ia harus mendengarkan dan ke mana untuk mengarahkan paket tergantung pada jenis layanan, dan untuk ini kita akan memodifikasi file konfigurasi / etc / default / sslh:

DAEMON = / usr / sbin / sslh DAEMON_OPTS = "- pengguna sslh --listen 250.250.250.155:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile / var / run / sslh / sslh. pid "RUN = ya

Akhirnya, kami memulai ulang layanan:

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

Setelah perintah sebelumnya, sesi aman kami mungkin akan terputus, dalam hal ini cukup untuk masuk lagi, tetapi kali ini dengan pengguna kerja dan menggunakan port 443. Jika sesi tidak terganggu, disarankan untuk menutupnya dan mulai lagi dengan nilai yang sesuai.

Jika semuanya bekerja dengan benar, kita dapat terus bekerja sebagai root dan jika kita mau, hapus instalan OpenSSH:

sudo su - aptitude -r purge openssh-server

Firewall

Hal berikutnya yang akan kita lakukan adalah memisahkan log dari firewall ke file terpisah /var/log/firewall.log untuk memfasilitasi analisis lebih lanjut, itulah sebabnya kami menginstal paket ulogd saat startup. Untuk ini kami akan mengedit file /etc/logd.conf untuk menyesuaikan bagian yang relevan:

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

Selanjutnya, kami akan mengubah file rotasi rekaman / etc / logrotate / ulogd untuk mempertahankan rotasi harian (dengan tanggal) dan menyimpan salvo yang dikompresi di direktori / var / log / ulog /:

/var/log/ulog/*.log /var/log/firewall.log {daily dateext missingok kompres delaycompress sharedscripts membuat 640 root adm postrotate /etc/init.d/ulogd reload mv /var/log/firewall.log-* .gz / var / log / ulog / endscript}

Kemudian kita akan membuat aturan netfilter dengan menjalankan yang berikut ini:

IPT = $ (yang iptables) 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 TERIMA $ IPT - P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT TERIMA $ IPT -A INPUT -m state --state INVALID -j ULOG --ulog-prefix IN_INVALID $ IPT -A INPUT -p igmp -j ULOG --ulog -prefix IN_IGMP $ IPT -A INPUT -m pkttype --pkt-type broadcast -j ULOG --ulog-prefix IN_BCAST $ IPT -A INPUT -m pkttype --pkt-type multicast -j ULOG --ulog-prefix IN_MCAST $ IPT -A MAJU -j ULOG --ulog-prefix MAJU $ IPT -N ICMP_IN $ IPT -A INPUT!  -i lo -p icmp -j ICMP_IN $ IPT -A ICMP_IN -p icmp -f -j ULOG --ulog-prefix IN_ICMP_FRAGMENTED $ IPT -A ICMP_IN -p icmp -m icmp -m length!  --length 28: 1322 -j ULOG --ulog-prefix IN_ICMP_INVALIDSIZE $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-above 4 / detik --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 -nama icmpattack -j ULOG --ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m u32!  --u32 "0x4 & 0x3fff = 0x0" -j ULOG --ulog-prefix IN_ICMP_ATTACK $ IPT -A ICMP_IN -p icmp -m icmp!  --icmp-type echo-request -m state --state BARU -j ULOG --ulog-prefix IN_ICMP_INVALID $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -j ULOG --ulog- awalan IN_ICMP $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -m limit --limit 1 / detik --limit-burst 4 -j SETUJU $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-reply -m limit --limit 2 / detik --limit-burst 4 -j TERIMA $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type destination-unreachable -m limit - batas 2 / detik --limit-burst 4 -j SETUJU $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type time-overed -m limit --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type parameter-problem -m limit --limit 2 / detik --limit-burst 4 -j TERIMA $ IPT -A ICMP_IN -j RETURN $ IPT -N UDP_IN $ IPT - MASUKAN!  -i lo -p udp -j UDP_IN $ IPT -A UDP_IN!  -Aku lo!  -p udp -f -j ULOG --ulog-prefix IN_UDP_FRAGMENTED $ IPT -A UDP_IN -p udp -m udp --sport 53 -m length!  --length 28: 576 -j ULOG --ulog-prefix IN_UDP_DNS_INVALIDSIZE $ IPT -A UDP_IN -p udp -m udp --dport 53 -m -state --state NEW -j ULOG --ulog-prefix IN_UDP_DNSREQUEST $ IPT - UDP_IN -p udp -m udp --dport 53 -m -state --state NEW -j REJECT --reject-with icmp-port-unreachable $ IPT -A UDP_IN -p udp -m udp!  --port 53!  -s $ IPEXTBLK!  -d $ IPBCAST -m state --state NEW -j ULOG --ulog-prefix IN_UDP $ IPT -A UDP_IN -p udp -m udp -m state --state ESTABLISHED, RELATED -j ACCEPT $ IPT -A UDP_IN -j KEMBALI $ IPT -N TCP_IN $ IPT -A MASUKAN!  -i lo -p tcp -j TCP_IN $ IPT -A TCP_IN!  -Aku lo!  -p tcp -f -j ULOG --ulog-prefix IN_TCP_FRAGMENTED $ IPT -A TCP_IN -p tcp -m tcp --sport 53 -m state --state ESTABLISHED, RELATED -m length!  --length 513: 1500 -j ULOG --ulog-prefix IN_TCP_DNS_INVALIDSIZE $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state NEW -j ULOG --ulog-prefix IN_TCP_DNS $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state NEW -j REJECT --reject-with icmp-port-unreachable $ IPT -A TCP_IN -p tcp -m tcp -m multiport!  --dports 80,443 -m status --state BARU -j ULOG --ulog-prefix IN_TCP $ IPT -A TCP_IN -p tcp -m tcp -m multiport --dports 80,443 -m state --state NEW -m hashlimit - hashlimit -upto 4 / detik --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 -sudahlah!  --connlimit-above 16 -j TERIMA $ IPT -A TCP_IN -p tcp -m tcp -m multiport! 

Dengan konfigurasi sebelumnya, VPS kita seharusnya diamankan secara wajar, tetapi jika kita ingin, kita dapat mengamankannya sedikit lebih banyak, untuk itu kita dapat menggunakan beberapa aturan yang lebih canggih.

Tidak semua VPS mengizinkan instalasi modul tambahan untuk netfilter, tetapi yang sangat berguna adalah pSD, yang memungkinkan Anda menghindari pemindaian port. Sayangnya, modul ini tidak terintegrasi ke dalam netfilter secara default, jadi perlu untuk menginstal paket tertentu dan kemudian membangun modul:

aptitude -RvW install iptables-dev xtables-addons-source module-assistant module-assistant --verbose --text-mode auto-install xtables-addons-source

Setelah hal di atas selesai, kita dapat menambahkan aturan seperti ini:

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- awalan IN_PORTSCAN

Aturan sebelumnya pada dasarnya berarti bahwa kita akan membuat penghitung yang akan bertambah 3 setiap kali upaya dilakukan untuk mengakses port yang lebih rendah dari 1024 dan 1 setiap kali upaya dilakukan untuk mengakses port yang lebih tinggi dari 1023, dan ketika penghitung ini mencapai 15 dalam waktu kurang dari 20 detik, paket akan didaftarkan oleh ulog sebagai upaya portscan. Paket-paket tersebut masih bisa dibuang sekaligus, tetapi dalam hal ini kami bermaksud untuk menggunakan fail2ban, yang akan kami konfigurasikan nanti.

Setelah aturan dibuat, kami harus mengambil tindakan pencegahan tertentu untuk membuatnya tetap ada, jika tidak, kami akan kehilangan aturan tersebut saat server di-restart. Ada beberapa cara untuk melakukannya; Dalam tutorial ini kami akan menggunakan paket iptables-persistent yang kami instal di awal, yang menyimpan aturan di dalamnya /etc/iptables/rules.v4 y /etc/iptables/rules.v6 untuk ipv6.

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

Faktanya, meskipun penggunaan ipv6 di Kuba belum tersebar luas, kami dapat membuat beberapa aturan dasar:

IPT = $ (yang ip6tables) $ IPT -P INPUT DROP $ IPT -P MAJU DROP $ IPT -P OUTPUT MENERIMA $ IPT -A INPUT -i lo -j ACCEPT $ IPT -A INPUT! -i lo -m state --state ESTABLISHED, RELATED -j ACCEPT unset IPT

Aturan ini juga bisa dibuat tetap:

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

Terakhir, untuk keamanan yang lebih baik, kami membersihkan registri firewall dan memulai ulang layanan:

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

Nginx

Kami akan menggunakan Nginx sebagai server web, karena VPS cenderung memiliki jumlah RAM yang lebih sedikit dibandingkan dengan server yang sebenarnya, jadi secara umum lebih mudah untuk memiliki sesuatu yang lebih ringan dari Apache.

Sebelum mengonfigurasi Nginx, kami akan membuat sertifikat (tanpa kata sandi) untuk digunakan melalui 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 - keluar cert.key openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.crt

Setelah ini selesai, kami akan membuat file kata sandi untuk pengguna "elusuario":

htpasswd -c .htpasswd pengguna

Selanjutnya, kami akan memodifikasi file / etc / nginx / sites-available / default untuk mengatur preferensi situs default. Ini bisa terlihat seperti ini:

server {server_name localhost; indeks index.html index.htm default.html default.htm; root / var / www; location / {# setel urutan verifikasi dan halaman yang akan dimuat, jika URI tidak ditemukan try_files $ uri $ uri / /index.html; }} server {dengarkan 127.0.0.1:443; server_name localhost; indeks index.html index.htm default.html default.htm; root / var / www; ssl aktif; ssl_certificate cert.crt; ssl_certificate_key cert.key; ssl_session_timeout 5m; # Aktifkan HTTPS hanya melalui TLS (lebih aman daripada SSL) ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # berikan preferensi pada sandi [HIGH] kekuatan tinggi, # pindahkan sandi [MEDIUM] kekuatan sedang ke akhir daftar, # nonaktifkan sandi [RENDAH] berkekuatan rendah (40 dan 56 bit) # nonaktifkan sandi dengan algoritme ekspor [ EXP] # nonaktifkan cipher null [eNULL], tanpa otentikasi [aNULL], SSL (versi 2 dan 3) dan DSS (hanya bolehkan kunci hingga 1024 bit) ssl_ciphers HIGH: + MEDIUM :! LOW :! EXP:! ANULL :! eNULL :! SSLv3 :! SSLv2 :! DSS; # Lebih suka metode enkripsi server (secara default klien digunakan) ssl_prefer_server_ciphers aktif; lokasi / {# aktifkan otentikasi auth_basic "Login"; auth_basic_user_file /etc/nginx/.htpasswd; # atur urutan verifikasi dan kode halaman yang akan dimuat, jika URI try_files $ uri $ uri / = 404 tidak ditemukan; # memungkinkan pembuatan indeks untuk pengguna terotentikasi autoindex on; autoindex_exact_size off; autoindex_localtime on; }}

Kami memeriksa bahwa konfigurasi sudah benar:

nginx-t

Akhirnya, kami memulai ulang layanan:

layanan nginx restart

Fail2Ban

Sebelum mulai mengkonfigurasi Fail2Ban, untuk keamanan yang lebih baik, kami menghentikan layanan dan membersihkan registri:

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

Selanjutnya, kami membuat file konfigurasi /etc/fail2ban/jail.local dengan konten khusus berikut:

# File konfigurasi kustom /etc/fail2ban/jail.local # [DEFAULT] findtime = 43200; 12 jam bantime = 86400; Maksimal 1 hari = 3; larangan akan berlaku setelah upaya keempat [ssh] enabled = false [nginx-auth] enabled = true filter = nginx-auth action = iptables-multiport [name = NoAuthFailures, port = "http, https"] logpath = / var / log / nginx * / * error * .log [nginx-badbots] enabled = true filter = apache-badbots action = iptables-multiport [name = BadBots, port = "http, https"] logpath = / var / log / nginx * /*access*.log bantime = 4; 604800 minggu maxretry = 1 [nginx-login] aktif = true filter = nginx-login action = iptables-multiport [name = NoLoginFailures, port = "http, https"] logpath = / var / log / nginx * / * access *. log bantime = 0; 1800 menit [nginx-noscript] diaktifkan = true action = iptables-multiport [name = NoScript, port = "http, https"] filter = nginx-noscript logpath = /var/log/nginx*/*access*.log maxretry = 30 [nginx-proxy] enabled = true action = iptables-multiport [name = NoProxy, port = "http, https"] filter = nginx-proxy logpath = /var/log/nginx*/*access*.log bantime = 0 ; 604800 minggu maxretry = 1 [firewall] aktif = tindakan nyata = iptables-multiport [name = Firewall] filter = firewall logpath = /var/log/firewall.log maxretry = 0

Setelah ini selesai, kami membuat di direktori /etc/fail2ban/filters.d/ file-file berikut:

# /etc/fail2ban/filter.d/nginx-auth.conf # Auth filter # Memblokir IP yang gagal mengotentikasi menggunakan otentikasi dasar # [Definisi] failregex = tidak ada pengguna / kata sandi yang disediakan untuk otentikasi dasar. * klien: user. * tidak ditemukan di. * client: user. * password mismatch. * client: ignoreregex =
# /etc/fail2ban/filter.d/nginx-login.conf # Filter login # Memblokir IP yang gagal mengotentikasi menggunakan halaman login aplikasi web # Pindai log akses untuk HTTP 200 + POST / sesi => login gagal # [Definisi ] failregex = ^ -. * POST / sesi HTTP / 1 \ .. "200 ignoreregex =
# /etc/fail2ban/filter.d/nginx-noscript.conf # Filter noscript # Blokir IP yang mencoba menjalankan skrip seperti .php, .pl, .exe, dan skrip lucu lainnya. # Cocok misalnya # 192.168.1.1 - - "GET /something.php # [Definisi] failregex = ^ -. * DAPATKAN. * (\. Php | \ .asp | \ .exe | \ .pl | \ .cgi | \ scgi) ignoreregex =
# /etc/fail2ban/filter.d/proxy.conf # Filter proxy # Blokir IP yang mencoba menggunakan server sebagai proxy. # Cocok misalnya # 192.168.1.1 - - "DAPATKAN http://www.something.com/ # [Definisi] failregex = ^ -. * DAPATKAN http. * Ignoreregex =
# /etc/fail2ban/filter.d/firewall.conf # Filter firewall # [Definisi] failregex = ^. * IN_ (INVALID | PORTSCAN | UDP | TCP |). * SRC = . * $ ignoreregex =

Akhirnya, kami memulai layanan dan memuat konfigurasi:

fail2ban-service -b fail2ban-client reload

Verifikasi

Sebagai langkah terakhir, kita dapat melihat record dengan ekor -f o multitail –ikuti semua. Faktanya, aplikasi yang terakhir menawarkan keuntungan yang memungkinkan Anda untuk melihat banyak file secara bersamaan dan menyediakan penyorotan sintaks dasar.

Jika akun email tidak dikonfigurasi di VPS, disarankan untuk menonaktifkan pesan peringatan yang muncul saat memulai multitail, untuk itu kami akan menjalankan perintah berikut:

echo "check_mail: 0"> ~ / .multitailrc

Sebenarnya, kita bisa membuat alias (4) untuk melihat log secara cepat dengan perintah singkat, misalnya, "flog":

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

1) Ini adalah nilai fiktif.
2) Mengaktifkan layanan lain mudah dilakukan setelah Anda memahami cara kerjanya.
3) Untuk lebih jelasnya, jalankan man sudoers.
4) Secara opsional dapat ditambahkan ke file ~ / .bash_aliases


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   MSX dijo

    Ada beberapa hal yang menarik, +1

  2.   yukiteru dijo

    @Hugo baris ini dalam konfigurasi:

    ssl_protocols SSLv3 TLSv1;

    Saya akan menghapus SSLv3 darinya karena protokol itu tidak lagi aman, bahkan di Debian Jessie, banyak layanan telah dikonfigurasi untuk menghindari penggunaan protokol itu karena alasan itu.

    Informasi tentang topik di sini:

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

    1.    Hugo dijo

      Idenya bukanlah untuk menawarkan layanan utama melalui HTTPS, tetapi untuk menjelaskan bagaimana menggunakan port 443 untuk SSH tanpa kehilangan kemungkinan menggunakannya untuk HTTPS jika perlu, tapi terima kasih atas peringatannya.

      Bagaimanapun saya telah memperbarui artikel untuk sedikit memodifikasi konfigurasi nginx dan secara tidak sengaja menyertakan beberapa komentar untuk memperjelas hal-hal sedikit lebih banyak dengan mekanisme enkripsi ini, dan untuk memperbaiki beberapa kesalahan kecil.

  3.   Daniel PZ dijo

    Terima kasih banyak atas tutorial hebat ini, sekarang saya akan mempraktikkannya! :D, Pertahankan DesdeLinux, mereka selalu mengejutkan saya, Salam dari Peru.

  4.   andekuera dijo

    Terima kasih banyak untuk berbagi.

  5.   fernando dijo

    panduan yang sangat bagus dan itu berasal dari mutiara sekarang yang saya mulai di blog ini tetapi terlebih lagi sekarang saya akan memasang vps pertama saya dan masih dengan banyak masalah tetapi artikel ini telah membawa saya keluar dari banyak keraguan, terima kasih dan salam