A ถึง Z ของการตั้งค่ากล่อง Linux สำหรับการโฮสต์ภายในที่ปลอดภัย


12

ฉันกำลังติดตั้งระบบปฏิบัติการใหม่บนเครื่องที่จะใช้ในการโฮสต์แอปพลิเคชั่นสองสามตัวสำหรับธุรกิจของเรา แอปพลิเคชันจะเป็นแบบโลคัลเท่านั้น การเข้าถึงจากลูกค้าภายนอกจะทำได้ผ่าน VPN เท่านั้น

การตั้งค่าก่อนหน้านี้ใช้แผงควบคุมการโฮสต์ (Plesk) สำหรับผู้ดูแลระบบส่วนใหญ่และฉันกำลังมองหาการใช้ซอฟต์แวร์อีกชิ้นที่คล้ายกันสำหรับการติดตั้งใหม่ - แต่ฉันคิดว่าในที่สุดฉันก็ควรเรียนรู้วิธีการทำงานทั้งหมด ฉันสามารถทำสิ่งต่าง ๆ ส่วนใหญ่ซอฟต์แวร์จะทำเพื่อฉัน แต่ฉันไม่ชัดเจนใน symbiosis ของมันทั้งหมด ทั้งหมดนี้เป็นความพยายามที่จะทำตัวห่างไกลจากดินแดนแห่งConfiguration Programmer / โปรแกรมเมอร์ถ้าเป็นไปได้

ฉันไม่พบคำแนะนำแบบเต็มทุกที่สำหรับสิ่งที่ฉันกำลังมองหาดังนั้นฉันคิดว่าฉันจะตอบคำถามนี้และหากผู้คนสามารถช่วยฉันในแบบที่ฉันจะแก้ไขด้วยคำตอบและจัดทำเอกสารความคืบหน้าของฉัน / ข้อผิดพลาด หวังว่าสักวันมันจะช่วยให้ใครซักคนลงมา

รายละเอียด:

  • CentOS 5.5 x86_64
  • httpd: Apache / 2.2.3
  • MySQL: 5.0.77 (เพื่ออัพเกรด)
  • PHP: 5.1 (ที่จะอัพเกรด)

ความต้องการ:

  • การรักษาความปลอดภัย !!
    • การถ่ายโอนไฟล์ที่ปลอดภัย
    • การเข้าถึงไคลเอนต์ที่ปลอดภัย (SSL Certs และ CA)
    • จัดเก็บข้อมูลอย่างปลอดภัย
    • การเชื่อมต่อที่ปลอดภัยกับเครื่องอื่น (MySQL)
  • Virtualhosts / หลายโดเมนย่อย
  • อีเมลในพื้นที่จะดี แต่ไม่สำคัญ

ขั้นตอน:

  • ดาวน์โหลด CentOS DVD-iso ล่าสุด (ฝนตกหนักใช้งานได้ดีสำหรับฉัน)

  • ติดตั้ง CentOS:
    ในขณะที่ทำการติดตั้งฉันตรวจสอบตัวเลือกส่วนประกอบเซิร์ฟเวอร์โดยคิดว่าฉันกำลังจะใช้ผู้ดูแลระบบแบบ Plesk เหมือนเดิม เมื่อมองย้อนกลับไปเมื่อพิจารณาว่าฉันตัดสินใจที่จะลองใช้วิธีของตัวเองนี่อาจไม่ใช่ความคิดที่ดีที่สุด

  • การกำหนดค่าพื้นฐาน:
    ผู้ใช้ตั้งค่าเครือข่าย / ที่อยู่ IP ฯลฯ อัปเดต / อัพเกรดยำ

  • อัปเกรด PHP / MySQL:
    เพื่ออัพเกรด PHP และ MySQL เป็นเวอร์ชั่นล่าสุดฉันต้องมองหา repo อื่นนอก CentOS IUS ดูดีและฉันดีใจที่ฉันพบมัน!
  • เพิ่มที่เก็บ IUS ให้กับผู้จัดการแพ็คเกจของเรา

    cd /tmp
    wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
    rpm -Uvh epel-release-1-1.ius.el5.noarch.rpm
    wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-4.ius.el5.noarch.rpm
    rpm -Uvh ius-release-1-4.ius.el5.noarch.rpm
    yum list | grep -w \.ius\. # list all the packages in the IUS repository; use this to find PHP/MySQL version and libraries you want to install
    

    ลบ PHP เวอร์ชันเก่าและติดตั้งเวอร์ชันที่ใหม่กว่าจาก IUS

    rpm -qa | grep php # to list all of the installed php packages we want to remove
    yum shell  # open an interactive yum shell
    remove php-common php-mysql php-cli #remove installed PHP components
    install php53 php53-mysql php53-cli php53-common #add packages you want
    transaction solve #important!! checks for dependencies
    transaction run #important!! does the actual installation of packages.
    [control+d] #exit yum shell
    php -v
    PHP 5.3.2 (cli) (built: Apr  6 2010 18:13:45)
    

    อัพเกรด MySQL จาก IUS repository

    /etc/init.d/mysqld stop
    rpm -qa | grep mysql # to see installed mysql packages
    yum shell
    remove mysql mysql-server #remove installed MySQL components
    install mysql51 mysql51-server mysql51-devel
    transaction solve #important!! checks for dependencies
    transaction run #important!! does the actual installation of packages.
    [control+d] #exit yum shell
    service mysqld start
    
    mysql -v
    Server version: 5.1.42-ius Distributed by The IUS Community Project
    

    คำสั่งการอัพเกรดมารยาทของ IUS วิกิพีเดีย: http://wiki.iuscommunity.org/Doc/ClientUsageGuide


  • ติดตั้ง rssh (เชลล์ที่ จำกัด ) เพื่อให้scpและsftpเข้าถึงโดยไม่อนุญาตให้sshลงชื่อเข้าใช้
  • cd /tmp
    wget http://dag.wieers.com/rpm/packages/rssh/rssh-2.3.2-1.2.el5.rf.x86_64.rpm
    rpm -ivh rssh-2.3.2-1.2.el5.rf.x86_64.rpm
    useradd -m -d /home/dev -s /usr/bin/rssh dev
    passwd dev
    

    แก้ไข/etc/rssh.confเพื่อให้สิทธิ์การเข้าถึง SFTP แก่ผู้ใช้ rssh

    vi /etc/rssh.conf
    

    ไม่ใส่ข้อคิดเห็นหรือเพิ่ม:

    allowscp
    allowsftp
    

    สิ่งนี้ทำให้ฉันสามารถเชื่อมต่อกับเครื่องผ่านโปรโตคอล SFTP ในการส่ง (โปรแกรม FTP ของฉันที่เลือก; ฉันแน่ใจว่ามันคล้ายกับแอปพลิเคชั่น FTP อื่น ๆ )

    คำแนะนำ rssh จัดสรร (ด้วยความซาบซึ้ง!) จากhttp://www.cyberciti.biz/tips/linux-unix-restrict-shell-access-with-rssh.html


  • ตั้งค่าอินเตอร์เฟสเสมือน
  • ifconfig eth1:1 192.168.1.3 up #start up the virtual interface
    cd /etc/sysconfig/network-scripts/
    cp ifcfg-eth1 ifcfg-eth1:1 #copy default script and match name to our virtual interface
    vi ifcfg-eth1:1 #modify eth1:1 script
    

    # ifcfg-eth1: 1 | แก้ไขดังนั้นจึงมีลักษณะดังนี้:
    อุปกรณ์ = eth1: 1
    IPADDR = 192.168.1.3
    NETMASK = 255.255.255.0
    NETWORK = 192.168.1.0
    ONBOOT = ใช่
    NAME = eth1: 1

    เพิ่มอินเตอร์เฟสเสมือนเพิ่มเติมตามต้องการโดยทำซ้ำ เนื่องจากONBOOT=yesบรรทัดในไฟล์ ifcfg-eth1: 1 ส่วนต่อประสานนี้จะปรากฏขึ้นเมื่อระบบบู๊ตหรือเครือข่ายเริ่ม / รีสตาร์ท

    service network restart
    

    กำลังปิดอินเทอร์เฟซ eth0: [ตกลง]
    กำลังปิดอินเทอร์เฟซ eth1: [ตกลง] การ
    ปิดอินเทอร์เฟซแบบย้อนกลับ: [ตกลง]
    การนำอินเทอร์เฟซแบบวนรอบ: [ตกลง]
    การนำอินเทอร์เฟซ eth0
    : [ตกลง]

    ping 192.168.1.3
    

    64 ไบต์จาก 192.168.1.3: icmp_seq = 1 ttl = 64 เวลา = 0.105 ms


  • Virtualhosts
  • ในส่วน rssh ด้านบนฉันเพิ่มผู้ใช้เพื่อใช้สำหรับ SFTP ในโฮมไดเรกทอรีของผู้ใช้ฉันสร้างโฟลเดอร์ชื่อ 'https' นี่คือที่ที่เอกสารสำหรับไซต์นี้จะเผยแพร่ดังนั้นฉันต้องเพิ่มโฮสต์เสมือนที่จะชี้ไป ฉันจะใช้อินเทอร์เฟซเสมือนด้านบนสำหรับไซต์นี้ (ในที่นี้เรียกว่า dev.site.local)

    vi /etc/http/conf/httpd.conf
    

    เพิ่มต่อไปนี้ในตอนท้ายของ httpd.conf:

    <VirtualHost 192.168.1.3:80>  
        ServerAdmin dev@site.local  
        DocumentRoot /home/dev/https  
        ServerName dev.site.local  
        ErrorLog /home/dev/logs/error_log  
        TransferLog /home/dev/logs/access_log  
    </VirtualHost>  
    

    ฉันใส่ไฟล์ดัมมี่ index.html ลงในไดเรกทอรี https เพื่อตรวจสอบทุกอย่าง ฉันลองเรียกดูและพบข้อผิดพลาดที่ได้รับอนุญาต บันทึกให้การอ้างอิงที่คลุมเครือกับสิ่งที่เกิดขึ้น:

    [จันทร์ 17 พฤษภาคม 14:57:11 2010] [ข้อผิดพลาด] [ลูกค้า 192.168.1.100] (13) ปฏิเสธการอนุญาต: การเข้าถึง /index.html ถูกปฏิเสธ

    ฉันลอง chmod 777 และ al. แต่ไม่มีประโยชน์ กลายเป็นว่าฉันต้องการ chmod + x ไดเรกทอรี https และ 'ไดเรกทอรีหลัก

    chmod +x /home
    chmod +x /home/dev
    chmod +x /home/dev/https
    

    วิธีนี้แก้ปัญหานั้นได้


  • DNS
  • ฉันจัดการ DNS ผ่านกล่อง Windows Server 2003 ในพื้นที่ของเรา อย่างไรก็ตามสามารถดูเอกสาร CentOS สำหรับ BIND ได้ที่นี่: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-bind.html


  • SSL
  • เพื่อให้ SSL ทำงานฉันเปลี่ยนสิ่งต่อไปนี้ใน httpd.conf:

    NameVirtualHost 192.168.1.3:443 #make sure this line is in httpd.conf 
    
    <VirtualHost 192.168.1.3:443>  #change port to 443
        ServerAdmin dev@site.local  
        DocumentRoot /home/dev/https  
        ServerName dev.site.local  
        ErrorLog /home/dev/logs/error_log  
        TransferLog /home/dev/logs/access_log  
    </VirtualHost>  
    

    น่าเสียดายที่ฉันได้รับข้อผิดพลาด (รหัสข้อผิดพลาด: ssl_error_rx_record_too_long) เมื่อพยายามเข้าถึงหน้าเว็บด้วย SSL เนื่องจาก JamesHannah ชี้ไปที่ด้านล่างอย่างสง่างามฉันไม่ได้ตั้งค่าตำแหน่งของ certs ใน httpd.conf และทำให้หน้าเว็บถูกส่งไปที่ broswer เนื่องจากใบรับรองทำให้เบราว์เซอร์หยุดชะงัก

    ดังนั้นก่อนอื่นฉันต้องตั้งค่าCAและสร้างไฟล์ใบรับรอง ผมพบว่าดี (ถ้าปี) คำแนะนำเกี่ยวกับกระบวนการที่นี่: http://www.debian-administration.org/articles/284

    นี่คือขั้นตอนที่เกี่ยวข้องที่ฉันทำจากบทความนั้น:

    mkdir /home/CA
    cd /home/CA/
    mkdir newcerts private
    echo '01' > serial
    touch index.txt #this and the above command are for the database that will keep track of certs  
    

    สร้างopenssl.cnfไฟล์ใน/home/CA/dir และแก้ไขตามคำแนะนำแบบลิงก์ด้านบน (สำหรับการอ้างอิงไฟล์ openssl.cnf ที่เสร็จแล้วของฉันมีลักษณะเช่นนี้: http://pastebin.com/raw.php?i=hnZDij4T )

    openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650 -config ./openssl.cnf #this creates the cacert.pem which gets distributed and imported to the browser(s)
    

    แก้ไขopenssl.cnfอีกครั้งตามคำแนะนำแบบแนะนำ

    #generates certificate request, and key.pem which I renamed dev.key.pem.
    openssl req -sha1 -new -nodes -out dev.req.pem -config ./openssl.cnf 
    

    แก้ไขopenssl.cnfอีกครั้งตามคำแนะนำแบบแนะนำ

    #create and sign certificate.
    openssl ca -out dev.cert.pem -md sha1 -config ./openssl.cnf -infiles dev.req.pem 
    

    สำคัญ!

    ย้ายไฟล์และอ้างอิงจาก httpd.conf ในตำแหน่งใหม่

    cp dev.cert.pem /home/dev/certs/cert.pem
    cp dev.key.pem /home/certs/key.pem
    

    ฉันอัปเดต httpd.conf เพื่อให้สอดคล้องกับ certs และเปิด SSLEngine:

    NameVirtualHost 192.168.1.3:443 
    
    <VirtualHost 192.168.1.3:443>
        ServerAdmin dev@site.local  
        DocumentRoot /home/dev/https  
        SSLEngine on
        SSLCertificateFile /home/dev/certs/cert.pem
        SSLCertificateKeyFile /home/dev/certs/key.pem
        ServerName dev.site.local
        ErrorLog /home/dev/logs/error_log
        TransferLog /home/dev/logs/access_log
    </VirtualHost>  
    

    วางใบรับรอง CA ไว้ในที่ที่เข้าถึงได้บนเว็บและดาวน์โหลด / นำเข้าไว้ในเบราว์เซอร์ของฉัน ตอนนี้ฉันสามารถเยี่ยมชมhttps: //dev.site.localโดยไม่มีข้อผิดพลาดหรือคำเตือน


    และนี่คือที่ฉันอยู่ ฉันจะแก้ไขมันต่อไปเรื่อย ๆ เคล็ดลับใด ๆ เกี่ยวกับวิธีกำหนดค่าอีเมล SSL และ / หรือกำหนดค่าการเชื่อมต่อที่ปลอดภัยไปยังกล่องอื่นซึ่งจะเป็นเซิร์ฟเวอร์ MySQL จะได้รับการชื่นชม


    ฉันไม่เข้าใจว่าทำไมคุณต้องมีส่วนต่อประสานเครือข่ายเสมือน
    Milan Babuškov

    @Milan เพราะฉันจะมีหลายโดเมน / โดเมนย่อยในเครื่องนี้ ในการใช้ VirtualHost และ SSL แต่ละโดเมน / โดเมนย่อยจะต้องมีที่อยู่ IP ของตนเอง httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts
    stormdrain

    ดูเหมือนว่าที่อยู่ IP จะเสียเปล่า แต่ก็โอเค หรือคุณสามารถใช้พอร์ต TCP / IP ที่แตกต่างกันสำหรับแต่ละโดเมน - ทั้งหมดบน IP เดียว ด้วยวิธีนี้เว็บเซิร์ฟเวอร์จะพึ่งพาการกำหนดค่าระบบน้อยกว่า
    Milan Babuškov

    1
    @Milan: เนื่องจากการตั้งค่าเป็นแบบโลคัลเท่านั้นฉันจึงมีวิธีที่อยู่ IP ที่หรูหรากว่าที่ฉันต้องการ ฉันพบการตั้งค่าอินเทอร์เฟซเพิ่มเติมเป็นกระบวนการที่ค่อนข้างรวดเร็วและไม่เจ็บปวด หากฉันตั้งค่าระบบนี้เพื่อการใช้งานสาธารณะขอบคุณ Apache2.2.x และการอัปเกรด TLS ดูเหมือนว่า VirtualHost จะทำงานได้ดีขึ้นด้วย SSL: serverfault.com/questions/109766/…
    stormdrain

    1
    อยากจะแนะนำkoltsoff.com/pub/securing-centos - แนวทางการศึกษาที่ดีเกี่ยวกับการรักษาความปลอดภัย CentOS (ซึ่งส่วนใหญ่สามารถใช้งานได้ง่ายกับ distros อื่น ๆ ) - มันไม่ครอบคลุมพื้นที่ แต่ทุกอย่างในนั้นควรมีความเข้าใจและนำไปใช้กับ เซิร์ฟเวอร์ CentOS ใด ๆ ที่ไม่ได้อยู่หลังไฟร์วอลล์ที่คุณเข้าใจและควบคุม
    dunxd

    คำตอบ:


    6

    คู่มือนี้มีคำตอบมากมายเกี่ยวกับการใช้ SSL กับ Apache บอกวิธีสร้างใบรับรองที่ลงนามเองวิธีรับใบรับรองที่ถูกต้องจากผู้ออกใบรับรองที่รู้จัก (CA) และวิธีสร้าง CA ของคุณเองที่ไม่น่าเชื่อถือเพื่อสร้าง ใบรับรองเต็มรูปแบบ http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html

    สำหรับโฮสต์เสมือนและ SSL แต่ละโฮสต์จะต้องมีที่อยู่ IP ของตัวเองหรือโซลูชันที่สกปรกกว่านั้นคือการโฮสต์บนพอร์ตที่แตกต่างกันกว่ามาตรฐาน:443เนื่องจากลักษณะของใบรับรอง SSL โฮสติ้งเสมือนที่ใช้ชื่อจะไม่สอดคล้องกับ SSL นี่คือเหตุผลที่คุณต้องการวิธีอื่นในการแยกความแตกต่าง พอร์ต / IP ที่ต่างกัน

    การตั้งค่า SSH นั้นง่ายมากควรรันบนเซิร์ฟเวอร์ของคุณอยู่แล้ว คุณจะต้องทำหลายสิ่งเพื่อล็อคมันไว้

    PermitRootLogin no
    AllowGroups admins
    PubkeyAuthentication yes
    PermitEmptyPasswords no
    PasswordAuthentication no
    

    สามารถเพิ่มลงในของคุณ/etc/ssh/sshd_configเพื่อ จำกัด การเข้าถึงรูทระยะไกลและลบการรับรองความถูกต้องของรหัสผ่านแทนการใช้คีย์สาธารณะคู่ส่วนตัวเพื่อเข้าสู่ระบบ

    เพื่อสร้าง SSH keypair ของคุณคุณสามารถใช้puttygenใน Windows http://putty.very.rulez.org/download.htmlหรือคุณสามารถสร้าง keypair ในสภาพแวดล้อมเช่น Linux ssh-keygen -b 2048 -t RSA -f my_keypairดังนั้น: สิ่งนี้จะสร้างmy_keypairไฟล์และmy_keypair.pubไฟล์ (ตั้งชื่อตามตัวอย่างนี้เท่านั้นฉันอาจแนะนำให้ตั้งชื่อผู้ใช้ของคุณหรือออกจาก-fและปล่อยให้มันสร้าง~/.ssh/id_rsa)

    ถ่ายโอนmy_keypairไปยังเวิร์กสเตชันของคุณอย่างปลอดภัยสำหรับการเข้าถึง SSH ในอนาคตนี่เป็นรหัสส่วนตัวคุณไม่ควรแชร์กับใคร จากนั้นบนเซิร์ฟเวอร์สร้าง$HOME/.sshถ้ามันไม่ได้อยู่แล้วmkdir ~/.sshจากนั้นคัดลอกคีย์สาธารณะ ( my_keypair.pub) ไป~/.ssh/ถ้าคุณมีอยู่แล้วauthorized_keysใน~/.sshเพราะคุณได้กระทำเช่นนี้สิ่งอื่น ๆ ที่คุณสามารถทำได้cat my_keypair.pub >> authorized_keysเพื่อผนวกคีย์สาธารณะของคุณหรือcp my_keypair.pub authorized_keysถ้า มันไม่มีอยู่จริง

    ตอนนี้เรียกใช้chmod 700 ~/.sshและchmod 644 ~/.ssh/my_keypair.pub ~/.ssh/authorized_keysตั้งค่าการอนุญาต คุณสามารถเก็บสำเนาmy_keypairไว้~/.ssh/เพื่อใช้เมื่อเชื่อมต่อกับโฮสต์อื่น ๆ แต่คุณควรทำchmod 600 ~/.ssh/my_keypairเพื่อให้แน่ใจว่าไม่มีใครสามารถเข้าถึงได้

    คุณจะต้องการเพิ่มบัญชีผู้ใช้ปกติสำหรับตัวคุณเองและเพิ่มตัวเองลงในกลุ่มอื่นที่ไม่ใช่usersเช่นadminsในตัวอย่างของฉัน

    คุณอาจต้องการเพิ่มผู้ใช้หรือกลุ่มของคุณ/etc/sudoersเพื่อเปิดsudoใช้งานหากคุณยังไม่ได้เพิ่ม สามารถทำได้ด้วยคำสั่งvisudoซึ่งเป็นวิธีเดียวที่คุณควรแก้ไขไฟล์นี้ visudoรันข้อผิดพลาดและการตรวจสอบไวยากรณ์ในการกำหนดค่าของคุณก่อนที่จะเขียนออกมาเพื่อป้องกันการสูญเสียsudoการใช้งาน

    username ALL=(ALL) ALL
    

    เพิ่มใน/etc/sudoersจะอนุญาตให้usernameเรียกใช้sudo yum install blahและจะแจ้งให้คุณใส่รหัสผ่านของคุณ สิ่งนี้มีประโยชน์ในกรณีที่คุณมีผู้ดูแลระบบรายอื่นหรือผู้ดูแลระบบชั่วคราวคุณไม่จำเป็นต้องแชร์รหัสผ่านรูท


    หากคุณสร้าง keypair ใน windows จาก puttygen โปรดระวังว่าคุณต้องเปลี่ยนรูปแบบของพับลิกคีย์เมื่อคุณอัพโหลดไปยังเซิร์ฟเวอร์ ฉันจำไม่ได้ว่า แต่ youtube มันมีวิดีโอจริง
    ESW

    1

    ปัญหาของการกำหนดค่า SSL คือคุณไม่ได้เปิดใช้งาน SSL จริง ๆคุณต้องมีคำสั่ง Apache สำหรับ:

    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem
    

    หากไม่มีสิ่งนี้คุณจะได้รับบันทึกข้อผิดพลาดที่ยาวเกินไปนั่นเป็นเพราะแทนที่จะเป็นส่วนหัว SSL ที่เบราว์เซอร์ของคุณคาดหวัง แต่จะได้รับเพียงหน้าเว็บที่ไม่ได้เข้ารหัสในกลุ่มก้อนขนาดใหญ่


    1
    (หากไม่มีสิ่งนี้สิ่งที่คุณได้สร้างขึ้นนั้นก็คือการฟัง SSL ที่ไม่ใช่ vhost ปกติบนพอร์ต 443)
    JamesHannah

    1

    MySQL จากแพ็คเกจเดิมรองรับ SSL ในการตรวจสอบบิลด์ MySQL ของคุณให้เรียกใช้

    mysqladmin variables | grep ssl
    

    have_ssl yesคุณควรจะหาสิ่งที่ต้องการ ตั้งค่าตัวเลือกssl-ca, และssl-keyssl-cert

    สร้างบัญชีผู้ใช้ด้วยข้อกำหนด SSL:

    create user@host identified by 'password'
    grant privilegelist on database.tables to user@host require ssl
    

    ขอบคุณสำหรับคำตอบ ฉันลืมที่จะพูดถึงว่าฉันจะจัดเก็บไฟล์บนเซิร์ฟเวอร์ db ด้วยดังนั้นดูเหมือนว่า stunnel จะทำงานได้ดีขึ้นในกรณีนี้
    stormdrain
    โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
    Licensed under cc by-sa 3.0 with attribution required.