The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


SUSE Security Announcement: permissions (SUSE-SA:2005:062)


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Date: Mon, 24 Oct 2005 11:33:18 +0200
From: Ludwig Nussel <ludwig.nussel@suse.de.>
To: [email protected]
Subject: SUSE Security Announcement: permissions (SUSE-SA:2005:062)
Message-ID: <435CAA5E.mailHMM1S1W9C@suse.de.>
User-Agent: nail 11.4 8/29/04
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: antivirus-gw at tyumen.ru


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

______________________________________________________________________________

                        SUSE Security Announcement


        Package:                permissions
        Announcement ID:        SUSE-SA:2005:062
        Date:                   Mon, 24 Oct 2005 08:00:00 +0000
        Affected Products:      SUSE LINUX 10.0
                                SUSE LINUX 9.3
                                SUSE LINUX 9.2
                                SUSE LINUX 9.1
                                SuSE Linux 9.0
                                SuSE Linux Desktop 1.0
                                SuSE Linux Enterprise Server 8
                                SUSE SLES 9
                                UnitedLinux 1.0
        Vulnerability Type:     information disclosure
        Severity (1-10):        4
        SUSE Default Package:   yes
        Cross-References:       -

    Content of This Advisory:
        1) Security Vulnerability Resolved:
             information disclosure via permissions package
           Problem Description
        2) Solution or Work-Around
        3) Special Instructions and Notes
        4) Package Location and Checksums
        5) Pending Vulnerabilities, Solutions, and Work-Arounds:
            - See SUSE Security Summary Report
        6) Authenticity Verification and Additional Information

______________________________________________________________________________

1) Problem Description and Brief Discussion

   SUSE LINUX ships with three pre defined sets of permissions, 'easy',
   'secure' and 'paranoid'. The chkstat program contained in the
   permissions package is used to set those permissions to the chosen
   level. Level 'easy' which is the default allows some world writeable
   directories. /usr/src/packages/RPMS and subdirectories is among
   them. To prevent users from playing tricks in there e.g. linking to
   /etc/shadow chkstat doesn't touch symlinks or files with an hardlink
   count != 1.
   
   Stefan Nordhausen discovered a way to trick this check. To gain
   access to e.g. /etc/shadow a malicious user has to place a hardlink
   to that file at a place that is modified by chkstat. chkstat will
   not touch the file because it has a hardlink count of two. However,
   if the administrator modifies the user database the original
   /etc/shadow gets deleted and replaced by a new one. That means the
   hardlink count of the file created by the malicious user drops to
   one. At this point chkstat will modify the file's permissions so
   anyone can read it. So it's technically impossible for chkstat to
   modify permissions of files in world writeable directories in a
   secure way.
   
   One such world writeable directoy in level 'easy' is
   /usr/src/packages/RPMS. Only subdirectories need to be adjusted in
   this case. Since normal users cannot create hard links to
   directories the problem can be solved by telling chkstat to not
   accept regular files. Another problematic directory is /var/games.
   Only members of group 'games' may write to it but it's likely that
   games with setgid 'games' are exploitable to allow user to gain
   group 'games' membership.
   
   The updated permissions package now tells chkstat when to only
   accept directories and no longer touches anything below /var/games
   to solve the described problems. On SUSE Linux 9.0 xmcd contained
   world writeable directories that suffered from the same problems.
   Updated xmcd packages for SUSE Linux 9.0 are therefore provided as
   well.
   
   We like to thank Stefan Nordhausen for pointing out the problems.

2) Solution or Work-Around

   In permissions level 'secure' no games are setgid 'games' and
   /usr/src/packages is not world writeable. You are safe if you
   switched to that level before any potentially malicious users could
   log in.

3) Special Instructions and Notes

   None

4) Package Location and Checksums

   The preferred method for installing security updates is to use the YaST
   Online Update (YOU) tool. YOU detects which updates are required and
   automatically performs the necessary steps to verify and install them.
   Alternatively, download the update packages for your distribution manually
   and verify their integrity by the methods listed in Section 6 of this
   announcement. Then install the packages using the command

     rpm -Fhv <file.rpm>

   to apply the update, replacing <file.rpm> with the filename of the
   downloaded RPM package.

   
   x86 Platform:
   
   SUSE LINUX 10.0:
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/i586/filesystem-10.0-4.2.i586.rpm
          5f634cb4cd45ad3283e6055c3794ecff
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/i586/permissions-2005.10.20-0.1.i586.rpm
          7e9beef0e8df0ba419ff64ac96ad57e1
   
   SUSE LINUX 9.3:
   ftp://ftp.suse.com/pub/suse/i386/update/9.3/rpm/i586/permissions-2005.10.20-0.1.i586.rpm
          216afa8469276198015e5fff177580d2
   
   SUSE LINUX 9.2:
   ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/i586/permissions-2005.10.20-0.1.i586.rpm
          3d61d27c7bf81889a321972ac12dcaab
   
   SUSE LINUX 9.1:
   ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/permissions-2005.10.20-0.2.i586.rpm
          72d9a0b5b0b750fb656aa54eb7c6ebdd
   
   SuSE Linux 9.0:
   ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/permissions-2005.10.20-3.i586.rpm
          cf8c022048e93fc6d159913ad7824e6a
   ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586/xmcd-3.0.2-552.i586.rpm
          f3e82cf342c45ab46fca16c98587b22d
   
   Power PC Platform:
   
   SUSE LINUX 10.0:
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/ppc/filesystem-10.0-4.2.ppc.rpm
          f0077c15af6a95edbd7aa25055668967
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/ppc/permissions-2005.10.20-0.1.ppc.rpm
          7f6552f5450b98821912c8703c580b38
   
   x86-64 Platform:
   
   SUSE LINUX 10.0:
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/x86_64/filesystem-10.0-4.2.x86_64.rpm
          214b7d7fc6dfdac3e07eff2ad4abf0e9
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/x86_64/permissions-2005.10.20-0.1.x86_64.rpm
          7b15cb94762ae6bc1cd7e441a08c39b4
   
   SUSE LINUX 9.3:
   ftp://ftp.suse.com/pub/suse/i386/update/9.3/rpm/x86_64/permissions-2005.10.20-0.1.x86_64.rpm
          0d11d64965eee2cefeb56edfe258fee4
   
   SUSE LINUX 9.2:
   ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/x86_64/permissions-2005.10.20-0.1.x86_64.rpm
          4f2373ed4a93e3974b919e595a9490b7
   
   SUSE LINUX 9.1:
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/x86_64/permissions-2005.10.20-0.2.x86_64.rpm
          3ca12f4aae9b7a1b484e6a0e4f8f658d
   
   SuSE Linux 9.0:
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/permissions-2005.10.20-3.x86_64.rpm
          853503b8868c1d2a34d05aaf6824cf83
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/xmcd-3.0.2-552.x86_64.rpm
          fd95ac5dd3980af5308abe7062849149
   
   Sources:
   
   SUSE LINUX 10.0:
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/src/filesystem-10.0-4.2.src.rpm
          1784328035be5507b20737a2edfce8d8
   ftp://ftp.suse.com/pub/suse/i386/update/10.0/rpm/src/permissions-2005.10.20-0.1.src.rpm
          0fc7ffe7a9688f04c916c50709db08da
   
   SUSE LINUX 9.3:
   ftp://ftp.suse.com/pub/suse/i386/update/9.3/rpm/src/permissions-2005.10.20-0.1.src.rpm
          0a856cadf3b65db9434f20203413aba3
   
   SUSE LINUX 9.2:
   ftp://ftp.suse.com/pub/suse/i386/update/9.2/rpm/src/permissions-2005.10.20-0.1.src.rpm
          57c3240513c9861634e79547df4f8cf0
   
   SUSE LINUX 9.1:
   ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/src/permissions-2005.10.20-0.2.src.rpm
          b47b5e76f759227d325a33dbbcb5ae96
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.1/rpm/src/permissions-2005.10.20-0.2.src.rpm
          f98fa35639b7d118e6aed1ecb99c4cbb
   
   SuSE Linux 9.0:
   ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/permissions-2005.10.20-3.src.rpm
          8fa2759f6d2012aee4571e5830ea26eb
   ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/src/xmcd-3.0.2-552.src.rpm
          44f64e89f871fd07bd6291d88277b327
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/permissions-2005.10.20-3.src.rpm
          48857a183ff120bc39ebb280eaca8764
   ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/xmcd-3.0.2-552.src.rpm
          9e961bdfaf2c935857eb86bd64b74c83
   
   Our maintenance customers are notified individually. The packages are
   offered for installation from the maintenance web:
   
   http://support.novell.com/cgi-bin/search/searchtid.cgi?psdb/f91efcfdcc1e3f92b382d1725439765d.html
   http://portal.suse.com/psdb/f91efcfdcc1e3f92b382d1725439765d.html
   http://support.novell.com/cgi-bin/search/searchtid.cgi?psdb/5811be293ad9fa388c6d368261df375d.html
   http://portal.suse.com/psdb/5811be293ad9fa388c6d368261df375d.html

______________________________________________________________________________

5) Pending Vulnerabilities, Solutions, and Work-Arounds:

   - See SUSE Security Summary Report
     
     
______________________________________________________________________________

6) Authenticity Verification and Additional Information

  - Announcement authenticity verification:


    SUSE security announcements are published via mailing lists and on Web
    sites. The authenticity and integrity of a SUSE security announcement is
    guaranteed by a cryptographic signature in each announcement. All SUSE
    security announcements are published with a valid signature.

    To verify the signature of the announcement, save it as text into a file
    and run the command

      gpg --verify <file>

    replacing <file> with the name of the file where you saved the
    announcement. The output for a valid signature looks like:

      gpg: Signature made <DATE> using RSA key ID 3D25D3D9
      gpg: Good signature from "SuSE Security Team <security@suse.de.>"

    where <DATE> is replaced by the date the document was signed.

    If the security team's key is not contained in your key ring, you can
    import it from the first installation CD. To import the key, use the
    command

      gpg --import gpg-pubkey-3d25d3d9-36e12d04.asc

  - Package authenticity verification:


    SUSE update packages are available on many mirror FTP servers all over the
    world. While this service is considered valuable and important to the free
    and open source software community, the authenticity and the integrity of
    a package needs to be verified to ensure that it has not been tampered
    with.

    There are two verification methods that can be used independently from
    each other to prove the authenticity of a downloaded file or RPM package:

    1) Using the internal gpg signatures of the rpm package
    2) MD5 checksums as provided in this announcement

    1) The internal rpm package signatures provide an easy way to verify the
       authenticity of an RPM package. Use the command

        rpm -v --checksig <file.rpm>

       to verify the signature of the package, replacing <file.rpm> with the
       filename of the RPM package downloaded. The package is unmodified if it
       contains a valid signature from [email protected] with the key ID 9C800ACA.

       This key is automatically imported into the RPM database (on
       RPMv4-based distributions) and the gpg key ring of 'root' during
       installation. You can also find it on the first installation CD and at
       the end of this announcement.

    2) If you need an alternative means of verification, use the md5sum
       command to verify the authenticity of the packages. Execute the command

         md5sum <filename.rpm>

       after you downloaded the file from a SUSE FTP server or its mirrors.
       Then compare the resulting md5sum with the one that is listed in the
       SUSE security announcement. Because the announcement containing the
       checksums is cryptographically signed (by [email protected]), the
       checksums show proof of the authenticity of the package if the
       signature of the announcement is valid. Note that the md5 sums
       published in the SUSE Security Announcements are valid for the
       respective packages only. Newer versions of these packages cannot be
       verified.

  - SUSE runs two security mailing lists to which any interested party may
    subscribe:


    [email protected]
        -   General Linux and SUSE security discussion.
            All SUSE security announcements are sent to this list.
            To subscribe, send an e-mail to
                <suse-security-subscribe@suse.com.>.

    [email protected]
        -   SUSE's announce-only mailing list.
            Only SUSE's security announcements are sent to this list.
            To subscribe, send an e-mail to
                <suse-security-announce-subscribe@suse.com.>.

    For general information or the frequently asked questions (FAQ),
    send mail to <suse-security-info@suse.com.> or
    <suse-security-faq@suse.com.>.


SUSE's security contact is <security@suse.com.> or <security@suse.de.>. The <security@suse.de.> public key is listed below.
______________________________________________________________________________ The information in this advisory may be distributed or reproduced, provided that the advisory is not modified in any way. In particular, the clear text signature should show proof of the authenticity of the text. SUSE Linux Products GmbH provides no warranties of any kind whatsoever with respect to the information contained in this security advisory. Type Bits/KeyID Date User ID pub 2048R/3D25D3D9 1999-03-06 SuSE Security Team <security@suse.de.> pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.de.> - -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDnu9IERBACT8Y35+2vv4MGVKiLEMOl9GdST6MCkYS3yEKeueNWc+z/0Kvff 4JctBsgs47tjmiI9sl0eHjm3gTR8rItXMN6sJEUHWzDP+Y0PFPboMvKx0FXl/A0d M+HFrruCgBlWt6FA+okRySQiliuI5phwqkXefl9AhkwR8xocQSVCFxcwvwCglVcO QliHu8jwRQHxlRE0tkwQQI0D+wfQwKdvhDplxHJ5nf7U8c/yE/vdvpN6lF0tmFrK XBUX+K7u4ifrZlQvj/81M4INjtXreqDiJtr99Rs6xa0ScZqITuZC4CWxJa9GynBE D3+D2t1V/f8l0smsuYoFOF7Ib49IkTdbtwAThlZp8bEhELBeGaPdNCcmfZ66rKUd G5sRA/9ovnc1krSQF2+sqB9/o7w5/q2qiyzwOSTnkjtBUVKn4zLUOf6aeBAoV6NM CC3Kj9aZHfA+ND0ehPaVGJgjaVNFhPi4x0e7BULdvgOoAqajLfvkURHAeSsxXIoE myW/xC1sBbDkDUIBSx5oej73XCZgnj/inphRqGpsb+1nKFvF+rQoU3VTRSBQYWNr YWdlIFNpZ25pbmcgS2V5IDxidWlsZEBzdXNlLmRlPohcBBMRAgAcBQI57vSBBQkD wmcABAsKAwQDFQMCAxYCAQIXgAAKCRCoTtronIAKyl8sAJ98BgD40zw0GHJHIf6d NfnwI2PAsgCgjH1+PnYEl7TFjtZsqhezX7vZvYCIRgQQEQIABgUCOnBeUgAKCRCe QOMQAAqrpNzOAKCL512FZvv4VZx94TpbA9lxyoAejACeOO1HIbActAevk5MUBhNe LZa/qM2JARUDBRA6cGBvd7LmAD0l09kBATWnB/9An5vfiUUE1VQnt+T/EYklES3t XXaJJp9pHMa4fzFa8jPVtv5UBHGee3XoUNDVwM2OgSEISZxbzdXGnqIlcT08TzBU D9i579uifklLsnr35SJDZ6ram51/CWOnnaVhUzneOA9gTPSr+/fT3WeVnwJiQCQ3 0kNLWVXWATMnsnT486eAOlT6UNBPYQLpUprF5Yryk23pQUPAgJENDEqeU6iIO9Ot 1ZPtB0lniw+/xCi13D360o1tZDYOp0hHHJN3D3EN8C1yPqZd5CvvznYvB6bWBIpW cRgdn2DUVMmpU661jwqGlRz1F84JG/xe4jGuzgpJt9IXSzyohEJB6XG5+D0BiF0E ExECAB0FAjxqqTQFCQoAgrMFCwcKAwQDFQMCAxYCAQIXgAAKCRCoTtronIAKyp1f AJ9dR7saz2KPNwD3U+fy/0BDKXrYGACfbJ8fQcJqCBQxeHvt9yMPDVq0B0W5Ag0E Oe70khAIAISR0E3ozF/la+oNaRwxHLrCet30NgnxRROYhPaJB/Tu1FQokn2/Qld/ HZnh3TwhBIw1FqrhWBJ7491iAjLR9uPbdWJrn+A7t8kSkPaF3Z/6kyc5a8fas44h t5h+6HMBzoFCMAq2aBHQRFRNp9Mz1ZvoXXcI1lk1l8OqcUM/ovXbDfPcXsUVeTPT tGzcAi2jVl9hl3iwJKkyv/RLmcusdsi8YunbvWGFAF5GaagYQo7YlF6UaBQnYJTM 523AMgpPQtsKm9o/w9WdgXkgWhgkhZEeqUS3m5xNey1nLu9iMvq9M/iXnGz4sg6Q 2Y+GqZ+yAvNWjRRou3zSE7Bzg28MI4sAAwYH/2D71Xc5HPDgu87WnBFgmp8MpSr8 QnSs0wwPg3xEullGEocolSb2c0ctuSyeVnCttJMzkukL9TqyF4s/6XRstWirSWaw JxRLKH6Zjo/FaKsshYKf8gBkAaddvpl3pO0gmUYbqmpQ3xDEYlhCeieXS5MkockQ 1sj2xYdB1xO0ExzfiCiscUKjUFy+mdzUsUutafuZ+gbHog1CN/ccZCkxcBa5IFCH ORrNjq9pYWlrxsEn6ApsG7JJbM2besW1PkdEoxak74z1senh36m5jQvVjA3U4xq1 wwylxadmmJaJHzeiLfb7G1ZRjZTsB7fyYxqDzMVul6o9BSwO/1XsIAnV1uuITAQY EQIADAUCOe70kgUJA8JnAAAKCRCoTtronIAKyksiAJsFB3/77SkH3JlYOGrEe1Ol 0JdGwACeKTttgeVPFB+iGJdiwQlxasOfuXyITAQYEQIADAUCPGqpWQUJCgCCxwAK CRCoTtronIAKyofBAKCSZM2UFyta/fe9WgITK9I5hbxxtQCfX+0ar2CZmSknn3co SPihn1+OBNyZAQ0DNuEtBAAAAQgAoCRcd7SVZEFcumffyEwfLTcXQjhKzOahzxpo omuF+HIyU4AGq+SU8sTZ/1SsjhdzzrSAfv1lETACA+3SmLr5KV40Us1w0UC64cwt A46xowVq1vMlH2Lib+V/qr3b1hE67nMHjysECVx9Ob4gFuKNoR2eqnAaJvjnAT8J /LoUC20EdCHUqn6v+M9t/WZgC+WNR8cq69uDy3YQhDP/nIan6fm2uf2kSV9A7ZxE GrwsWl/WX5Q/sQqMWaU6r4az98X3z90/cN+eJJ3vwtA+rm+nxEvyev+jaLuOQBDf ebh/XA4FZ35xmi+spdiVeJH4F/ubaGlmj7+wDOF3suYAPSXT2QAFEbQlU3VTRSBT ZWN1cml0eSBUZWFtIDxzZWN1cml0eUBzdXNlLmRlPokBFQMFEDbhLUfkWLKHsco8 RQEBVw4H/1vIdiOLX/7hdzYaG9crQVIk3QwaB5eBbjvLEMvuCZHiY2COUg5QdmPQ 8SlWNZ6k4nu1BLcv2g/pymPUWP9fG4tuSnlUJDrWGm3nhyhAC9iudP2u1YQY37Gb B6NPVaZiYMnEb4QYFcqv5c/r2ghSXUTYk7etd6SW6WCOpEqizhx1cqDKNZnsI/1X 11pFcO2N7rc6byDBJ1T+cK+F1Ehan9XBt/shryJmv04nli5CXQMEbiqYYMOu8iaA 8AWRgXPCWqhyGhcVD3LRhUJXjUOdH4ZiHCXaoF3zVPxpeGKEQY8iBrDeDyB3wHmj qY9WCX6cmogGQRgYG6yJqDalLqrDOdmJARUDBRA24S0Ed7LmAD0l09kBAW04B/4p WH3f1vQn3i6/+SmDjGzUu2GWGq6Fsdwo2hVM2ym6CILeow/K9JfhdwGvY8LRxWRL hn09j2IJ9P7H1Yz3qDf10AX6V7YILHtchKT1dcngCkTLmDgC4rs1iAAl3f089sRG BafGPGKv2DQjHfR1LfRtbf0P7c09Tkej1MP8HtQMW9hPkBYeXcwbCjdrVGFOzqx+ AvvJDdT6a+oyRMTFlvmZ83UV5pgoyimgjhWnM1V4bFBYjPrtWMkdXJSUXbR6Q7Pi RZWCzGRzwbaxqpl3rK/YTCphOLwEMB27B4/fcqtBzgoMOiaZA0M5fFoo54KgRIh0 zinsSx2OrWgvSiLEXXYKiEYEEBECAAYFAjseYcMACgkQnkDjEAAKq6ROVACgjhDM /3KM+iFjs5QXsnd4oFPOnbkAnjYGa1J3em+bmV2aiCdYXdOuGn4ZiQCVAwUQN7c7 whaQN/7O/JIVAQEB+QP/cYblSAmPXxSFiaHWB+MiUNw8B6ozBLK0QcMQ2YcL6+Vl D+nSZP20+Ja2nfiKjnibCv5ss83yXoHkYk2Rsa8foz6Y7tHwuPiccvqnIC/c9Cvz dbIsdxpfsi0qWPfvX/jLMpXqqnPjdIZErgxpwujas1n9016PuXA8K3MJwVjCqSKI RgQQEQIABgUCOhpCpAAKCRDHUqoysN/3gCt7AJ9adNQMbmA1iSYcbhtgvx9ByLPI DgCfZ5Wj+f7cnYpFZI6GkAyyczG09sE= =LRKC - -----END PGP PUBLIC KEY BLOCK----- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBQ1yPZXey5gA9JdPZAQJ+4wf9H7nDq3wzVoJnyhFvSaiGU06eJWZVuChy bhlQREF6ToX/5RixIXivIWgZUa1s/PTkQqrSEfDQ5dfyCz/7BRkflRaJRz5n0CrS qOCYR9RZZQ6yZQN0ju1arT1gwxa/dcVZdUPdHhIxOyfc/kTwFPVBDOTmbgHzGguD dJY+ktFwqVPVIyrgf+vTsR5dHlzQAVP6OqXXY3iCHJWvQTx3tvSx5j8CsOfudvAm 5ii4fbCOW3LRjOIB9dE22kjMo/cYeL1+RIGy7lCHSKSVYAYRO/Bt7UYdyLCQUiWU THh3dWWBThMi7lAaegJA8vBB3oedjfDhLpXX78GMbQGtm41IBAJm4w== =kAm2 -----END PGP SIGNATURE-----

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру