Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Tujuan dari tutorial ini adalah untuk menyingkirkan SSH publik dan koneksi RDP publik. Dengan menempatkan ini semua di belakang klien HTML5 yang sangat nyaman, kita dapat menambahkan lapisan keamanan untuk mengakses cloud kami.
Guacamole juga mencatat akses jarak jauh apa pun, sehingga akses tidak sah menjadi jauh lebih mudah dilacak.
Catatan: Untuk mengenkripsi Mari (opsi B) kita memerlukan nama domain. Jika Anda tidak memiliki satu, Anda dapat melewatkan langkah ini dan hanya menjalankan opsi A .
Mulailah dengan memutar VPS di zona Vultr yang Anda inginkan. Sebuah 1024 MB
VPS akan cukup, karena Guacamole tidak terlalu menuntut.
Mulailah dengan mengaktifkan jaringan pribadi di VPS. Ini didokumentasikan dengan baik di sini
Pertama mari kita mengeraskan gambar sedikit. Dan mari kita periksa apakah gambar yang telah disediakan telah ufw
diaktifkan.
root@vultr:~# ufw status
Status: inactive
Secara default itu dinonaktifkan, jadi kita perlu menambahkan beberapa aturan.
Mari kita mulai dengan mengkonfigurasi port-port ini.
ufw allow 22/tcp
ufw allow 8080/tcp
Selanjutnya aktifkan firewall.
ufw enable
Jangan khawatir jika Anda menerima peringatan. Jika Anda menambahkan port 22
, Anda tidak akan menghadapi masalah apa pun.
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 kita mulai menginstal, kita perlu memperbarui dan meningkatkan repo. Dengan paket seperti Tomcat
, yang berbasis Java, ada aliran konstan bug yang ditemukan dan perbaikan bug terkait. Biasanya merupakan ide yang baik untuk melakukan ini terlebih dahulu daripada langsung masuk ke instalasi kami.
apt-get update
apt-get -y upgrade
Selanjutnya adalah semua dependensi. Guacamole memiliki beberapa di antaranya. (Daftar lengkap dependensi dan fungsinya dapat ditemukan di sini ). Mari kita lanjutkan dengan menginstal 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
Saat penginstal meminta kata sandi root MySQL, berikan kata sandi dan pastikan untuk mencatatnya. Kami akan menggunakan kata sandi ini nanti untuk membuat basis data Guacamole.
Sekarang kita memiliki semua dependensi, kita dapat melanjutkan dengan mengunduh Guacamole. Guacamole itu sendiri sebagian besar datang dalam bentuk sumber, dan bukan biner. Pertama kita akan pindah ke /tmp
folder untuk menghindari kekacauan bagian lain dari disk. Kemudian unduh semua kode sumber.
Ada empat file sumber / biner untuk diunduh:
guacamole-0.9.13-incubating.war
: Ini adalah aplikasi web. Sebuah WAR
file adalah paket web zip menyediakan satu situs Web host di situs Web Tomcatguacamole-server-0.9.13-incubating.tar.gz
: File ini akan menyediakan guacd
aplikasi backend . Ini menciptakan aliran melalui RDP dan SSH.guacamole-auth-jdbc-0.9.13-incubating.tar.gz
: Kami akan menggunakan database MySQL lokal, jadi kami membutuhkan JDBC
konektor terkait .mysql-connector-java-5.1.43.tar.gz
: Tanpa driver basis data, konektor JDBC tidak melakukan apa-apa. File ini disediakan oleh tim MySQL sendiri.Catatan: unduhan diselesaikan ke server 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 mengunduh semua file ini, ekstrak file tar.gz
's.
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 kode sumber, mari kita buat beberapa guacamole
folder, ini akan digunakan oleh aplikasi guacamole dan dependensinya.
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
Semuanya siap untuk binari Guacamole baru kami. Kita sekarang dapat memulai proses kompilasi dan instalasi. Pindah ke folder Server Guacamole yang diekstraksi.
cd /tmp/guacamole-server-0.9.13-incubating
Konfigurasikan aplikasi untuk juga membuat init.d
file untuk menjalankannya sebagai layanan nanti.
./configure --with-init-dir=/etc/init.d
Perintah harus diakhiri dengan 'ya' di semua perpustakaan dan protokol. Jika tidak, kembali dan periksa perintah apt-get untuk memastikan Anda tidak melewatkan paket apa pun.
------------------------------------------------
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.
Selanjutnya kompilasi dan instal server Gucamole.
make && make install
Setelah semua ini selesai, jalankan ldconfig
untuk membangun kembali jalur pencarian untuk perpustakaan yang telah ditambahkan.
ldconfig
Lanjutkan dengan menggunakan systemctl
pengaturan guacd
(Guacamole Daemon) untuk memulai saat boot.
systemctl enable guacd
Binari Guacamole sekarang diinstal. Sekarang kita akan menyiapkan aplikasi web untuk Tomcat.
Mulailah dengan memindahkan war
file ke guacamole
folder yang baru saja kita buat, setelah ini selesai buat tautan logis di direktori kucing jantan untuk menunjuk ke war
file 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 membutuhkan konektor mysql dan JDBC. Driver JDBC diperlukan di extensions
folder, konektor di 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 konektor dan JDBC tersedia, kita perlu mengedit tocamt8
file. File ini mengandung banyak tomcat8
pengaturan, dan dalam kasus kami, kami perlu menambahkan GUACAMOLE_HOME
variabel di akhir file.
nano /etc/default/tomcat8
Tambahkan dengan yang berikut ini.
GUACAMOLE_HOME=/etc/guacamole
Selanjutnya adalah membuat database. Guacamole menyimpan konfigurasi koneksi dalam database, bukan di dalam file.
Login dengan yang root password
Anda gunakan selama instalasi.
mysql -u root -p
Langkah pertama adalah membuat database yang disebut 'guacamole_db'.
create database guacamole_db;
Kemudian jalankan create user
perintah. Ini akan membuat pengguna dengan kata sandi mysupersecretpassword
, pengguna ini hanya dapat terhubung dari localhost
.
create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";
Berikan CRUD
operasi kepada pengguna ini untuk basis data guacamole_db
.
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Buang hak istimewa dan keluar dari shell.
flush privileges;
exit
Akhiri dengan menambahkan skema Guacamole ke basis 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
file. File ini berisi konfigurasi server MySQL kami yang baru dibuat.
nano /etc/guacamole/guacamole.properties
Tambahkan detail dan kredensial koneksi MySQL.
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword
Selesaikan dengan membuat tautan simbolis ke folder share kucing jantan, karena di sinilah WAR
file akan mencari properti ini.
ln -s /etc/guacamole /usr/share/tomcat8/.guacamole
Akhiri dengan me-restart tomcat8
server dan memulai guacd
daemon server.
service tomcat8 restart
service guacd start
Anda dapat memverifikasi dengan menggunakan perintah status.
service tomcat8 status
service guacd status
Sekarang Anda dapat menjelajah ke VPS Anda di port 8080
http://<yourpublicip>:8080/guacamole/
Gunakan nama pengguna guacadmin
dan kata sandi yang sama guacadmin
. Ini akan memberi Anda akses ke server Guacamole kosong.
Klik di sudut kanan atas nama pengguna Anda guacadmin
dan pilih Settings
. Setelah Anda berada di halaman pengaturan pergi ke Users
tab dan pilih pengguna guacadmin
.
Sekarang ubah kata sandi Anda menjadi sesuatu yang lain atau buat pengguna admin baru dan hapus yang standar guacadmin
.
Ini adalah langkah terakhir: membersihkan setelah Anda selesai.
Hapus kode sumber dan binari yang diunduh dari /tmp
folder.
rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*
Juga, jadikan aplikasi web Guacamole sebagai default. Dalam ekosistem kucing jantan, aplikasi yang mendapatkan ROOT
folder adalah aplikasi yang dijalankan secara default saat Anda mengakses situs web.
Hapus ROOT
placeholder lama .
rm -rf /var/lib/tomcat8/webapps/ROOT
Dan buat tautan simbolis untuk server guacamole menjadi ROOT
satu.
ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT
Ini membutuhkan tomcat restart.
service tomcat8 restart
Edit tomcat8/server.xml
file dan ubah port konektor.
nano /etc/tomcat8/server.xml
Pencarian untuk Connector port
.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Dan ganti 8080
dengan 80
.
Secara default, tomcat tidak mengizinkan pengikatan port di bawah ini 1024
. Untuk mengaktifkan ini, kita perlu memberi tahu tomcat8 untuk membuat binding yang diautentikasi.
Edit default
file tomcat8 dan batalkan komentar pada AUTHBIND
baris dan gunakan opsiyes
nano /etc/default/tomcat8
AUTHBIND=yes
Setelah ini selesai, intall authbind
.
apt-get install authbind
Konfigurasikan agar port 80
dapat diklaim oleh tomcat8.
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
Izinkan port 80
melalui firewall dan hapus aturan untuk 8080
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Mulai kembali kucing jantan.
service tomcat8 restart
Itu saja, sekarang Guacamole harus berjalan di pelabuhan 80
.
Tomcat sebenarnya bukan salah satu aplikasi terbaik dan paling kuat untuk digunakan certbot
. Untungnya Nginx adalah. Kami hanya akan melakukan proxy tomcat ke Nginx. Ini menggunakan fungsionalitas out-of-the-box dari Certbot dengan mengorbankan sedikit RAM.
apt-get install nginx
Setelah diinstal, edit konfigurasi default.
nano /etc/nginx/sites-available/default
Hapus 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 proxy untuk situs web yang berjalan di 8080
. Mulai ulang Nginx, dan aktifkan saat boot.
systemctl restart nginx
systemctl enable nginx
Periksa apakah semuanya berfungsi.
systemctl status nginx
Nonaktifkan port pengujian 8080
dan izinkan lalu lintas di port 80
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Sebelum dapat digunakan certbot
, kita perlu menambahkan yang benar ppa
ke sistem yang berisi paket certbot kami.
add-apt-repository ppa:certbot/certbot
Tekan " ENTER
" untuk menerima perubahan konfigurasi.
Perbarui apt
untuk mengumpulkan paket-paket baru.
apt-get update
Akhirnya, instal modul Nginx untuk menetapkan sertifikat.
apt-get -y install python-certbot-nginx
Konfigurasikan firewall untuk mengizinkan HTTPS
.
ufw allow 443/tcp
Sebelum kami dapat meminta sertifikat baru, kami membutuhkan nama DNS.
nano /etc/nginx/sites-available/default
Tambahkan server_name
pengaturan berikut .
server_name rdp.example.com;
Ubah konfigurasi untuk mencerminkan pengaturan 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 apakah semua berfungsi dan mulai ulang Nginx.
nginx -t
service nginx restart
Sekarang minta sertifikat dengan certbot.
certbot --nginx -d rdp.example.com
Berikan email Anda dan setujui pertanyaan yang diajukan oleh pemasang. (Anda dapat memilih " No
" untuk membagikan email Anda dengan aman.) Certbot akan secara otomatis menanyakan apa yang harus dilakukan HTTPS
. Kami akan menggunakan opsi 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
Hal terakhir yang akan kita lakukan adalah memperbarui DH
parameter. Secara default, ini sedikit lemah untuk standar 2017.
Buat yang baru.
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Selanjutnya, tambahkan mereka ke situs default di Nginx.
nano /etc/nginx/sites-available/default
Tambahkan mereka ke konfigurasi server.
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 kesalahan.
nginx -t
Terapkan perubahan dengan memulai ulang server.
service nginx restart
Bersihkan 8080
aturan lama
ufw delete allow 8080/tcp
Catatan: jika Anda harus menerima "502 Bad Gateway" Anda perlu me-restart tomcat8 .
service tomcat8 restart
Mari Enkripsi sertifikat memerlukan pembaruan. Kita dapat membuat pekerjaan cron untuk ini. Mulailah dengan mengedit crontab
.
crontab -e
Tambahkan baris berikut.
00 2 * * * /usr/bin/certbot renew --quiet
Ini akan memeriksa pukul 02:00 jika ada sertifikat yang membutuhkan perpanjangan dan akan memperbaruinya jika benar.
Buka server Guacamole Anda (salah satu http://<ip>/
atau https://rdp.example.com)
).
Untuk tes ini, Anda akan membutuhkan dua instance lagi: satu Linux VM dan Windows Server 2012 R2 lainnya dengan IP pribadi diaktifkan pada keduanya.
Klik " username
" di sudut kanan atas dan pergi ke " Settings
". Lalu buka " Connections
" dan pilih " New Connection
".
Isi pengaturan berikut (Anda dapat membiarkan yang lain default).
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 layar beranda. Sekarang Anda dapat mengklik " Windows Server 2012 R2
" koneksi dan itu akan RDP ke mesin ini.
Tekan " Ctrl+Shift+Alt
". Ini akan memunculkan menu di samping. Di sini Anda dapat memutuskan koneksi atau melakukan tugas administratif lainnya untuk Guacamole.
Klik username
di bagian atas dalam menu dan pergi ke " Settings
". Lalu buka Connections
tab " " dan pilih " New Connection
".
Isi pengaturan berikut (Anda dapat membiarkan yang lain default).
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 layar beranda. Sekarang Anda dapat mengklik koneksi yang baru dibuat ini dan terhubung ke server Linux Anda melalui SSH.
Anda sekarang memiliki gateway RDP / SSH HTML5 web. Sekarang Anda dapat firewall akses RDP dan SSH publik platform Anda dan mengakses lingkungan Anda dari browser modern apa pun. Untuk informasi lebih lanjut tentang apa yang bisa ditawarkan Guacamole, ada video bagus yang menunjukkan semua kemungkinan platform di sini .
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut