API SQLite поддерживает cursor.description, таким образом, Вы можете легко сделать это как это
headers = {}
for record in cursor.fetchall():
if not headers:
headers = dict((desc[0], idx) for idx,desc in cursor.description))
data.append(record[headers['column_name']])
Немного длинный обветренный, но сделали задание. Я заметил, что у них даже есть он в factory.py файле под dict_factory.
Вам придется каким-то образом настроить межсетевой экран компьютера, разрешив только трафик с сервера приложений, например, использование iptables в linux или какой-то персональный файервол в windows.
Тем не менее, вы попадете на территорию serverfault.com - для этого нет программного решения.