Language Selection

English French German Italian Portuguese Spanish

kubuntu vs MS ISA Proxy ft apt-get

Recently I had to install an app on Kubuntu through apt but found that I was locked behind a MS ISA Proxy server at work. I read numerous articles and help responses in the forums that suggested adding a line to /etc/apt/apt.conf with the required proxy settings.

I added the regulatory Acquire::http::proxy http://username:password@server and nothing worked. It does not allow the use of the domain name\username combination. Neither does the export environment setting. This poses a bit of a problem if your proxy server is expecting both.

After a wee bit of research (about 20 mins as I get bored following the worldwide tangent and end up on IMDB for an hour before remembering what I was looking for in the first place) I stumbled upon this:

Ensure python is installed first, then

Download the latest version of NTLMAPS from

Yes, I know you can’t connect to the proxy server but if you change konqueror’s proxy settings:

open Konqueror,
scroll to PROXY
select Manually specify proxy setting - setup

and enter your proxy server settings you will be prompted to enter your username and password and this prompt WILL let you input it with the DOMAIN\USERNAME format.

Extract the contents of the downloaded file into a directory using your preferred extraction tool.

In a shell, or if you are already in one, CD into the directory and use VI or your favourite editor to modify server.cfg

LISTEN_PORT:5865 --swap for whatever local port you want

PARENT_PROXY_PORT:8080 --swap for your servers port

NT_DOMAIN:pdcl --swap for your domain name

USER:steve --swap for your username

PASSWORD:notgoingtotellyou --swap for your password

Save your changes and exit back to the prompt

Start the server with

pdcl-vaio3:/# python

Open a new shell, keeping the previous one open, and export the following

pdcl-vaio3:/# export http_proxy= LISTEN_PORT that you set in server cfg)

pdcl-vaio3:/# export ftp_proxy= LISTEN_PORT that you set in server cfg)

Then start adept

pdcl-vaio3:/# Kdesu adept-manager

(kdesu if you are not running as root or don't have root access)

I’m fairly confident the same process will work in Ubuntu using synaptic, but either flavour can use apt-get etc in the shell.

* For browsing, open konqueror and change the settings under proxy server to local ( and the port you set in server.cfg

There you go, Robert is your mother’s brother, updates through your company’s ISA proxy server.

*I recently tried this on openSuse but no matter what the setting, or combination of settings I couldn't get YaST to work on updates.

*It does, however, work on Fedora with yum, you just need to modify yum.conf and add the local proxy setting in there.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

ntlm and kubuntu7.04

hello ,

I have a problem with kubuntu and apt-get , when i load ./ and
tape sudo apt-get update, i have this :

vieurou@vieurou-desktop:~/ntlmaps-$ ./
NTLM authorization Proxy Server v0.
Copyright (C) 2001-2004 by Dmitry Rozmanov and others.
Now listening at vieurou-desktop on port 8080
Connected from
Connected from
Connected from
Connected from
Connected from
Connected from
Connected from

but i have not dot (before, with kubuntu 6.10, ntml working good, whith the same server.cfg, some of dot appear..)

this is a copy paste of my server.cfg :



# If you want APS to authenticate you at WWW servers using NTLM then just leave this
# value blank like PARENT_PROXY: and APS will connect to web servers directly.
# You can specify more than one proxy by leaving a space
between each one, and
# APS will detect when one fails and automatically fail-over to the next. EG:
#PARENT_PROXY:first_proxy second_proxy third_proxy
# And NOTE that NTLM cannot pass through another proxy server.


# APS will poll the upstream proxy and attempt to fail-over to a new one if it doesn't
# get a response within an appropriate time frame. The amount of time that it will
# wait for a response before attempting fail-over is specified, in seconds, below:

# Set to 1 if you want to grant this authorization service to clients from other computers.
# NOTE: all the users from other hosts that will be using you copy of APS for authentication
# will be using your credentials in NTLM auth at the remote host.

# If you want to allow some other but not all computers to use your proxy for authorization,
# just set ALLOW_EXTERNAL_CLIENTS:0 and put friendly IP addresses here.
# Use space as a delimiter.
# NOTE that special addesses don't work here ( for example).

# Requested URLs are written to "url.log" file. May be useful.

# When a network service listens for connections, there is a maximum number of connection
# attempts to that service that the underlying OS will allow to backlog waiting for a response
# before the OS will start dropping new connection attempts with 'Connection refused'. The
# standard method of determining the maximum number of backlogged connections is to use the
# SOMAXCONN constant, which is supposed to represent the maximum number that an OS will support
# (for example, 5 on Windows 2000 Pro, and 200 on Windows 2000 server). However, because this
# is a statically compiled value in a Python distribution, usually this instead represents the
# the most conservative value (5 on all Windows platforms, and 128 on the GNU/Linux variant I
# tried). So if you are running (for example) a massively threaded/parallel download manager,
# the default value of, say, 5, or whatever SOMAXCONN happens to be set to, may be too low and
# cause some connections to fail. The value below can be set to any integer (it seems that
# Python just silently caps values above the hard limit for the underlying platform), or it can
# be set to the special value of SOMAXCONN (i.e.
# whatever this value happens to be set to in your Python build. Setting this higher than
# necessary may cause APS to consume more memory than you needed to.


# This section describes what and how the server should change in the clients headers.
# Made in order to prevent parent proxy from seeing that you are using wget instead of IE5.5

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,application/, application/msword,application/, */*
#User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
# for windows 2000 emulation Wink
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT5)

# You can uncomment these chages in client's header to mimic IE5+ better, but in this case
# you may expirience problems with *.html if your client does not really handle compression.
Accept-Encoding: gzip, deflate


# Optional value, if leaved blank then APS will use
gethostname() to determine
# host's name.
# NOTE1: If you Linux host name differs from Windows host name then it may be that
# MS server wont recognize you host at all and wont grant you access
# to resources requested. Then you have to use this option and APS will use
# this name in NTLM negotiations.
# NOTE2: There are several reports that you can successfully use "foreign" host name
# here. Say, if user may access a resource from 'host1' and may not from 'host2'
# then there is a chance that APS running on 'host2' with NT_HOSTNAME:host1 will
# be able to be granted access to the restricted resource. However use this on
# you own risk as such a trick may be considered as a hack or something.
NT_HOSTNAME: C008-pc-5216491.afpa-roubaix.local

# Windows Domain.
# NOTE: it is not full qualified internet domain, but windows network domain.
NT_DOMAIN: afpa-roubaix.local

# What user's name to use during authorization. It may differ form real current username.
# If you enable NTLM_TO_BASIC, below, you can either leave this blank or simply
# hash it out.
USER: my_username

# Password. Just leave it blank here and server will request it at the start time,
# or, if you enable NTLM_TO_BASIC, below, you can either leave this blank or simply
# hash it out, and you *won't* be prompted for a password at start time.
PASSWORD: my_password

# These two options replace old FULL_NTLM option.
# NTLM authentication consists virtually of two parts: LM and NT. Windows95/98 use
# only LM part, WindowsNT/2000 can use NT and LM or just NT part.
# Almost always using just LM part will be enough. I had several reports
# about LM and NT requirement and no about just NT.
# So try to setup 1, 1 only if you have enough reasons to do so and when you understand
# what you are doing.
# 0, 0 is an illegal combination
# NOTE: if you change these options then you have to setup flag option accordingly.

# Highly experimental option. See research.txt for details.
# LM - 06820000
# NT - 05820000
# LM + NT - 07820000
NTLM_FLAGS: 06820000

# This option makes APS try to translate NTLM authentication to very usual "Basic"
# scheme. Almost all http clients know it. With this option set to 1 user will be requested
# by his browser to enter his credentials and these username and password will be used by
# APS for NTLM authentication at MS Proxy server or Web server.
# In such a case different users can use one runnig APS with their own credentials.
# NOTE1: currently translation works so it allows only one try for entering
# username/password. If you make a mistake you will have to restart you browser.
# NOTE2: With debug:1 basic username/password will be written in log file in clear
# text format. I could try hide it, but the basic scheme is so weak that anybody
# who had access to APS would be able to get it.


# Set this to 1 if you want to see debug info in many log files. One per connection.

# Set this to 1 to get even more debug info.

# Set this to 1 to see some strange activity on screen. Actually you won't want it.

# Not actually a debug option but gives you some details on authentication process
# into *.auth logs. Also see research.txt.

i have added in terminal
export http_proxy=
export ftp_proxy=

i have edit /etc/apt/apt.conf for add :
Acquire::http::Proxy "";

but nothing works

please help

thank you

ps : sorry for bad english , i'm french

ntlm kubuntu blues


I've compared your cfg with mine and the only differences I can see (apart from users/domains etc) are that you have your LISTEN_PORT and PARENT_PROXY_PORT set with the same value and you have smaller value for timeouts.

I'm using Kubuntu 7.04 and mine works fine through the ISA server here at work.

I don't use Acquire::http::Proxy ""; in apt.conf, I just run
pdcl-vaio3 # export http_proxy=
pdcl-vaio3 # export ftp_proxy=
from terminal before I issue an apt-get.

I use the same version as your NTLM,

I did try setting the ports to the same value as yours and it ran fine.

Can you ping the address of the isa/proxy server set in PARENT_PROXY?

I also set the proxy values in the network settings using kcontrol under "manually specify proxy settings"

The only time I duplicated your error was when I had an invalid repository address but that eventually timed out.

Can you access any websites from konqueror? (after you have set the proxy values in kcontrol)

If you want I can send you my server.cfg and you could just change the values you need and give that a try?

And the last question which perhaps should have been the first, I do everything backwards as my wife keeps telling me, do you still have the problem?


More in Tux Machines


  • Managing OpenStack with Open Source Tools
    Day 2 operations are still dominated by manual and custom individual scripts devised by system administrators. Automation is needed by enterprises. Based on the above analysis, Ansible is a leading open source project with a high number contributions and a diverse community of contributions. Thus Ansible is a well supported and popular open source tool to orchestrate and manage OpenStack.
  • Databricks Weaves Deep Learning into Cloud-Based Spark Platform
    Databricks, a company founded by the creators of the popular open-source Big Data processing engine Apache Spark, is a firm that we've been paying close attention to here at OStatic. We're fans of the company's online courses on Spark, and we recently caught up with Kavitha Mariappan, who is Vice President of Marketing at the company, for a guest post on open source tools and data science. Now, Databricks has announced the addition of deep learning support to its cloud-based Apache Spark platform. The company says this enhancement adds GPU support and integrates popular deep learning libraries to the Databricks' big data platform, extending its capabilities to enable the rapid development of deep learning models. "Data scientists looking to combine deep learning with big data -- whether it's recognizing handwriting, translating speech between languages, or distinguishing between malignant and benign tumors -- can now utilize Databricks for every stage of their workflow, from data wrangling to model tuning," the company reports, adding "Databricks is the first to integrate these diverse workloads in a fast, secure, and easy-to-use Apache Spark platform in the cloud."
  • OpenStack Building the Cloud for the Next 50 Years (and Beyond)
    Two OpenStack Foundation executives talk about what has gone wrong, what has gone right and what's next for the open-source cloud. BARCELONA, Spain—When OpenStack got started in 2010, it was a relatively small effort with only two companies involved. Over the last six years, that situation has changed dramatically with OpenStack now powering telecom, retail and scientific cloud computing platforms for some of the largest organizations in the world.
  • The Myth of the Root Cause: How Complex Web Systems Fail
    Complex systems are intrinsically hazardous systems. While most web systems fortunately don’t put our lives at risk, failures can have serious consequences. Thus, we put countermeasures in place — backup systems, monitoring, DDoS protection, playbooks, GameDay exercises, etc. These measures are intended to provide a series of overlapping protections. Most failure trajectories are successfully blocked by these defenses, or by the system operators themselves.
  • How to assess the benefits of SDN in your network
    Software-defined networking has matured from a science experiment into deployable, enterprise-ready technology in the last several years, with vendors from Big Switch Networks and Pica8 to Hewlett Packard Enterprise and VMware offering services for different use cases. Still, Nemertes Research's 2016 Cloud and Data Center Benchmark survey found a little more than 9% of organizations now deploying SDN in production.

Security News

  • GNU Tar "Pointy Feather" Vulnerability Disclosed (CVE-2016-6321)
    Last week was the disclosure of the Linux kernel's Dirty COW vulnerability while the latest high-profile open-source project going public with a new security CVE is GNU's Tar. Tar CVE-2016-6321 is also called POINTYFEATHER according to the security researchers. The GNU Pointy Feather vulnerability comes down to a pathname bypass on the Tar extraction process. Regardless of the path-name(s) specified on the command-line, the attack allows for file and directory overwrite attacks using specially crafted tar archives.
  • Let’s Encrypt and The Ford Foundation Aim To Create a More Inclusive Web
    Let’s Encrypt was awarded a grant from The Ford Foundation as part of its efforts to financially support its growing operations. This is the first grant that has been awarded to the young nonprofit, a Linux Foundation project which provides free, automated and open SSL certificates to more than 13 million fully-qualified domain names (FQDNs). The grant will help Let’s Encrypt make several improvements, including increased capacity to issue and manage certificates. It also covers costs of work recently done to add support for Internationalized Domain Name certificates. “The people and organizations that Ford Foundation serves often find themselves on the short end of the stick when fighting for change using systems we take for granted, like the Internet,” Michael Brennan, Internet Freedom Program Officer at Ford Foundation, said. “Initiatives like Let’s Encrypt help ensure that all people have the opportunity to leverage the Internet as a force for change.”
  • How security flaws work: SQL injection
    Thirty-one-year-old Laurie Love is currently staring down the possibility of 99 years in prison. After being extradited to the US recently, he stands accused of attacking systems belonging to the US government. The attack was allegedly part of the #OpLastResort hack in 2013, which targeted the US Army, the US Federal Reserve, the FBI, NASA, and the Missile Defense Agency in retaliation over the tragic suicide of Aaron Swartz as the hacktivist infamously awaited trial.
  • How To Build A Strong Security Awareness Program
    At the Security Awareness Summit this August in San Francisco, a video clip was shown that highlights the need to develop holistic security awareness. The segment showed an employee being interviewed as a subject matter expert in his office cubicle. Unfortunately, all his usernames and passwords were on sticky notes behind him, facing the camera and audience for all to see. I bring this story up not to pick on this poor chap but to highlight the fact that security awareness is about human behavior, first and foremost. Understand that point and you are well on your way to building a more secure culture and organization. My work as director of the Security Awareness Training program at the SANS Institute affords me a view across hundreds of organizations and hundreds of thousands of employees trying to build a more secure workforce and society. As we near the end of this year's National Cyber Security Awareness Month, here are two tips to incorporate robust security awareness training into your organization and daily work.

What comes after ‘iptables’? It’s successor, of course: `nftables`

Nftables is a new packet classification framework that aims to replace the existing iptables, ip6tables, arptables and ebtables facilities. It aims to resolve a lot of limitations that exist in the venerable ip/ip6tables tools. The most notable capabilities that nftables offers over the old iptables are: Read more

Linux 4.8.5

I'm announcing the release of the 4.8.5 kernel. All users of the 4.8 kernel series must upgrade. The updated 4.8.y git tree can be found at: git:// linux-4.8.y and can be browsed at the normal git web browser: Read more Also: Linux 4.4.28