Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Matlamat tutorial ini adalah untuk menghilangkan sambungan SSH dan RDP awam. Dengan meletakkan semua ini di belakang klien HTML5 yang sangat mudah, kita dapat menambahkan lapisan keselamatan untuk mengakses cloud kita.
Guacamole juga mencatat sebarang akses jauh, jadi akses yang tidak dibenarkan menjadi lebih mudah dikesan.
Catatan: Untuk enkripsi Let's (pilihan B) kita memerlukan nama domain. Jika anda tidak mempunyai satu, anda boleh melangkau langkah ini dan hanya melaksanakan pilihan A .
Mulakan dengan memutar VPS di zon Vultr yang anda mahukan. A 1024 MB
VPS akan cukup, kerana guacamole tidak begitu mendesak.
Mulakan dengan mengaktifkan rangkaian peribadi di VPS. Ini didokumentasikan dengan baik di sini
Mula-mula mari mengeraskan imej sedikit. Dan mari kita periksa sama ada gambar yang telah disediakan telah ufw
diaktifkan.
root@vultr:~# ufw status
Status: inactive
Secara lalai ia dilumpuhkan, jadi kami perlu menambahkan beberapa peraturan.
Mari mulakan dengan mengkonfigurasi port ini.
ufw allow 22/tcp
ufw allow 8080/tcp
Seterusnya aktifkan firewall.
ufw enable
Jangan risau jika anda menerima amaran. Sekiranya anda menambah port 22
, anda tidak akan menghadapi masalah.
root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Setelah diaktifkan, minta status firewall dan kami akan melihat konfigurasi port kami.
ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8080/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
8080/tcp (v6) ALLOW Anywhere (v6)
Sebelum memulakan pemasangan, kita perlu mengemas kini dan menaik taraf repo. Dengan pakej seperti Tomcat
, yang berbasis Java, terdapat aliran bug yang berterusan dan perbaikan bug yang berkaitan. Sebaiknya lakukan ini terlebih dahulu daripada terus masuk ke pemasangan kami.
apt-get update
apt-get -y upgrade
Selanjutnya adalah semua kebergantungan. Guacamole mempunyai sebilangan besar daripadanya. (Senarai penuh kebergantungan dan fungsinya boleh didapati di sini ). Mari teruskan dengan memasang semuanya.
apt-get -y install build-essential tomcat8 freerdp libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities libswscale-dev libvncserver-dev libpulse-dev libssl-dev
Apabila pemasang meminta kata laluan root MySQL, berikan kata laluan dan pastikan untuk memperhatikannya. Kami akan menggunakan kata laluan ini di kemudian hari untuk membuat pangkalan data Guacamole.
Sekarang kita mempunyai semua kebergantungan, kita boleh terus memuat turun Guacamole. Guacamole sendiri kebanyakan terdapat dalam bentuk sumber, dan bukan binari. Mula-mula kita akan berpindah ke /tmp
folder untuk mengelakkan kekacauan bahagian lain dari cakera. Kemudian muat turun semua kod sumber.
Terdapat empat fail sumber / binari untuk dimuat turun:
guacamole-0.9.13-incubating.war
: Ini adalah aplikasi web. A WAR
fail adalah satu pakej web zip menyediakan satu laman web yang dihoskan di laman web Tomcatguacamole-server-0.9.13-incubating.tar.gz
: Fail ini akan memberikan guacd
aplikasi backend . Ini mewujudkan aliran melalui RDP dan SSH.guacamole-auth-jdbc-0.9.13-incubating.tar.gz
: Kami akan menggunakan pangkalan data MySQL tempatan, jadi kami memerlukan JDBC
penyambung yang berkaitan .mysql-connector-java-5.1.43.tar.gz
: Tanpa pemacu pangkalan data, penyambung JDBC tidak melakukan apa-apa. Fail ini disediakan oleh pasukan MySQL sendiri.Nota: muat turun diselesaikan ke pelayan terdekat .
cd /tmp
wget http://apache.belnet.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-0.9.13-incubating.war
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/source/guacamole-server-0.9.13-incubating.tar.gz
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-auth-jdbc-0.9.13-incubating.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.43.tar.gz
Setelah kami memuat turun semua fail ini, ekstrak fail tersebut tar.gz
.
tar -xzvf guacamole-server-0.9.13-incubating.tar.gz
tar -xzvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz
tar -xzvf mysql-connector-java-5.1.43.tar.gz
Sekarang kita telah mengekstrak semua kod sumber, mari kita buat beberapa guacamole
folder, ini akan digunakan oleh aplikasi guacamole dan kebergantungannya.
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
Semuanya sudah siap untuk binari Guacamole baru kami. Kita sekarang boleh memulakan proses penyusunan dan pemasangan. Pindah ke folder Guacamole Server yang diekstrak.
cd /tmp/guacamole-server-0.9.13-incubating
Konfigurasikan aplikasi untuk juga membuat init.d
fail untuk menjalankannya sebagai perkhidmatan di kemudian hari.
./configure --with-init-dir=/etc/init.d
Perintah harus diakhiri dengan 'ya' di semua perpustakaan dan protokol. Sekiranya tidak, kembali dan periksa arahan apt-get untuk memastikan anda tidak terlepas sebarang pakej.
------------------------------------------------
guacamole-server version 0.9.13-incubating
------------------------------------------------
Library status:
freerdp ............. yes
pango ............... yes
libavcodec .......... yes
libavutil ........... yes
libssh2 ............. yes
libssl .............. yes
libswscale .......... yes
libtelnet ........... yes
libVNCServer ........ yes
libvorbis ........... yes
libpulse ............ yes
libwebp ............. yes
Protocol support:
RDP ....... yes
SSH ....... yes
Telnet .... yes
VNC ....... yes
Services / tools:
guacd ...... yes
guacenc .... yes
Init scripts: /etc/init.d
Type "make" to compile guacamole-server.
Seterusnya susun dan pasang pelayan Gucamole.
make && make install
Setelah semua ini selesai, jalankan ldconfig
untuk membina semula jalan pencarian perpustakaan yang telah ditambahkan.
ldconfig
Teruskan dengan menggunakan systemctl
setup guacd
(Guacamole Daemon) untuk memulakan boot.
systemctl enable guacd
Binari Guacamole kini dipasang. Sekarang kita akan menyiapkan aplikasi web untuk Tomcat.
Mulakan dengan memindahkan war
fail ke guacamole
folder yang baru kita buat, setelah ini dibuat, buatlah pautan logik di direktori tomcat untuk menunjuk ke war
fail kita .
cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
Maka kita memerlukan penyambung mysql dan JDBC. Pemacu JDBC diperlukan dalam extensions
folder, penyambung dalam lib
folder.
cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar /etc/guacamole/lib/
cp guacamole-auth-jdbc-0.9.13-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/
Setelah penyambung dan JDBC dipasang, kita perlu mengedit tocamt8
fail. Fail ini mengandungi banyak tomcat8
tetapan, dan dalam kes kami, kami perlu menambahkan GUACAMOLE_HOME
pemboleh ubah di akhir fail.
nano /etc/default/tomcat8
Lampirkan dengan perkara berikut.
GUACAMOLE_HOME=/etc/guacamole
Selanjutnya adalah membuat pangkalan data. Guacamole menyimpan konfigurasi sambungannya dalam pangkalan data, bukan di dalam fail.
Log masuk dengan yang root password
anda gunakan semasa pemasangan.
mysql -u root -p
Langkah pertama adalah membuat pangkalan data yang dipanggil 'guacamole_db'.
create database guacamole_db;
Kemudian jalankan create user
arahan. Ini akan membuat pengguna dengan kata laluan mysupersecretpassword
, pengguna ini hanya dapat berhubung localhost
.
create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";
Berikan CRUD
operasi kepada pengguna ini untuk pangkalan data guacamole_db
.
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Bilas hak istimewa dan keluar dari cengkerang.
flush privileges;
exit
Selesaikan dengan menambahkan skema Guacamole ke pangkalan data kami yang baru dibuat.
cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db
Setelah ini selesai, kita perlu mengedit guacamole.properties
fail. Fail ini mengandungi konfigurasi pelayan MySQL yang baru kami buat.
nano /etc/guacamole/guacamole.properties
Lampirkan perincian dan kelayakan sambungan MySQL.
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword
Selesaikan dengan membuat pautan simbolik ke folder kongsi tomcat, kerana di sinilah WAR
fail akan mencari sifat ini.
ln -s /etc/guacamole /usr/share/tomcat8/.guacamole
Tamatkan dengan memulakan semula tomcat8
pelayan dan mulakan guacd
daemon pelayan.
service tomcat8 restart
service guacd start
Anda boleh mengesahkan dengan menggunakan arahan status.
service tomcat8 status
service guacd status
Sekarang anda boleh melihat ke VPS anda di port 8080
http://<yourpublicip>:8080/guacamole/
Gunakan nama pengguna guacadmin
dan kata laluan yang sama guacadmin
. Ini akan memberi anda akses ke pelayan Guacamole kosong.
Klik di sudut kanan atas pada nama pengguna anda guacadmin
dan pilih Settings
. Setelah anda berada di halaman tetapan, pergi ke Users
tab dan pilih pengguna guacadmin
.
Sekarang ubah kata laluan anda kepada yang lain atau buat pengguna pentadbir baru dan hapus yang lalai guacadmin
.
Ini adalah langkah terakhir: membersihkan diri setelah selesai.
Padamkan kod sumber dan binari yang dimuat turun dari /tmp
folder.
rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*
Juga, jadikan aplikasi web Guacamole sebagai aplikasi lalai. Dalam ekosistem tomcat aplikasi yang mendapat ROOT
folder adalah aplikasi yang dimulakan secara lalai ketika anda mengakses laman web.
Padamkan tempat ROOT
letak lama .
rm -rf /var/lib/tomcat8/webapps/ROOT
Dan jadikan pautan simbolik agar pelayan guacamole menjadi yang ROOT
satu.
ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT
Ini memerlukan restart tomcat.
service tomcat8 restart
Edit tomcat8/server.xml
fail dan ubah port penyambung.
nano /etc/tomcat8/server.xml
Cari untuk Connector port
.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Dan ganti 8080
dengan 80
.
Secara lalai, tomcat tidak membenarkan pengikatan port di bawah 1024
. Untuk mengaktifkannya, kita perlu memberitahu tomcat8 untuk membuat pengikat yang disahkan.
Edit default
fail tomcat8 dan lepaskan AUTHBIND
garis dan gunakan pilihanyes
nano /etc/default/tomcat8
AUTHBIND=yes
Setelah ini selesai, pasangkan authbind
.
apt-get install authbind
Konfigurasikannya supaya port 80
dapat dituntut oleh tomcat8.
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
Benarkan port 80
melalui firewall dan hapus peraturan untuk 8080
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Mulakan semula tomcat.
service tomcat8 restart
Itu sahaja, sekarang Guacamole harus berjalan di port 80
.
Tomcat sebenarnya bukan salah satu aplikasi terbaik dan paling mantap untuk digunakan certbot
. Nasib baik Nginx adalah. Kami hanya akan memberikan proksi kepada Nginx. Ia menggunakan fungsi certbot di luar kotak dengan mengorbankan sedikit RAM.
apt-get install nginx
Setelah dipasang, edit konfigurasi lalai.
nano /etc/nginx/sites-available/default
Padam semua konfigurasi contoh dan tambahkan konfigurasi berikut.
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Ini akan membuat proksi untuk laman web yang berjalan di 8080
. Restart Nginx, dan aktifkannya pada boot.
systemctl restart nginx
systemctl enable nginx
Periksa sama ada semuanya berfungsi.
systemctl status nginx
Lumpuhkan port ujian 8080
dan biarkan lalu lintas di port 80
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Sebelum kita dapat menggunakannya certbot
, kita perlu menambahkan yang betul ppa
pada sistem yang mengandungi pakej certbot kami.
add-apt-repository ppa:certbot/certbot
Tekan " ENTER
" untuk menerima perubahan konfigurasi.
Kemas kini apt
untuk mengumpul pakej baru.
apt-get update
Akhirnya, pasang modul Nginx untuk memberikan sijil.
apt-get -y install python-certbot-nginx
Konfigurasikan firewall untuk membenarkan HTTPS
.
ufw allow 443/tcp
Sebelum kita dapat meminta sijil baru, kita memerlukan nama DNS.
nano /etc/nginx/sites-available/default
Tambah server_name
tetapan berikut .
server_name rdp.example.com;
Ubah konfigurasi untuk menggambarkan tetapan baru ini.
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Periksa sama ada semuanya berfungsi dan mulakan semula Nginx.
nginx -t
service nginx restart
Sekarang minta sijil dengan certbot.
certbot --nginx -d rdp.example.com
Berikan e-mel anda dan setuju dengan soalan yang diajukan oleh pemasang. (Anda boleh memilih " No
" dengan selamat untuk berkongsi e-mel anda.) Certbot secara automatik akan bertanya apa yang perlu dilakukannya HTTPS
. Kami akan menggunakan pilihan 2: redirect to HTTPS
.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Perkara terakhir yang akan kita lakukan ialah mengemas kini DH
parameter. Ini, secara lalai, sedikit lemah untuk standard 2017.
Buat beberapa yang baru.
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Seterusnya, tambahkan mereka ke laman web lalai di Nginx.
nano /etc/nginx/sites-available/default
Tambahkannya ke konfigurasi pelayan.
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Periksa kesilapan.
nginx -t
Terapkan perubahan dengan memulakan semula pelayan.
service nginx restart
Bersihkan 8080
peraturan lama
ufw delete allow 8080/tcp
Catatan: jika anda menerima "502 Bad Gateway", anda perlu memulakan semula tomcat8 .
service tomcat8 restart
Let's Encrypt sijil memerlukan pembaharuan. Kita boleh membuat pekerjaan cron untuk ini. Mulakan dengan menyunting crontab
.
crontab -e
Tambahkan baris berikut.
00 2 * * * /usr/bin/certbot renew --quiet
Perkara ini akan diperiksa pada jam 2:00 pagi jika ada sijil yang memerlukan pembaharuan dan akan memperbaharui jika ada.
Pergi ke pelayan Guacamole anda (sama ada http://<ip>/
atau https://rdp.example.com)
).
Untuk ujian ini, anda memerlukan dua contoh lagi: satu Linux VM dan satu lagi Windows Server 2012 R2 dengan IP peribadi yang diaktifkan pada kedua-duanya.
Klik " username
" di sudut kanan atas dan pergi ke " Settings
". Kemudian pergi ke " Connections
" dan pilih " New Connection
".
Isi tetapan berikut (anda boleh membiarkan yang lain lalai).
Name: Windows Server 2012 R2
Location: ROOT
Protocol: RDP
Maximum number of connections: 1
Maximum number of connections per user: 1
Parameters > Hostname: 10.99.0.12
Parameters > Port: 3389
Username: Administrator
Password: <password> (provided by Vultr)
Security mode: Any
Ignore server certificate: <checked>
Tekan " save
" dan kembali ke skrin utama. Sekarang anda boleh mengklik Windows Server 2012 R2
sambungan " " dan ia akan RDP ke mesin ini.
Tekan " Ctrl+Shift+Alt
". Ini akan muncul menu di sebelah. Di sini anda boleh memutuskan sambungan atau melaksanakan tugas pentadbiran lain untuk Guacamole.
Klik username
di bahagian atas menu dan pergi ke " Settings
". Kemudian pergi ke Connections
tab " " dan pilih " New Connection
".
Isi tetapan berikut (anda boleh membiarkan yang lain lalai).
Name: Linux
Location: ROOT
Protocol: SSH
Maximum number of connections: 5
Maximum number of connections per user: 2
Parameters > Hostname: 10.99.0.11
Parameters > Port: 22
Username: root
Password: <password> (provided by Vultr)
Tekan " save
" dan kembali ke skrin utama. Sekarang anda boleh mengklik sambungan yang baru dibuat ini dan disambungkan ke pelayan Linux anda melalui SSH.
Anda kini mempunyai gateway RDP / SSH HTML5 web. Sekarang anda boleh firewall akses RDP dan SSH awam platform anda dan mengakses persekitaran anda dari penyemak imbas moden mana pun. Untuk maklumat lebih lanjut mengenai apa yang dapat ditawarkan oleh Guacamole, terdapat video hebat yang menunjukkan semua kemungkinan platform di sini .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut