Protokol SSH, aplikasi utama dan perbedaan dari Telnet. Protokol Jaringan SSH Aman, Dasar

SSH (Cangkang aman- Cangkang yang dilindungi) adalah protokol jaringan yang menyediakan otentikasi yang aman, koneksi dan transfer data yang aman antara host jaringan, dengan mengenkripsi lalu lintas yang melewatinya, dengan kemungkinan kompresi data. Fitur fungsional penting lainnya adalah kemampuan untuk membuat terowongan terenkripsi yang aman untuk transmisi aman melalui lingkungan yang tidak aman (misalnya, Internet), protokol jaringan lain, serta dengan kemampuan untuk mengompresi lalu lintas. Selain itu, protokol SSH berfungsi baik dengan penerusan (penerusan, penerusan) port satu mesin ke port lain, termasuk penerusan klien jarak jauh Jendela X... Sekarang protokol SSH, adalah standar, dan digunakan secara luas, misalnya, untuk sistem server, yaitu, menjalankan berbagai perintah dan manipulasi di shell server melalui koneksi aman, menyalin file melalui jaringan, seperti cadangan data.

Protokol SSH, ada dalam dua versi, versi komersial yang dikembangkan oleh SSH inc, dan sumber terbuka gratis, BukaSSH yang terutama digunakan pada sebagian besar platform server. Penerapan BukaSSH, tersedia di semua sistem operasi keluarga Unix, dan di sebagian besar dari mereka, SSH server dan SSH klien adalah utilitas standar. Semua yang tertulis di bawah ini akan menyangkut BukaSSH dan sistem operasi FreeBSD. Ada dua versi protokol SSH tidak kompatibel satu sama lain. Implementasi pertama dari protokol SSH, SSH - 1, dikembangkan pada tahun 1995. Versi kedua, SSH - 2, dirilis pada tahun 1996. Pada tahun 2006, protokol SSH diadopsi oleh IETF sebagai standar Internet. Sekarang protokol versi kedua yang banyak digunakan. SSH karena, pertama, protokol SSH versi 1, menderita kerentanan serius, kedua, versi 2 menggunakan algoritma enkripsi yang lebih kuat, selain itu, mendukung kemampuan untuk mendeteksi korupsi data yang disengaja. Algoritma enkripsi:

  • Protokol SSH versi 1 DES, 3DES, blowfish
  • Protokol SSH versi 2 AES-128, AES-192, AES-256, blowfish, CAST-128, ArcFour
Fungsi pencernaan:
  • Protokol SSH versi 1 tidak
  • Protokol SSH versi 2 HMAC-MD5, HMAC-SHA-1, HMAC-RIPEMD
Seperti yang Anda lihat, perbedaannya sangat besar, jadi protokolnya SSH versi 1 , sekarang secara umum, sangat tidak disarankan untuk digunakan di mana saja.

Metode Otentikasi SSH, Paket Perangkat Lunak OpenSSH

Keamanan protokol SSH disediakan oleh solusi perangkat lunak berikut:
  • Enkripsi semua lalu lintas yang melewati SSH koneksi yang dilakukan sesuai dengan salah satu algoritma yang mungkin dipilih selama negosiasi para pihak dalam sesi komunikasi. Mengenkripsi lalu lintas koneksi mencegahnya dicegat dan digunakan untuk tujuan jahat. Dengan memilih algoritme enkripsi yang berbeda, sistem menjadi sangat fleksibel, memungkinkan, misalnya, untuk tidak menggunakan algoritme yang ditemukan kerentanan atau potensi ancaman keamanan, atau hanya menggunakan algoritme yang didukung oleh masing-masing pihak;
  • Autentikasi SSH server selalu dilakukan, dengan koneksi apa pun, yang tidak memungkinkan penggantian lalu lintas atau server itu sendiri;
  • Autentikasi SSH klien mungkin terjadi cara yang berbeda, yang, di satu sisi, membuat proses otentikasi itu sendiri lebih aman, di sisi lain, membuat sistem lebih fleksibel, membuatnya lebih mudah untuk bekerja dengannya;
  • Kontrol integritas paket jaringan, memungkinkan untuk melacak perubahan ilegal dalam lalu lintas koneksi, jika fakta ini terdeteksi, koneksi segera dihentikan;
  • Parameter otentikasi sementara mencegah penggunaan data koneksi yang dicegat dan, setelah beberapa waktu, didekripsi.
Protokol SSH mendukung cukup beragam metode otentikasi dan otorisasi untuk klien jarak jauh di SSH servernya, berikut beberapa diantaranya:
  • Berbasis GSSAPI autentikasi
  • Berbasis tuan rumah autentikasi;
  • Otentikasi pengguna menggunakan kunci publik;
  • Otentikasi tantangan-tanggapan ( tantangan-tanggapan);
  • Dan akhirnya, otentikasi pengguna biasa, menggunakan kata sandi;
Metode otentikasi digunakan dalam urutan ini, namun protokol versi 2 memiliki opsi, Otentikasi Pilihan, memungkinkan Anda untuk mengubah urutan default. Selain itu, SSH mendukung metode tambahan otentikasi pengguna, tergantung pada sistem operasi tertentu (misalnya, bsd_auth atau PAM) Secara umum, otentikasi pengguna didasarkan pada kunci publik. Klien mencoba menginstal jarak jauh SSH koneksi, mengenkripsi data dengan kunci server publik yang diketahuinya, yang dia terima saat pertama kali dia terhubung ke server, dan mengirimkannya ke SSH server. Server, pada gilirannya, mendekripsi data, yang hanya diketahui olehnya, dengan kunci rahasia, dan mengirimkannya ke klien. Dalam skema seperti itu, klien dapat yakin bahwa server adalah yang diklaimnya. Jadi Anda tidak perlu bergantung pada DNS dan perutean bahkan jika penyerang berhasil memalsukan entri DNS atau mengalihkan paket ke host Anda sendiri, otentikasi akan gagal, karena host asing tidak memiliki kunci yang diperlukan untuk ini. Karena SSH ini adalah protokol jaringan lengkap, tentu saja, ini adalah serangkaian program tertentu yang diperlukan untuk operasinya, baik fungsionalitas dasar maupun berbagai peluang tambahan... Karena kita berbicara tentang sistem operasi FreeBSD (dalam versi lain dari Unix, set mungkin sedikit berbeda), komponen utama SSH adalah:
  • sshd sebenarnya SSH server, program daemon;
  • ssh- program klien yang telah menjadi pengganti masuk dan telnet;
  • scp- program untuk penyalinan jarak jauh melalui protokol SSH, pengganti untuk rcp;
  • sftp- klien ftp aman;
  • sftp-server- subsistem yang menyediakan transfer file melalui protokol SSH;
  • ssh-keygen- generator kunci
  • ssh-keyscan- "pengumpul" kunci host publik;
  • ssh-agent- agen otentikasi untuk menyimpan kunci pribadi;
  • ssh-tambahkan- program kecil untuk menambahkan kunci ke ssh-agent;
Seperti disebutkan di atas, sshd, ini adalah program yang bertanggung jawab atas fungsionalitas server SSH, ini dimulai saat sistem operasi melakukan booting. Untuk menggunakan protokol SSH tepat setelah menginstal FreeBSD, Anda harus mengaktifkan daemon untuk memulai sshd dalam program instalasi Instalasi sistem... Meskipun ini dapat dilakukan nanti, asalkan Anda memiliki akses ke terminal server. Izinkan daemon untuk memulai sshd, Anda dapat melalui skrip awal /etc/rc.conf, dengan menulis baris berikut: Secara alami, Anda tidak dapat melakukan ini, tetapi cukup jalankan daemon dari konsol / usr / sbin / sshd, tetapi pada reboot berikutnya, itu tidak akan dimulai dengan sendirinya, masing-masing, akses ke server menggunakan protokol SSH Anda tidak akan memilikinya, tetapi jika server terletak di pusat data penyedia hosting, maka Anda tidak akan dapat mengelolanya dari jarak jauh. Untuk alasan ini, jika Anda ingin mengelola server dari jarak jauh, sshd disertakan selama fase instalasi.

SSH memungkinkan pilihan algoritma enkripsi yang berbeda. Klien SSH dan server SSH tersedia untuk sebagian besar sistem operasi jaringan.

SSH
Nama Cangkang aman
Tingkat (model OSI) Terapan
Keluarga TCP / IP
Pelabuhan / ID 22 / TCP
Tujuan protokol Akses jarak jauh
Spesifikasi RFC 4251
Implementasi utama (klien)
  1. Otentikasi kata sandi adalah yang paling umum. Dengan setiap koneksi, seperti https, kunci rahasia bersama dibuat untuk mengenkripsi lalu lintas.
  2. Untuk otentikasi pasangan kunci, pasangan kunci publik dan pribadi telah dibuat sebelumnya untuk pengguna tertentu. Mesin yang ingin Anda hubungkan disimpan kunci pribadi dan buka di mesin jarak jauh. File-file ini tidak ditransfer selama otentikasi, sistem hanya memverifikasi bahwa pemilik kunci publik juga memiliki kunci pribadi. Dengan pendekatan ini, sebagai aturan, logon otomatis dikonfigurasi atas nama pengguna tertentu di OS.
  3. Otentikasi dengan alamat ip tidak aman; fitur ini paling sering dinonaktifkan.

Algoritma Diffie-Hellman (DH) digunakan untuk membuat rahasia bersama (kunci sesi). Enkripsi simetris, algoritma AES, Blowfish atau 3DES digunakan untuk mengenkripsi data yang dikirimkan. Integritas transfer data diperiksa menggunakan CRC32 di SSH1 atau HMAC -SHA1 / HMAC -MD5 di SSH2.

Data terenkripsi dapat dikompresi menggunakan algoritma LempelZiv (LZ77), yang memberikan tingkat kompresi yang sama dengan pengarsip ZIP. Kompresi SSH diaktifkan hanya atas permintaan klien, dan jarang digunakan dalam praktik.

Standar dan implementasi perangkat lunak

Versi pertama dari protokol, SSH-1, dikembangkan pada tahun 1995 oleh peneliti Tatu Ulönen dari Universitas Teknologi Helsinki (Finlandia). SSH-1 ditulis untuk memberikan lebih banyak privasi daripada protokol rlogin, telnet, dan rsh. Pada tahun 1996, versi protokol yang lebih aman, SSH-2, dikembangkan yang tidak kompatibel dengan SSH-1. Protokol ini semakin populer, dan pada tahun 2000 memiliki sekitar dua juta pengguna. Saat ini, istilah "SSH" biasanya berarti persis SSH-2, karena versi pertama dari protokol, karena kekurangan yang signifikan, sekarang praktis tidak digunakan.

Ada modul untuk menggunakan SSH di Python seperti python-paramiko dan python-twisted-conch.

Terowongan SSH

Terowongan SSH adalah terowongan yang dibuat melalui koneksi SSH dan digunakan untuk mengenkripsi data terowongan. Ini digunakan untuk mengamankan transmisi data di Internet (IPsec memiliki tujuan yang sama). Saat dikirim melalui terowongan SSH, lalu lintas tidak terenkripsi dari protokol apa pun dienkripsi di satu ujung koneksi SSH dan didekripsi di ujung lainnya.

Implementasi praktis dapat dilakukan dengan beberapa cara:

  • Membuat proxy Socks untuk aplikasi yang tidak dapat bekerja melalui terowongan SSH, tetapi dapat bekerja melalui proxy Socks
  • Menggunakan aplikasi yang dapat bekerja melalui terowongan SSH.
  • Pembuatan terowongan VPN, cocok untuk hampir semua aplikasi.
  • Jika aplikasi bekerja dengan satu server tertentu, Anda dapat mengonfigurasi klien SSH sehingga memungkinkan koneksi TCP melalui terowongan SSH yang datang ke port TCP tertentu dari mesin tempat klien SSH berjalan. Misalnya, klien Jabber terhubung secara default pada port 443. Kemudian, untuk menyiapkan koneksi ke server Jabber melalui terowongan SSH, klien SSH dikonfigurasikan untuk mengalihkan koneksi dari port mana pun di mesin lokal (misalnya, dari port 4430 ) ke server jauh (misalnya, jabber .example.com dan port 443):

$ssh -L 4430: jabber.example.com: 443 somehost

V kasus ini Klien Jabber dikonfigurasi untuk terhubung ke port 4430 dari server localhost (jika klien ssh berjalan pada mesin yang sama dengan klien Jabber).

Untuk membuat terowongan ssh, Anda memerlukan mesin dengan server ssh yang berjalan dan akses ke jabber.example.com. Konfigurasi ini dapat digunakan jika akses ke jabber.example.com dari mesin lokal ditutup oleh firewall, tetapi ada akses ke beberapa server ssh yang tidak memiliki batasan akses Internet.

SSH (Secure Shell) adalah protokol jaringan akses jarak jauh yang menggunakan enkripsi dan kompresi untuk data yang dikirimkan. Sederhananya, ini adalah alat yang sangat berguna dan kuat yang memungkinkan Anda untuk mengautentikasi dalam sistem dan sepenuhnya bekerja atas nama pengguna lokal berada beberapa kilometer jauhnya dari mesin yang sedang berjalan. Juga, tidak seperti telnet dan rsh - SSH mengenkripsi semua lalu lintas, sehingga semua informasi yang dikirimkan tetap rahasia.

Jadi, kita sudah menginstal ssh dan ssh-daemon ditambahkan ke startup saat startup sistem. Anda dapat mengontrolnya dengan perintah:

layanan ssh berhenti | mulai | mulai ulang

Di Ubuntu, atau:

/etc/init.d/ssh (mulai | hentikan | muat ulang | muat ulang paksa | mulai ulang | status)

Di Debian, atau:

systemctl start | stop | restart sshd.service

Di ArchLinux (setelah setiap pengeditan konfigurasi, Anda harus memulai ulang). Kit ini mencakup klien dan server.

Mari kita coba beraksi! Pertama, buat folder ~ / .ssh

mkdir ~ / .ssh

Buat kunci untuk pengguna tertentu server dengan perintah:

ssh-keygen (sebagai pengguna biasa).

Saat membuat, Anda dapat mengatur kata sandi untuk kunci (disarankan untuk mengatur yang panjang - bahkan setelah mendapatkan kunci tetapi tidak mengetahui kata sandi dari kunci, penyerang tidak akan dapat masuk), atau Anda dapat lewati hanya dengan menekan "Enter" - dalam hal ini, kata sandi tidak akan pernah ditanyakan. Kunci publik dan pribadi yang sama muncul di folder ~ / .ssh.

Temukan mesin lain (bahkan ponsel pintar pun bisa melakukannya - Android memiliki beberapa klien SSH hebat seperti ConnectBot atau JuiceSSH), instal ssh di dalamnya dan sambungkan ke server dengan perintah:

ssh [dilindungi email]

Jika semuanya dilakukan dengan benar, Anda akan dimintai kata sandi pengguna, dan setelah masuk, Anda akan menemukan diri Anda berada di sistem Anda dengan tampilan dari baris perintah.

Omong-omong, untuk Windows, ada juga server dan klien ssh.

Setelah menikmati hasil kerja keras kita, mari kita lanjutkan ke bagian yang lebih membosankan lagi - menyiapkan klien / server.

Konfigurasi sisi klien ada di / etc / ssh / ssh_config, dan server satu - / etc / ssh / sshd_config... Paling panduan lengkap untuk konfigurasi, mungkin ada halaman di man - man ssh dan man sshd_config, jadi kami sarankan Anda membacanya. Dan dalam artikel ini kami akan mempertimbangkan hal-hal yang paling penting.

Kustomisasi

Port ssh standar adalah 22. Port ssh dapat diubah menjadi port non-standar (membuatnya lebih sulit untuk diretas karena keamanan melalui ketidakjelasan, atau untuk menarik perhatian penyerang potensial :) - untuk melakukan ini, batalkan komentar pada baris:

#Port 22

Dan tambahkan apa pun yang Anda inginkan hingga 65535 (pastikan port tidak bertentangan dengan layanan lain dengan perintah #netstat -tupln | grep DENGARKAN).

Sekarang, saat menghubungkan ke server, klien harus menulis dengan kunci:

ssh -p [port]:

Secara default, akses root diperbolehkan. Sangat disarankan untuk membatasinya (dan sebaliknya membatasi hak pengguna lokal dengan benar menggunakan sudo). Untuk melakukan ini, cari baris "PermitRootLogin" dan ubah nilainya menjadi "tidak". Anda juga dapat mengubahnya menjadi "tanpa kata sandi" - dalam hal ini, login di bawah root hanya akan diizinkan dari bawah mesin dengan kunci tepercaya.

Anda dapat menonaktifkan otentikasi kata sandi dan hanya bekerja dengan kunci - temukan baris: "PasswordAuthentication" dan ubah nilainya menjadi "tidak". Untuk apa? Jika seseorang benar-benar ingin mendapatkan akses ke sistem Anda, maka dia dapat memaksa kata sandi saat mencoba untuk mengotorisasi, atau mendengarkan dan mendekripsi koneksi Anda. Jika Anda menonaktifkan otentikasi kata sandi dan menambahkan ke ~ / .ssh / Authorized_keys di server kunci publik Anda, misalnya, laptop kerja, maka, seperti yang kami ingat, kami akan segera diizinkan masuk ke server. Tetapi bagaimana jika Anda bekerja di mesin orang lain dan Anda sangat membutuhkan akses ke server ssh, tetapi, seperti yang diharapkan, tidak mengizinkan kami masuk? Maka Anda tidak dapat menonaktifkan otentikasi kata sandi, tetapi gunakan utilitas fail2ban. Instal saja dari repositori Anda, setelah itu akan menerapkan pengaturan default dan, minimal, melindungi saluran ssh Anda dari serangan brute force. Lebih lanjut tentang fail2ban - http://putty.org.ru/articles/fail2ban-ssh.html.

Jika kunci untuk meluncurkan rudal nuklir disimpan di server Anda, Anda dapat melakukan sesuatu seperti ini:

PermitRootLogin no - login di bawah root dilarang.

PasswordAuthentication no - login tanpa password

Mari buat kunci panjang pada mesin jarak jauh (-t encryption_type, -b bit length):

ssh-keygen -t rsa -b 4096

Dengan frasa sandi yang sama rumitnya (pulihkan password yang terlupakan, omong-omong, Anda tidak bisa. Anda dapat mengubahnya dengan perintah "ssh-keygen -p", tetapi Anda tetap akan diminta untuk yang lama). Mari kita transfer kunci publik dari mesin lokal jarak jauh ke ~ / .ssh / otor_keys di server, dan voila - sekarang akses dapat diperoleh dari satu mesin, menggunakan frasa sandi dari kunci pribadi. SSH memungkinkan Anda untuk mengatur banyak konfigurasi keamanan dan memiliki banyak pengaturan khusus untuk ini - baca tentang mereka di man.

Kedua opsi sshd_config memiliki tujuan yang sama:

MasukGraceTime- mengatur waktu setelah koneksi akan terputus jika otentikasi tidak terjadi.

MaxAuthTries- menetapkan jumlah upaya yang salah untuk memasukkan login, setelah mencapai koneksi yang akan dihentikan.

Sesi Maks- jumlah sesi simultan (jika server adalah komputer rumah Anda yang akan Anda hubungkan dari universitas atau dari kantor, maka masuk akal untuk membatasi jumlah sesi menjadi satu - login yang ditolak, dalam hal ini, akan menjadi alasan untuk meningkatkan paranoia, menghasilkan kunci baru dan mengubah kata sandi). Namun, jika Anda memperhatikan, Anda mungkin telah memperhatikan bahwa baris "Login Terakhir" ditampilkan pada setiap login ke server. Selain itu, Anda dapat menambahkan pesan ucapan Anda sendiri - temukan baris "Banner" dan alih-alih tidak ada, atur jalur ke file dengan teks yang akan dibaca dan ditampilkan saat login.

Antara lain, Anda hanya dapat mengizinkan pengguna tertentu untuk masuk, atau mengizinkan semua orang kecuali pengguna tertentu:

Izinkan Pengguna pengguna1- hanya izinkan pengguna1 untuk masuk.

Tolak pengguna Pengguna1- izinkan semua orang kecuali pengguna1.

Dan parameter serupa untuk akses kelompok tertentu- AllowGroups dan DenyGroups.

Anda juga dapat SSH sesi X11. Untuk melakukan ini, cari baris "ForwardX11" dan ubah nilainya menjadi "yes".

Temukan baris serupa di konfigurasi klien - / etc / ssh / ssh_config, dan ubah juga menjadi "yes".

Sekarang Anda perlu terhubung ke server melalui ssh dengan argumen -X:

ssh -X [dilindungi email]>

Anda dapat segera meluncurkan aplikasi saat terhubung:

ssh -X [dilindungi email]"aplikasi"

Beginilah tampilan GIMP yang sedang berjalan dalam sesi ssh:

Atau Anda bisa mendapatkan output dari webcam laptop dari pengguna yang tidak curiga :)

Perhitungan dilakukan langsung di server, dan output dikirim ke mesin klien (yaitu, bahkan jika server itu sendiri tidak memiliki X11, aplikasi grafis dapat dirender pada mesin jarak jauh Anda). Skema ini bekerja agak lambat (jangan lupa bahwa semua lalu lintas dienkripsi secara dinamis) - tetapi fungsi ini sangat berguna.

Anda juga dapat menyalin file melalui sesi SSH - ada utilitas "scp" sederhana untuk ini. Anda dapat mentransfer file secara langsung dalam sesi seperti dari server ke klien:

scp [dilindungi email]: / path / ke / file / di / server / di mana / simpan / di / lokal / mesin

Jadi dari klien ke server:

scp path / ke / file / klien [dilindungi email]: / jalur / di / server

Ini cukup nyaman jika Anda perlu menyalin buku teks atau foto, tetapi bagaimana jika Anda harus bekerja dengan banyak file? Ada hal yang sangat nyaman untuk ini - sshfs (tersedia untuk instalasi di repositori sebagian besar sistem * nix).

Cukup atur jalur seperti scp:

sshfs [dilindungi email]: / rumah / pengguna / mnt /

Dan folder / home / pengguna server akan muncul di titik pemasangan / mnt dari mesin lokal!

Unmount dilakukan melalui umount.

Dan akhirnya, mari kita bicara tentang satu fitur yang kurang diketahui. Jika Anda membuat file /.ssh/config dan isi seperti ini:

Tuan rumah [nama]

Nama host

Pengguna [nama pengguna server]

pilihan yang diinginkan

Suka

MajuX11 ya

Pelabuhan 30.000

Kemudian kita bisa login dengan:

ssh [nama]

ssh -X -p 30000 [dilindungi email]

Dan semua opsi akan diambil secara otomatis. Jadi, dengan seringnya otentikasi pada server tertentu, Anda akan menyederhanakan proses ini dalam beberapa saat.

Yah, kami membahas semua (dan bahkan lebih) yang perlu Anda ketahui tentang SSH untuk penggunaan sehari-hari - kami belajar cara menggunakan otentikasi kunci, melindungi server dari serangan brute-force dan, secara umum, menambal sebagian besar lubang potensial. Sebenarnya, SSH dapat melakukan banyak hal lain - misalnya, tunneling dan port forwarding melalui sesi ssh, tetapi kecil kemungkinan Anda, sebagai pengguna biasa, akan pernah menggunakan ini. Sumber daya tambahan

pengantar

Pada edisi sebelumnya, pada artikel tentang keamanan server Internet, masalah yang terkait dengan pilihan platform dan sistem operasi server Internet, keamanan server secara umum, dibahas tentang bekerja dengan pengguna, serta tentang bekerja dan pengaturan firewall... Biarkan saya mengingatkan Anda secara singkat bahwa kami sedang mempertimbangkan untuk mengelola kantor kecil atau jaringan rumah ketika Anda memiliki satu atau dua komputer khusus. Dalam kasus pertama, ketika satu komputer adalah firewall ditambah server email, server Web, dan mungkin server ftp. Sederhananya, komputer khusus digunakan sebagai semacam sumber daya bersama. Dalam kasus kedua, yang menyiratkan jaringan besar, satu komputer digunakan sebagai gateway ditambah firewall, dan yang lainnya digunakan sebagai server surat, server web, dll. Pada prinsipnya, metode kedua lebih disukai, karena Anda secara fisik memisahkan gateway sebagai objek serangan pertama yang mungkin dilakukan oleh peretas dan dari server bersama jaringan. Bagaimanapun, di masa depan, Anda dapat mengabstraksi dari jumlah komputer khusus, mengingat bahwa meskipun ada dua, tidak masuk akal untuk memuatnya dengan tugas lain.

Semua yang berikut ini melanjutkan baris artikel sebelumnya, dengan asumsi bahwa mesin Linux digunakan sebagai server, dan pengguna akrab dengan Linux dan jaringan pada tingkat dasar. Ide untuk contoh-contoh ini dipinjam dari berbagai tutorial Linux. Jadi pertanyaan apa yang akan kita lihat kali ini? Pertama, aplikasi server yang ingin Anda instal di server. Kedua, serangan jaringan (termasuk jenis virus di Linux dan Trojan horse) dan metode penanganannya. Mengapa pertanyaan-pertanyaan ini digabungkan dalam satu artikel? Faktanya adalah biasanya peretasan terjadi baik karena kelalaian administrator, atau karena celah dalam perlindungan aplikasi server. Klien, seperti yang tersirat dari kata itu sendiri, tidak mengontrol sumber daya sistem, jadi jelas bahwa serverlah yang dapat menjadi sasaran serangan.

Perlindungan aplikasi server

Siapapun yang akrab dengan UNIX menyadari bahwa hampir semua program jaringan dapat digunakan baik sebagai klien maupun sebagai server. Dalam kasus pertama, Anda menggunakan layanan, yang kedua, Anda menyediakannya. Jelas bahwa kedua bagian diperlukan dalam layanan jaringan. Pertanyaannya adalah program server seperti apa yang dibutuhkan pada server di jaringan Anda. Saat menginstal Linux, Anda tentu saja dapat memilih setidaknya semuanya, karena menginstal pada disk tidak berarti memulai. Tapi mana yang harus diaktifkan nanti? Ada resep sederhana yang saya sendiri selalu patuhi ketika bekerja dengan server - semakin sedikit server yang diaktifkan, semakin baik (lebih umum: semakin rumit suatu hal, semakin mudah untuk memecahkannya). Tidak peduli seberapa banyak Anda berbicara tentang keandalan UNIX, lubang ditemukan dan diperbaiki secara teratur di sini. Oleh karena itu, semakin sedikit program yang Anda jalankan, semakin sedikit Anda perlu memantaunya. Dalam kehidupan nyata, tentu saja, ini tidak boleh bermuara pada fakta bahwa Anda melarang pengguna dari segalanya. Ini aman, tentu saja, tetapi mengapa repot-repot dengan administrator? Namun, hal-hal yang tidak perlu, seperti wais, tentu tidak boleh diletakkan.

Telnet dan ssh

Sekarang mari kita lihat lebih dekat apa yang benar-benar dibutuhkan oleh pengguna internal dan eksternal. Kami membutuhkan telnet dan ssh (shell aman). Mungkin ini bukan akses yang sangat nyaman, tetapi perlu, setidaknya untuk administrator. Ini adalah program yang menyediakan akses dalam mode terminal, ketika jendela karakter 80x25 muncul di komputer Anda, sepenuhnya mencerminkan server yang dipanggil. Anda dapat menjalankan perintah apa pun dan menjalankan program yang tidak menggunakan grafik - secara umum, ini adalah terminal jarak jauh biasa. Perbedaan antara telnet dan ssh mengikuti dari namanya, tetapi mari kita jelaskan: telnet mentransmisikan informasi tanpa perlindungan, bahkan kata sandi dikirimkan melalui jaringan dalam teks yang jelas, dan ssh mengenkripsi semua informasi yang dikirimkan. Jika Anda ingin lebih atau kurang percaya diri dalam perlindungan, maka nonaktifkan penggunaan telnet atau jangan mulai sama sekali. Nah, jika Anda masih ingin menggunakannya, tentu saja Anda perlu menggunakan firewall. Perintah standar dapat sebagai berikut:

untuk ipfwadm-

Ipfwadm -Saya -a menerima -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 23 ipfwadm -Saya -a menerima -P tcp -S some.trusted.host -D 0.0.0.0/0 23 ipfwadm - Saya -a menyangkal -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 23

untuk ipchains -

ipchains -A input -p semua -j TERIMA -s 10.0.0.0/8 -d 0.0.0.0/0 23

Ipchains -A input -p semua -j TERIMA -s some.trusted.host -d 0.0.0.0/0 23 ipchains -A input -p semua -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 23

Anda juga dapat menggunakan file /etc/hosts.allow dan /etc/hosts.deny, yang masing-masing harus Anda tulis:

di file pertama -

In.telnetd: 10.0.0.0/255.0.0.0, some.trusted.host

di file kedua -

In.telnetd: SEMUA

Perhatikan bahwa meskipun aturan ini diaktifkan, program apa pun yang mendengarkan jaringan di suatu tempat di sepanjang jalur paket dengan kata sandi dapat mencegatnya.

Dua file penting lainnya dengan informasi terkait keamanan sistem adalah /etc/securetty dan /etc/shells. Yang pertama menentukan terminal dari mana pengguna root dapat masuk. Pada sebagian besar sistem, secara default, pengguna root hanya dapat masuk dari konsol. File kedua menentukan daftar pembungkus valid yang dapat dijalankan saat pengguna masuk. Contoh bagus yang saya ambil dari manual Linux menggunakan passwd sebagai shell. Ini memberi pengguna perubahan kata sandi yang mudah dan juga memastikan bahwa mereka tidak melakukan hal lain dalam mode terminal. Untuk melakukan ini, masukkan program passwd itu sendiri ke dalam file / etc / shells, yaitu, masukkan baris:

/usr/bin/passwd

dan di file /etc/passwd tulis tentang pengguna:

Nama pengguna: x: 1000: 1000 :: / home / nama pengguna: / usr / bin / passwd

Sekarang, ketika pengguna masuk ke jaringan, dia hanya dapat mengubah kata sandi. Output ke terminal terlihat seperti ini:

Mencoba 1.2.3.4 ... Terhubung ke localhost. Karakter pelarian adalah "^]". Red Hat Linux merilis 5.2 (Apollo) Kernel 2.2.5 pada login i586: tester Kata sandi: Mengubah kata sandi untuk tester (saat ini) Kata sandi UNIX: Kata sandi UNIX baru: Ketik ulang kata sandi UNIX baru: passwd: semua token otentikasi berhasil diperbarui Sambungan ditutup oleh orang asing tuan rumah.

Bahkan jika upaya untuk mengubah kata sandi tidak berhasil, itu akan terputus dari sistem. Anda juga harus memperhatikan output startup saat menghubungkan: telnet menulis nama dan versi sistem dengan jujur. Secara umum, ini nyaman, tetapi dalam kasus ini, Anda memberikan informasi peretas potensial yang dapat ia gunakan untuk tujuannya sendiri. Bagaimana Anda bisa menghindari ini? Saat pengguna login, telnet menampilkan file /etc/issue.net yang dibuat saat startup sistem. Itu dibuat oleh perintah di file rc.local:

# Ini akan menimpa / etc / masalah di setiap boot. Jadi, buat perubahan apa pun yang # ingin Anda buat pada / etc / masalah di sini atau Anda akan kehilangannya saat Anda reboot. echo ""> / etc / issue echo "$ R" >> / etc / issue echo "Kernel $ (uname -r) pada $ a $ (uname -m)" >> / etc / issue cp -f / etc / issue /etc/issue.net echo >> /etc/issue

Oleh karena itu, jika Anda tidak membebani sistem, Anda cukup mengedit file /etc/issue.net, jika tidak, edit rc.local itu sendiri. Bagaimanapun, telnet hanya direkomendasikan ketika benar-benar dibutuhkan dan tidak dapat digantikan oleh ssh.

Ssh mirip dengan telnet dari sudut pandang pengguna. Tidak seperti telnet, yang menggunakan port 23, ia menggunakan 22, tetapi perbedaan internal utama adalah bahwa semua lalu lintas dienkripsi. Dalam semua hal lain, mereka serupa. Untuk ssh, Anda dapat menggunakan aturan firewall yang sama (dengan nomor port diganti) dan pengaturan di file /etc/hosts.allow, /etc/hosts.deny. Fitur yang bagus adalah adanya file konfigurasinya sendiri /etc/sshd/sshd_config yang berisi baris konfigurasi berikut:

Port 22 # nomor port, yang bisa lebih dari 22 ListenAddress 0.0.0.0 # alamat apa yang dilayani daemon HostKey / etc / ssh / ssh_host_key # file kode klien RandomSeed / etc / ssh / ssh_random_seed # file nomor acak yang digunakan untuk menghasilkan kode ServerKeyBits 768 # panjang kode dalam bit LoginGraceTime 300 # waktu memasukkan nama dan kata sandi KeyRegenerationInterval 3600 # frekuensi regenerasi kode PermitRootLogin no # apakah pengguna root dapat masuk atau tidak melalui ssh IgnoreRhosts yes # Abaikan atau tidak informasi dari file pengguna rhosts StrictModes ya # mode ketat, memblokir kelemahan pengguna, misalnya, memasukkan kata sandi 5 kali # atau pers yang tidak disengaja masukkan QuietMode no # yes - jangan menulis file log sama sekali dan tidak - sebaliknya X11Forwarding no # mengirimkan informasi dari server X melalui saluran ssh FascistLogging no # tingkat kelengkapan file log PrintMotd yes # menampilkan beberapa frase hari ini KeepAlive ya # pertahankan komunikasi dengan menyediakan pemutusan standar SyslogFacility DAEMON # siapa yang bertanggung jawab untuk menghasilkan log RhostsAuthentication no # izinkan otentikasi pengguna melalui rhosts RhostsRSAAuthentication no # apakah verifikasi melalui rhosts atau /etc/hosts.equiv sudah cukup # secara default ini disetel to yes RSAAuthentication yes # hanya gunakan otentikasi RSA PasswordAuthentication yes # gunakan pengguna kata sandi normal mereka atau tidak PermitEmptyPasswords tidak # izinkan pengguna tanpa kata sandi atau tidak

Ada juga beberapa pengaturan yang berguna, khususnya:

AllowGroups, DenyGroups, AllowUsers, DenyUsers, AllowHosts, DenyHosts, waktu IdleTimeout (waktu setelah koneksi akan terputus jika tidak ada aktivitas).

Seperti yang Anda lihat di atas, secara umum ssh memiliki begitu banyak opsi sehingga Anda dapat mengontrol dengan tepat siapa yang dapat masuk dan bagaimana caranya. Tapi ini tentang server, dan pengguna jaringan harus menjalankan klien ssh. Tidak seperti telnet, yang tersedia di Windows, ssh tidak termasuk dalam distribusi standar. Linux tidak memiliki masalah ini - klien juga ada di sana. Penting untuk dicatat bahwa daemon ssh tersedia dalam versi pertama dan kedua. Tentu saja tidak menyenangkan bahwa tidak ada kompatibilitas ke belakang, tetapi saya yakin Anda, sebagai administrator, akan menyediakan klien yang dapat berkomunikasi dengan server kepada pengguna. Berikut adalah beberapa klien ssh untuk Windows:

  • FiSSH Gratis Segar. http://www.massconfusion.com/ssh/
  • Istilah Tera. http://hp.vector.co.jp/authors/VA002416/teraterm.html klien telnet. http://www.zip.com.au/~roca/ttssh.html - dll tambahan untuk dukungan ssh
  • Dempul. http://www.chiark.greenend.org.uk/~sgtatham/putty.html - hanya sekitar 200 ribu
  • Mindterm http://www.mindbright.se/mindterm/ - klien Java ssh
  • Aplikasi Java Telnet. http://www.mud.de/se/jta/ - ada dukungan ssh
  • CRT aman. http://www.vandyke.com/ - klien komersial

Akses terminal perlu disebutkan sehubungan dengan program seperti rlogin, rexec, rsh. Penggunaannya tidak memiliki perlindungan apa pun dan terkadang bahkan memungkinkan pengguna untuk berpindah dari mesin ke mesin tanpa memasukkan kata sandi. Meskipun ini nyaman, dari sudut pandang keamanan, itu sama sekali tidak baik untuk apa pun. Layanan ini biasanya dimulai secara default. Untuk membatalkannya, Anda perlu mengedit file /etc/inetd.conf dan memulai ulang daemon inetd. Secara umum, telnet dan ssh menghilangkan kemungkinan akses terminal ke sistem. Oleh karena itu, mari beralih ke aplikasi server lain yang bermanfaat bagi pengguna.

Surat, atau email

Apa yang dibutuhkan orang untuk memiliki surat, yang tanpanya komunikasi antar orang sering kali tidak dapat dibayangkan lagi? Cara yang cukup umum adalah menginstal server surat, membuat kotak surat untuk setiap pengguna di sana, dan mengonfigurasi daemon pop sehingga orang dapat mengambil surat ini. Tetapi agar server dapat menerima dan mengirim surat, perlu menginstal program surat seperti sendmail, postfix atau qmail di dalamnya, yang memproses surat pada mesin UNIX. Secara tradisional, sendmail telah digunakan untuk tujuan ini. Sekarang ini juga digunakan pada sebagian besar mesin, tetapi dua program lain yang disebutkan adalah pengganti yang baik dan bahkan lebih baik. Seperti biasa, perhatian utama terkait dengan perlindungan, namun versi terbaru sendmail (8.9.x) cukup kuat.

Sendmail tersedia di semua sistem Linux, dengan distribusi terbaru kemungkinan berisi versi 8.9.x. Program ini menggunakan beberapa file konfigurasi, yang dianalisis dalam prosesnya. Tetapi sebelum berbicara tentang konfigurasi, kami perhatikan bahwa program dapat dimulai baik sebagai daemon maupun dalam mode siaga. Dalam kasus pertama, itu akan terus-menerus mendengarkan port, dan yang kedua, itu akan diaktifkan sekali dan hanya memproses semua informasi yang masuk. Metode kedua lebih disukai dari sudut pandang keamanan. Untuk melakukan ini, Anda hanya perlu menghapus parameter -bd di baris startup.

Sekarang tentang konfigurasi. File utama adalah sendmail.cf, yang mungkin atau mungkin tidak memiliki tautan ke file lain. File akses juga dianalisis, di mana Anda dapat meletakkan alamat yang darinya (atau ke mana) surat tidak akan dikirim. Misalnya, entri:

10.0.0 RELAY spam.com TOLAK

berarti email dari alamat .spam.com tidak akan diterima, dan email dari jaringan internal dapat diterima dan dikirim.

File lain yang berguna dan digunakan adalah alias. Ini menentukan nama mana yang akan ditafsirkan sebagai nama kotak surat yang diberikan. Misalnya, jika Anda mengatur

Petrov: bintang

surat datang ke Petrov di [dilindungi email] akan dikirim ke kotak [dilindungi email] bahkan jika seseorang tidak tahu alamat aslinya. Ini berguna, khususnya, jika Anda ingin email datang ke manajer yang ingin memiliki kotak surat bukan dengan manajer nama, tetapi dengan miliknya sendiri. Ini berarti bahwa manajer hanya akan memberikan alamatnya kepada orang-orang yang menurutnya cocok, dan manajer akan menggantung di halaman Web. Jelas, ini akan membawa kenyamanan maksimal jika terjadi pergantian manajer. Sejumlah nama dapat diarahkan ke kotak surat yang sama.

File virtusertable menentukan pemetaan satu alamat ke alamat lain, misalnya:

[dilindungi email] Pengelola

Dengan menggunakan dua file ini (alias dan virtusertable), duplikasi email dapat diimplementasikan, yang akan menyimpan semua email yang masuk. Triknya adalah file virtusertable dilihat terlebih dahulu, lalu alias. Jika, dengan entri terakhir di virtusertable, tulis di file alias:

Manajer: bintang, "/ var / spool / mail2 / bintang"

kemudian email yang tiba di alamat manajer dan bintang akan ditulis ke direktori normal / var / spool / mail dan / var / spool / mail2.

Salah satu perbedaan utama antara postfix dan sendmail adalah modularitas (yang juga dimiliki qmail). Tidak seperti sendmail, hanya sebagian kecil dari kode, hanya satu modul, berjalan sebagai root, dan semua bagian lainnya dijalankan sesuai kebutuhan dan memiliki pengaturan sendiri. Secara umum, file konfigurasi postfix biasanya terdapat di /etc/postfix. File manager.cf mengelola pengoperasian berbagai modul, menentukan pengguna di mana mereka menjalankan dan jumlah proses. File main.cf adalah file konfigurasi utama dan mengatur parameter dasar dari email itu sendiri. Berikut adalah bentuk perkiraan dengan penjelasan (lebih tepatnya, komponen-komponen yang kemungkinan besar harus diedit):

# nama mesin myhostname = mail.example.org # domain mydomain = example.org # dari alamat mana Anda mengirim email myorigin = $ mydomain # pada antarmuka mana untuk menjalankan program inet_interfaces = semua # file nama virtual virtual_maps = hash: / etc / postfix / virtual # file substitusi nama alias_maps = hash: / etc / postfix / aliases # direktori tempat email harus diletakkan ketika pengguna menerimanya home_mailbox = Maildir / # tempat menyimpan email mail_spool_directory = / var / spool / mail # perintah ke ambil surat mailbox_command = / usr / sbin / scanmails # file yang menunjukkan alamat dari mana dan ke mana surat harus diteruskan # relay_domains = / etc / postfix / relaydomains # mesin lokal mynetworks = 10.0.0.0/24, 127.0.0.0/8 # apa yang akan ditampilkan jika pengguna terhubung ke port 25 smtpd_banner = $ myhostname ESMTP $ mail_name

Program postfix dapat diperoleh dari http://www.postfix.org.

Sekarang mari kita bicara tentang protokol POP dan IMAP. Yang pertama beroperasi pada port ke-110, yang kedua - pada ke-143. Pada prinsipnya, keduanya mengejar tujuan yang sama, tetapi diimplementasikan dengan cara yang berbeda. POP (protokol kantor pos) adalah protokol yang agak tua dan buruk. Yang memungkinkan hanyalah menyambung ke server, menerima email, dan menghapusnya dari kotak surat di server. protokol IMAP lebih maju. Ini memungkinkan Anda untuk mengelola email Anda langsung di server. Anda tidak perlu mengunduh semua surat, tetapi ambil hanya kepala surat, buat direktori di server dan distribusikan surat di antara mereka. Dari sudut pandang keamanan, protokol ini sama, jadi disarankan untuk menggunakan firewall untuk menghindari masalah. Anda juga dapat menempatkan lalu lintas protokol ini di dalam ssh. Sangat penting untuk memeriksa email Anda dari virus. Meskipun virus tidak menakutkan di UNIX, karena banyak pengguna menggunakan Windows, sebaiknya jalankan email melalui program pemindai seperti AMAVIS. Cara termudah untuk melakukan ini (tentu saja, diasumsikan bahwa program AMAVIS sudah diinstal), jika di postfix di baris konfigurasi

Mailbox_command = / usr / bin / procmail

Mailbox_command = / usr / sbin / scanmails

Secara singkat tentang bagaimana pengguna menerima dan mengirim email di tempat kerja. Untungnya, semua program populer adalah klien POP atau IMAP (maksud saya, setidaknya Netscape dan Outlook). Plus, jika administrator telah memberikan kemampuan untuk mengakses server melalui telnet atau ssh, Anda dapat melihat email dan bekerja dengannya dalam mode terminal (mengambilnya dalam kasus ini lebih sulit). Untuk melakukan ini, Anda perlu terhubung ke server dan menjalankan beberapa program surat di terminal, seperti surat atau pinus. Yang terakhir jauh lebih nyaman dan merupakan program layar penuh dengan menu, hanya dalam mode teks.

Akses file dan pencetakan jaringan

Pada sistem UNIX, ada dua: alat standar- NFS dan LPD. Yang pertama memungkinkan Anda untuk membuat sistem file jaringan, yang kedua - untuk mencetak ke printer. Adapun menggunakan sumber daya mesin UNIX dari Windows, Samba (SMB) adalah yang paling cocok untuk ini, seperti yang saya lihat. Program ini memungkinkan Anda untuk mengakses file dan juga menyediakan kemampuan untuk mencetak jaringan dari mesin Windows melalui server UNIX. Karena artikel ini terutama tentang keamanan server, perlu dicatat bahwa berbagi sumber daya dalam jaringan tidak berbahaya, tentu saja, dengan konfigurasi normal aturan firewall eksternal. Di sini, masalah rencana yang berbeda mungkin muncul, terkait dengan fakta bahwa tidak semua orang harus memiliki akses ke informasi ini atau itu, tetapi ini sepenuhnya diatur oleh pengaturan atribut file dan direktori. Tidak peduli seberapa cerdik administrator Anda, Anda tidak dapat mencegah situasi di mana, misalnya, seseorang lupa untuk menutup sesi ssh dan meninggalkan komputer. Ini masalah lain jika Anda memberikan akses baca ke beberapa file, tetapi ini adalah hal yang terlalu jelas untuk dipikirkan. Oleh karena itu, kami sekarang beralih ke pertimbangan aplikasi server yang berguna tidak hanya untuk pengguna internal, tetapi juga untuk pengguna eksternal. Maksud saya terutama server web dan mungkin ftp. Sekarang sulit untuk membayangkan perusahaan terkecil atau bahkan hanya jaringan tanpa yang pertama, dan kehadiran yang kedua tergantung pada apakah Anda benar-benar perlu mengunggah beberapa data secara terpisah ke server ftp.

Server web dan ftp

Apache adalah pemimpin yang tak terbantahkan dalam hal popularitas dan kinerja di antara beberapa server Web yang ada saat ini. Server ini menggabungkan kecepatan, stabilitas, keamanan tinggi, dan pada saat yang sama gratis. Tidak selalu mungkin untuk menemukan program seperti itu untuk tujuan mereka sendiri, tetapi ini dia. Dan kita harus mengakui bahwa penulis program melakukan banyak upaya untuk mencapai efisiensi dan keandalan maksimum. Pertama-tama, perhatikan bahwa jika Anda hanya menggunakan server Web Anda untuk tujuan internal, seperti administrasi sistem atau berbagi file, maka Anda harus mem-firewall-nya dari dunia luar. Jika ini adalah server untuk semua orang, maka Anda perlu memahami bahwa ini terbuka untuk semua orang. Itulah mengapa perlu untuk memantaunya dengan benar, yaitu: dengan hati-hati dan benar mengonfigurasinya dan memantau file log untuk menentukan kemungkinan serangan terlebih dahulu. Sejauh menyangkut keamanan, server itu sendiri memiliki akses yang sangat sedikit ke sistem, karena hanya salinan pertamanya yang dimulai sebagai root, dan sisanya biasanya dimulai sebagai bukan siapa-siapa. Selain itu, dalam pengaturan server, yaitu, dalam file httpd.conf, smr.conf, access.conf, dengan jelas ditunjukkan direktori mana yang dapat diakses oleh server dan mana yang tidak. Jika Anda menulis di file httpd.conf, misalnya:

Pilihan Tidak Ada AllowOverride None Opsi Indeks FollowSymLinks Termasuk AllowOverride Tidak Ada

maka Anda akan secara eksplisit menunjukkan bahwa server hanya memiliki akses ke direktori / WWW, di mana Anda perlu menempatkan semua materi situs (atau situs) yang pekerjaannya disediakan oleh server. Jika Anda ingin memastikan bahwa tidak ada yang akan mengubah hak akses dengan memasukkan, misalnya, file .htaccess di beberapa direktori, maka di srm.conf Anda harus memasukkan:

pesan izinkan, tolak tolak dari semua

Dari sudut pandang keamanan, tidak masuk akal untuk berbicara lebih detail tentang pengaturan lain, terutama karena instalasi dan konfigurasi minimum server Apache dijelaskan dalam edisi sebelumnya dalam artikel yang membahas topik ini.

Penting untuk memikirkan secara terpisah tentang penggunaan protokol https (http aman). Protokol ini biasanya berjalan pada port 443 (berlawanan dengan standar http yang berjalan pada port 80). Setidaknya ada dua cara untuk memperkaya Apache dengan http yang aman. Yang pertama menggunakan add-on dari open-ssl, yang kedua menggunakan modul mod_ssl. Kedua opsi menghasilkan hasil yang hampir sama. Secara umum, dimungkinkan untuk membuat koneksi menggunakan https pada port 443. Ini membuat sertifikat untuk server, yang akan diverifikasi oleh klien saat koneksi. Ini akan mengecualikan (tentu saja, tidak dengan jaminan mutlak) menguping lalu lintas. Untuk membuat sertifikat saat menggunakan openssl, Anda perlu memberikan perintah:

Openssl genrsa -des3> httpsd.key openssl req -new -key httpsd.key> httpsd.csr

apalagi, file-file tersebut harus berada di direktori yang sama dengan file konfigurasi server berada. Agar server berfungsi dengan baik dengan port 443, Anda juga harus mengubah file konfigurasi. Mereka perlu menulis sesuatu seperti

# mendengarkan pada port 443 (secara default, server hanya mendengarkan pada port ke-80) Dengarkan 443 # nonaktifkan penggunaan global ssl SSLDisable # tempat server akan menyimpan informasi sementara selama koneksi ssl. Tanpa # pengaturan ini, server tidak akan bekerja port SSLCacheServerPath / usr / bin / gcache # yang melaluinya server berkomunikasi dengan CashServer SSLCacheServerPort 12345 # CashServer timeout SSLSessionCacheTimeout 300

Setelah pengaturan ini, server Anda pada dasarnya siap untuk bekerja dengan https, tetapi untuk saat ini protokol ini dilarang. Disarankan untuk membuat host virtual yang memiliki nama yang sama dengan nama default Anda, tetapi dengan indikasi eksplisit port 443, dengan kata lain, Anda sekarang menjalankan server web. Ini berjalan pada port 80 dan menggunakan protokol http. Dengan menambahkan Apache-ssl dan pengaturan yang dijelaskan di atas, Anda memberi pengguna kemampuan untuk berkomunikasi dengan server Anda melalui protokol https. Tidak mungkin semua informasi di server Anda sangat rahasia sehingga Anda ingin memberikan semuanya hanya dalam mode koneksi aman. Server Apache memungkinkan Anda untuk membuat mesin virtual, yaitu, Anda dapat mendeklarasikan beberapa subdirektori root untuk sebuah host, memberinya nama, menulis satu set file konfigurasi dan segala sesuatu yang diperlukan, tetapi secara fisik itu akan ditempatkan di komputer Anda dan akan dikendalikan oleh server Anda sendiri ... Dalam kasus kami, bahkan tidak perlu memberi nama yang berbeda, karena sama, hanya port yang berbeda. Seperti inilah tampilan pengaturan seperti ini:

DocumentRoot / www / secure / ServerName www.example.com ServerAdmin [dilindungi email] Log ErrorLog / https_error.log TransferLog logs / https_access.log # Izinkan ssl untuk host virtual ini SSLEnable # Hanya memerlukan ssl SSLRequireSSL SSLCertificateFile /usr/conf/httpsd.crt SSLCertificateKeyFile /usr/conf/httpskeyClient

Selain http, ada juga ftp - layanan yang berguna dan nyaman, terutama jika Anda memiliki banyak file yang harus diunduh pengguna (misalnya, Anda memberikan beberapa data penelitian). Keuntungan dari ftp atas http adalah kecepatan. Protokol ftp memiliki overhead minimum. Namun, ada banyak masalah dengannya. Yang utama adalah "usia"-nya: ftp setua telnet. Dari sini, komplikasi terkait keamanan segera muncul: nama pengguna dan kata sandi ditransmisikan dengan jelas, dan lalu lintas informasi yang dikirimkan tidak dilindungi oleh apa pun. Selain ftp hanya dapat mentransfer file. Oleh karena itu, jika Anda memiliki beberapa informasi yang tersedia untuk semua orang, maka masuk akal untuk membuat satu pengguna, yang namanya akan dimasukkan semua orang. Seringkali dalam arsip ftp seperti itu, pengguna ini disebut anonim, dan ia memberikan alamat emailnya sebagai kata sandi. Dalam hal ini, ada lebih sedikit masalah keamanan. Selain itu, jika Anda perlu memberikan akses ftp ke beberapa pengguna, buatlah chroot sehingga mereka hanya dapat meletakkan file di direktori mereka sendiri. Adapun server, tentu saja, mereka tersedia dalam paket standar, tetapi mungkin Anda ingin menginstal bukan ftpd standar, tetapi yang lain.

Salah satu server ftp yang populer adalah proftpd. File konfigurasinya mirip dengan file Apache, yang membuatnya lebih mudah untuk beradaptasi, karena kemungkinan besar server web Anda adalah Apache. File konfigurasi utama adalah /etc/proftpd.conf. Bentuk perkiraannya bisa seperti ini:

ServerName "Instalasi Default ProFTPD" ServerType inetd DefaultServer pada Port 21 Umask 022 MaxInstances 30 Pengguna tidak ada Grup tidak ada Izinkan Timpa aktif

Daftar di atas menunjukkan bahwa server dimulai melalui inetd, pada port standar ke-21, jumlah maksimum salinan adalah 30, dan dimulai sebagai grup dan tidak ada pengguna. 022 - topeng atribut file selama pembuatan, yang akan diterapkan sebagai standar pada awalnya. Konfigurasi ini tidak memberikan akses ke pengguna anonim. Untuk melakukan ini, Anda perlu menulis kira-kira pengaturan konfigurasi berikut:

User ftp Group ftp RequireValidMatikan UserAlias ​​​​anonymous ftp MaxClients 10 DisplayLogin welcome.msg DisplayFirstChdir .message Tolak Semua

Setelah penambahan ini, dimungkinkan untuk bekerja sebagai anonim, dan hanya membaca, yaitu mengunduh, file. Saya akan memberikan contoh lain tentang pengaturan hak untuk menggunakan direktori:

Perbolehkan semua Tolak Semua

Entri seperti itu dalam file konfigurasi memberikan akses tulis, tetapi tidak memberikan hak untuk mengunduh file. Ini berguna jika Anda ingin pengguna dapat mengunggah file, tetapi tidak dapat melihat apa yang telah dimasukkan orang lain.

Ini menyimpulkan topik aplikasi server. Tentu saja, perlu dicatat bahwa masih banyak lagi aplikasi server: ada juga DNS, server berita, server NIS, server X, dan banyak aplikasi menarik dan berguna lainnya. Namun, saya mencoba untuk fokus pada apa yang sebenarnya dibutuhkan saat mengoperasikan jaringan yang tidak mengklaim sebagai cyberpolis atau penyedia global. Sekarang mari kita beralih ke pertimbangan pertanyaan kedua, yang ditunjukkan di awal artikel - ke serangan dan peretasan jaringan.

Serangan dan peretasan jaringan

Pertama-tama, beberapa kata umum. Di UNIX, tidak seperti Windows, tidak ada masalah dengan virus. Struktur internal alokasi memori dan izin file mampu mengatasi sendiri apa yang biasanya dilakukan virus di DOS atau Windows lama. Penghalang utama virus (dalam pengertian standarnya) adalah kurangnya akses ke perangkat fisik untuk program yang berjalan atas nama pengguna biasa, serta fakta bahwa atribut file tidak ditetapkan secara umum, tetapi untuk pengguna, grup, dan semua pengguna. Tidak ada hal seperti itu di Windows (ini sebagian diimplementasikan di Windows 2000). Meskipun gangguan yang disebabkan oleh virus tradisional hampir tidak mungkin, sistem UNIX masih diretas dan dihancurkan. Ini karena adanya teknologi yang sama sekali berbeda, yang secara kasar dapat dibagi menjadi dua kategori. Yang pertama adalah apa yang disebut kuda Troya, yang merupakan program yang tampaknya, dan mungkin sebenarnya, melakukan tindakan yang cukup masuk akal dan legal. Namun, secara paralel, mereka melakukan "pekerjaan" lain: mendengarkan jaringan atau mengumpulkan informasi tentang kata sandi dan mengirimkannya ke jaringan, dll. Program-program ini sendiri tidak mungkin menyebabkan kerusakan langsung - melainkan, mereka akan menjadi perantara antara sistem Anda dan penyerang eksternal. Kategori kedua adalah peretasan jaringan. Tindakan ini awalnya tidak menarik konten internal mesin, tetapi mencoba untuk menghancurkan sistem atau mendapatkan akses ke sana dengan mengirimkan beberapa informasi, seperti paket jaringan yang sengaja salah, atau mencoba "memancing" beberapa data tersembunyi melalui permintaan yang dibentuk secara khusus. . Mengapa meretas sistem sama sekali? Ini adalah pertanyaan psikologis daripada pertanyaan praktis. Faktanya adalah, pada kenyataannya, sebagian besar peretasan mesin tidak datang dari tujuan egois, tetapi hanya dari minat pada proses itu sendiri. Di antara orang-orang yang biasa disebut peretas, tidak hanya mereka yang melakukan peretasan untuk beberapa keuntungan nyata, tetapi juga "penggemar" yang merusak jaringan demi pemutusan. Kedengarannya tidak terduga, tetapi memang demikian, dan statistik menunjukkannya. Selain itu, seringkali cukup sulit untuk menyalahkan seseorang atas apa yang telah dia lakukan, karena terkadang tidak mungkin untuk membuktikan bahwa dia dan dari komputer inilah yang melakukan tindakan ilegal tertentu. Namun, dalam artikel ini kami membahas peretasan itu sendiri, dan bukan aspek psikologis dan hukumnya, dan oleh karena itu kami akan beralih ke hal-hal tertentu.

Meretas jaringan, tidak peduli seberapa hati-hati dilakukan dan metode apa pun yang digunakan, pasti akan menyebabkan beberapa perubahan dalam sistem. Ini bisa berupa daftar baru port mendengarkan, program asing, mengubah ukuran program yang ada, terutama ps atau netstat, atau bahkan pengguna baru. Dengan satu atau lain cara, intinya adalah sesuatu harus berubah, dan ini tidak bisa dihindari. Oleh karena itu, tindakan wajar pertama yang saya sarankan untuk segera dilakukan setelah instalasi dan konfigurasi sistem adalah membuat file dengan informasi tentang sistem. Sesuatu seperti foto pada saat Anda menganggap semua yang terjadi adalah benar. Lebih khusus lagi, maksud saya informasi yang disediakan oleh program netstat, vmstat, free, du, df. Tip kedua adalah untuk membuat cadangan file konfigurasi sistem dan pengaturan awal. Membandingkannya satu sama lain juga dapat memberikan beberapa informasi tentang apa yang terjadi dalam sistem baru-baru ini.

Mari kita mulai dengan memantau sistem file, yang melibatkan tidak hanya pemantauan penggunaan sistem file (yang dapat dilakukan dengan perintah du dan df), tetapi juga memeriksa kekekalan file tertentu (misalnya, file sistem). Ada beberapa program yang melakukan fungsi-fungsi ini:

  • AIDE - program yang memungkinkan Anda membuat checksum untuk file, sehingga memeriksa integritasnya; memungkinkan beberapa algoritma untuk digunakan. http://www.cs.tut.fi/~rammer/aide.html. (Program lainnya melakukan fungsi serupa, semuanya gratis.)
  • Yajuj & Majuj - membuat daftar atribut dan pemilik file, memungkinkan perbandingan otomatis. http://www.multimania.com/cparisel/gog/
  • Sentinel - menciptakan checksum menggunakan algoritma MAC RIPEMD-160bit memiliki antarmuka grafis... http://zurk.netpedia.net/zfile.html
  • SuSEauditdisk adalah program yang ditempatkan pada floppy disk, yang memungkinkan untuk melakukan pemeriksaan sistem sepenuhnya secara mandiri, boot langsung dari floppy disk. Disediakan sebagai standar dengan SuSELinux. http://www.suse.de/~marc
  • ViperDB - Memeriksa pemilik dan atribut file dengan membuat file log yang merekam perubahan yang terjadi. Program ini memiliki tiga parameter: -init - membuat database berdasarkan file, -check - memeriksa file terhadap database dan membuat perubahan ke database jika terjadi pada disk, -checkstrict - memeriksa file terhadap database dan mengembalikan parameter lama jika terjadi perubahan . http://www.resentment.org/projects/viperdb
  • Sxid - Membuat checksum file dan memverifikasi atribut dan pemilik. ftp://marcus.seva.net/pub/sxid/
  • nannie - mengingat waktu pembuatan file. ftp://tools.tradeservices.com/pub/nannie/
  • confcollect - mengingat informasi sistem, seperti yang diinstal perangkat lunak, tabel router, dll. http://www.skagelund.com/confcollect/
  • Pikt adalah alat yang berisi bahasa skrip internal untuk membuat program yang melakukan standar, tetapi tidak diimplementasikan dalam bentuk perintah, fungsi tertentu (memantau penggunaan sistem per jam, menghilangkan proses yang berumur panjang, mengatur ukuran kotak surat dll.). Tersedia untuk berbagai platform: Solaris, Linux, dan FreeBSD. http://pikt.uchicago.edu/pikt/

Anda juga dapat berbicara tentang program yang melakukan fungsi pencadangan, tetapi, menurut saya, ini tidak terkait langsung dengan keamanan sistem, dan selain itu, berbagai alat standar termasuk dalam distribusi UNIX. Keamanan hanya terkait dengan fakta bahwa pencadangan diperlukan, tetapi ini telah disebutkan di atas.

Sekarang mari kita cari tahu apa yang harus dilakukan untuk mencegah serangan jaringan. Tentu saja, Anda perlu menginstal firewall di gateway. Dengan satu atau lain cara, perlindungan tingkat paket diperlukan. Jika firewall dilewati dengan cara apa pun, maka program berikut diperlukan:

  • DTK - mengemulasi layanan dan program standar, dan dalam kasus permintaan non-standar yang dikirim ke program ini, informasi palsu yang sengaja dikeluarkan untuk membingungkan penyerang. http://all.net/dtk/
  • Psionic PortSentry - Memantau pemindaian port. Tugas utamanya adalah memeriksa port untuk memindai dan menampilkan semuanya dalam file log. http://www.psionic.com/abacus/portsentry/
  • Psionic HostSentry - Membuat database informasi tentang penggunaan mesin oleh pengguna, menampilkan pesan saat penggunaan sumber daya non-standar. http://www.psionic.com/abacus/hostsentry/
  • Scanlogd - memindai paket jaringan, menghasilkan file log berdasarkan pengaturan. http://www.openwall.com/scanlogd/
  • Firewall adalah nama kolektif untuk program firewall.
  • TCP-WRAPPERS - program yang membatasi akses ke sumber daya tertentu dengan nama atau nomor komputer. Beberapa program ini tersedia di. ftp://ftp.porcupine.org/pub/security/
  • NFR adalah program yang konstruksinya mirip dengan sniffer (sniffer adalah program untuk mendengarkan lalu lintas jaringan). Merekam file log dan mendeteksi serangan dan pemindaian port secara real-time. http://www.nfr.com/
  • FAQ yang terperinci dan bermanfaat tentang serangan jaringan dan pendeteksiannya dapat ditemukan di http://www.robertgraham.com/pubs/network-intrusion-detection.html.

Sulit untuk dengan tegas menjawab pertanyaan tentang apa dan bagaimana yang harus dilakukan selama serangan jaringan. Di sini banyak tergantung pada spesifikasi jaringan tertentu dan organisasi di mana ia berada. Bahkan dengan serangan dengan jenis yang sama, dalam satu kasus, Anda ingin menyimpan data terlebih dahulu, dan yang kedua, Anda ingin memblokir sumber serangan, yaitu, semuanya tergantung pada prioritas. Serangan adalah masalah yang sangat sulit dalam organisasi di mana downtime jaringan tidak dapat diterima. Di sana Anda harus melakukan semua operasi secara online, sebisa mungkin tetap berhubungan dengan dunia luar. Cukup banyak juga tergantung pada sifat serangannya. Peretasan demi peretasan adalah satu hal, dan pencurian data rahasia yang disengaja adalah hal lain. Mungkin, memang benar, dan versi yang lebih canggih, ketika serangan dilakukan dengan tujuan mengalihkan perhatian administrator dari peretasan yang lebih canggih dan bijaksana yang dilakukan secara paralel. Tapi jangan berpikir bahwa serangan hanya bisa datang dari luar. Ini mungkin dimulai dari dalam. Skenario yang mungkin adalah peluncuran kuda Trojan di komputer Windows di jaringan internal. Jelas, ini bisa dilakukan hanya dengan mengirim surat melalui pos. Sekarang mari kita lihat lebih dekat program sniffer.

Secara umum mengendus berarti mengendus. Oleh karena itu, sniffer adalah program yang dengan satu atau lain cara mendengarkan jaringan dan semua informasi yang melewatinya. Contoh ilustratif adalah kata sandi yang masuk dalam teks yang jelas dari komputer internal ke server. Karena paket berjalan di seluruh jaringan sampai mereka menemukan penerima, menginstal sniffer pada setidaknya satu komputer di jaringan internal (misalnya, menggunakan surat, seperti yang disebutkan di atas) adalah alat yang nyaman untuk cracker eksternal. Dalam kebanyakan kasus, sniffer sangat pasif, yang membuat mereka sulit dideteksi. Di bawah ini adalah daftar beberapa program sniffer yang dapat digunakan untuk memantau apa yang terjadi di jaringan:

  • Tcpdump adalah program tertua yang dikirimkan dengan semua UNIX.
  • Sniffit - memiliki kemampuan untuk menyaring paket dan menerjemahkan informasi ke dalam format teks; dilengkapi dengan antarmuka grafis. http://sniffit.rug.ac.be/~coder/sniffit/sniffit.html
  • Ethereal adalah penganalisis protokol jaringan.
  • Snort - dirancang untuk memantau jaringan, dapat mendeteksi pemindaian port. http://www.clark.net/~roesch/security.html
  • SPY adalah sniffer, tetapi tidak gratis. Ada lisensi jaringan pengguna tunggal gratis hingga lima mesin. http://pweb.uunet.de/trillian.of/Spy/

Namun, tidak boleh dilupakan bahwa selain perangkat lunak, ada juga perangkat keras yang mendengarkan, misalnya, cukup menghubungkan komputer lain atau hanya menghubungkan ke kabel. Anehnya, jika Anda menggunakan Ethernet (kabel koaksial) tipis, Anda dapat mendengarkannya tanpa membukanya.

  • AntiSniff adalah program yang memindai jaringan untuk sniffer. Prinsip operasinya sangat sederhana: ia mengirimkan permintaan, dan berdasarkan respons dan waktu respons, ia menentukan apakah sedang diproses oleh program lain atau tidak. http://www.l0pht.com/antisniff/

FAQ sniffer yang terperinci dan bermanfaat dapat ditemukan di. http://www.robertgraham.com/pubs/sniffing-faq.html.

Teknik lain yang dapat membantu mencegah serangan adalah dengan menguji sistem menggunakan program yang meniru serangan, atau program itu sendiri, yang digunakan untuk melakukan serangan ini. Anda semacam memeriksa sistem dalam kondisi pertempuran. Jika perlindungan benar-benar menjadi prioritas utama untuk mesin khusus ini, maka memeriksa konfigurasi sistem sebelum mencolokkan adalah langkah yang sangat penting. Saya membawa perhatian Anda beberapa program ini.

Program yang memindai sistem dengan sendirinya dari dalam:

  • Tiger adalah program yang masih dalam pengembangan. ftp://net.tamu.edu/pub/security/TAMU/
  • check.pl adalah skrip Perl yang memeriksa pohon direktori dan file di dalamnya dan menunjukkan berbagai atribut dan nama pemilik yang dipertanyakan. http://opop.nols.com/proggie.html

Pemindai jaringan yang menunjuk ke layanan yang tersedia di sistem lain (ide yang baik untuk memeriksa pengaturan firewall, misalnya):

  • Strobe adalah pemindai jaringan yang lama tapi cepat dan masih efektif. Terkadang disertakan dengan UNIX. ftp://suburbia.net/pub/
  • Nmap adalah program yang menggunakan metode pemindaian port baru dan sangat dapat dikonfigurasi. Memungkinkan untuk mendapatkan parameter sistem operasi (nama, versi). http://www.insecure.org/nmap/index.html
  • Portscanner adalah pemindai port kecil yang memiliki banyak format untuk mengeluarkan informasi yang diproses. http://www.ameth.org/~veilleux/portscan.html
  • Queso sebenarnya bukan pemindai; itu adalah program yang dirancang untuk menentukan jenis sistem operasi pada komputer jarak jauh. http://www.apostols.org/projectz/queso/

Memindai perangkat lunak untuk lubang keamanan potensial tidak diragukan lagi merupakan langkah maju dari pemindai port. Di sini, tingkat analisis informasi yang lebih tinggi diterapkan dan bukan port terbuka itu sendiri yang ditentukan, tetapi kerentanan dalam sistem yang jalurnya melalui port ini terbuka. Saya akan menyebutkan beberapa program seperti itu:

  • Nessus adalah perangkat lunak pelacakan serangan client-server. Ada server untuk Linux, FreeBSD, NetBSD dan Solaris, dan klien untuk Linux dan Windows. Selain memindai port dan melacak serangan, program dapat melakukan pencarian DNS untuk menemukan komputer yang terkait dengan mesin yang disusupi. http://www.nessus.org/
  • Saint adalah keturunan dari program Setan, yang sebelumnya merupakan salah satu yang paling populer untuk mengumpulkan informasi tentang mobil. Saint menggunakan arsitektur client-server, tetapi menggantikan klien dengan program Web. Tujuan utamanya adalah untuk mengumpulkan informasi tentang kerentanan dalam perlindungan sistem. http://www.wwdsi.com/saint/
  • Cheops adalah program yang membuat peta lingkungan jaringan IP dengan indikasi sistem operasi yang berjalan di komputer. http://www.marko.net/cheops/
  • SARA (Asisten Riset Auditor Keamanan) adalah program yang mirip dengan Saint. Dapat memindai beberapa mesin sekaligus, selain itu menghasilkan hasil kerja dalam format HTML. http://home.arc.com/sara/
  • BASS (Bulk Auditing Security Scanner) adalah program yang ideologinya didasarkan pada fakta bahwa Internet tidak dilindungi. Tugas utamanya adalah memindai sistem untuk keberadaan "lubang keamanan" di dalamnya. http://www.securityfocus.com/data/tools/network/bass-1.0.7.tar.gz

Program untuk memindai firewall dan memeriksa apakah sudah dikonfigurasi dengan benar adalah Firewalk. Dengan mengirimkan berbagai paket, program berusaha menghitung aturan yang sesuai dengan operasi firewall. http://www.packetfactory.net/firewalk/

Arsip di http://www.rootshell.com/ berisi data yang diketahui tentang kesalahan dalam perlindungan sistem dan tautan ke pengaya dari produsen sistem operasi yang memperbaiki kesalahan ini. Benar, terkadang alih-alih tautan seperti itu, Anda dapat melihat pesan "Tingkatkan ke versi berikutnya", yang menyinggung, terutama jika sistemnya komersial. Ini, misalnya, sering terjadi pada IBM AIX.

Dengan ini, saya ingin mengakhiri uraian masalah yang terkait dengan keamanan sistem untuk Server internet... Ini adalah deskripsi, bukan panduan untuk bertindak dan bukan referensi terperinci. Tujuan utama saya adalah memberikan gambaran tentang apa yang perlu dilakukan untuk melindungi sistem. Ada kemungkinan bahwa dalam beberapa kasus beberapa tip akan tampak berlebihan atau tidak perlu, dan mungkin tautan ke program yang diberikan tidak akan cukup. Namun, menurut saya poin-poin utama yang terkait dengan perlindungan sistem dan jaringan UNIX tercermin pada tingkat tertentu. Beberapa masalah pribadi, mungkin, akan dibahas dalam edisi majalah berikutnya.

KomputerTekan 3 "2001

  • Paksaan administratif dan perbedaannya dari jenis paksaan negara lainnya adalah sistem tindakan paksaan administratif.
  • Alamat institusi yang melengkapi protokol ________________________________________________________________
  • Tindakan, protokol. Komposisi rincian tindakan dan protokol. Lokasi persyaratan pada formulir A4. Persyaratan untuk pendaftaran tindakan dan protokol. Memberikan kekuatan hukum dokumen.
  • Amnesti: konsep dan tanda. Pengampunan: konsep, akibat hukum, perbedaan dengan amnesti.
  • Sistem pengadilan arbitrase Federasi Rusia. Peran sistem peradilan dalam menyelesaikan sengketa ekonomi, termasuk sengketa yang berkaitan dengan penerapan peraturan perundang-undangan perpajakan.
  • SSH - (Secure Shell) - protokol jaringan yang memungkinkan Anda untuk kendali jarak jauh komputer dan transfer file. Fungsinya mirip dengan protokol Telnet dan rlogin, tetapi menggunakan algoritma enkripsi untuk informasi yang dikirimkan.
    Kekurangan telnet menyebabkan penghentian protokol yang sangat cepat demi protokol SSH yang lebih aman dan fungsional. SSH menyediakan semua itu Kegunaan yang disajikan dalam telnet, dengan penambahan coding yang efektif untuk mencegah intersepsi data seperti username dan password. Sistem otentikasi kunci publik SSH memastikan bahwa komputer remot benar-benar siapa yang dia klaim.

    Keamanan kriptografi dari protokol SSH tidak tetap; pilihan algoritma enkripsi yang berbeda dimungkinkan. Klien dan server yang mendukung protokol ini tersedia untuk berbagai platform. Selain itu, protokol memungkinkan tidak hanya menggunakan shell jarak jauh yang aman pada mesin, tetapi juga tunneling antarmuka grafis - X Tunneling (hanya untuk OS atau aplikasi mirip Unix yang menggunakan antarmuka grafis Sistem X Window). SSH juga mampu mentransmisikan protokol jaringan lain melalui saluran aman (Port Forwarding), menyediakan (dengan konfigurasi yang tepat) kemampuan untuk meneruskan dengan aman tidak hanya antarmuka X, tetapi juga, misalnya, suara.
    Namun, SSH tidak menyelesaikan semua masalah keamanan jaringan. Dia hanya memusatkan perhatiannya pada penyediaan kerja yang aman aplikasi seperti emulator terminal. Menggunakan implementasi protokol SSH di server dan aplikasi klien membantu melindungi data hanya saat transit. SSH sama sekali bukan pengganti firewall, sistem deteksi intrusi, pemindai jaringan, sistem otentikasi, atau alat lain yang membantu melindungi sistem informasi dan jaringan dari serangan.
    39. Peran dan tugas server di jaringan lokal.

    Dalam pengertian umum, server adalah komputer yang, sebagai suatu peraturan, memiliki kinerja tinggi dan sumber daya komputasi lainnya, yang dirancang untuk menyediakan kemampuan tertentu untuk komputer di jaringan lokal atau global. Peluang ini disebut layanan jaringan.

    Tugas server:

    1.menyediakan akses ke data yang disimpan di disk server organisasi;

    2. penyimpanan, pemrosesan dan akses ke database perusahaan;

    3.pemrosesan terprogram dari data yang dikirimkan pengguna kepadanya, dan memberikan hasil akhir kepada pengguna ini;

    4. pengiriman halaman web kepada pengguna yang memintanya;

    5.mengirim, menerima, menyimpan, dan mendistribusikan email yang dikirim oleh semua pengguna jaringan lokal.


    Layanan jaringan.

    Bagi pengguna akhir, jaringan bukanlah komputer, kabel dan hub, atau bahkan aliran informasi, baginya jaringan adalah, pertama-tama, kumpulan layanan jaringan yang dengannya ia dapat melihat daftar komputer di jaringan, membaca a file jarak jauh, mencetak dokumen pada printer "asing" atau mengirim pesan email. Ini adalah totalitas dari kemampuan yang disediakan - seberapa luas pilihan mereka, seberapa nyaman, andal, dan amannya - yang menentukan tampilan jaringan tertentu bagi pengguna.
    Selain pertukaran data aktual, layanan jaringan harus menyelesaikan tugas lain yang lebih spesifik, misalnya tugas yang dihasilkan oleh pemrosesan data terdistribusi. Tugas tersebut termasuk memastikan konsistensi beberapa salinan data yang terletak di mesin yang berbeda (layanan replikasi), atau mengatur pelaksanaan satu tugas secara paralel pada beberapa mesin di jaringan (layanan panggilan prosedur jarak jauh). Di antara layanan jaringan, orang dapat membedakan layanan administratif, yaitu layanan yang terutama berfokus bukan pada pengguna sederhana, tetapi pada administrator dan berfungsi untuk mengatur operasi jaringan yang benar secara keseluruhan.
    Layanan jaringan diimplementasikan dalam perangkat lunak. Layanan utama — layanan file dan layanan cetak — biasanya disediakan oleh sistem operasi jaringan, sedangkan layanan pendukung, seperti database, faks, atau layanan suara, disediakan oleh aplikasi atau utilitas jaringan sistem yang bekerja sama dengan sistem operasi jaringan. Secara umum, distribusi layanan antara OS dan utilitas agak sewenang-wenang dan bervariasi dalam implementasi OS tertentu.
    Istilah "transparansi" sering digunakan untuk mendefinisikan kenyamanan sumber daya bersama. Akses transparan adalah akses di mana pengguna tidak memperhatikan di mana sumber daya yang dibutuhkannya berada - di komputernya atau di komputer jarak jauh. Setelah dia memasang sistem file jarak jauh di pohon direktorinya, akses ke file yang dihapus menjadi benar-benar transparan baginya. Operasi pemasangan itu sendiri juga dapat memiliki tingkat transparansi yang berbeda - dalam jaringan dengan transparansi yang lebih rendah, pengguna harus mengetahui dan menentukan dalam perintah nama komputer tempat sistem file jarak jauh disimpan; dalam jaringan dengan tingkat transparansi yang lebih tinggi , komponen perangkat lunak yang sesuai dari jaringan mencari volume file bersama terlepas dari lokasi penyimpanannya, dan kemudian memberikannya kepada pengguna dalam bentuk yang nyaman baginya, misalnya, dalam bentuk daftar atau serangkaian ikon.
    Cara menangani (menamai) sumber daya jaringan bersama penting untuk transparansi. Nama sumber daya jaringan bersama tidak boleh bergantung pada lokasi fisiknya di komputer tertentu. Idealnya, pengguna tidak boleh mengubah apa pun dalam pekerjaan mereka jika administrator jaringan telah memindahkan volume atau direktori dari satu komputer ke komputer lain. Administrator itu sendiri dan jaringan sistem operasi memiliki informasi lokasi sistem file, tetapi disembunyikan dari pengguna. Tingkat transparansi ini masih jarang terlihat di jaringan - biasanya, untuk mendapatkan akses ke sumber daya komputer tertentu, Anda harus terlebih dahulu membuat koneksi logis dengannya. Pendekatan ini digunakan, misalnya, dalam Jaringan Windows tidak